1<?php 2/************************************************************************************* 3 * sass.php 4 * ------- 5 * Author: Javier Eguiluz (javier.eguiluz@gmail.com) 6 * Copyright: (c) 2014 Javier Eguiluz (javier.eguiluz@gmail.com) 7 * Release Version: 1.0.9.1 8 * Date Started: 2014/05/10 9 * 10 * SASS language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2014/05/10 (1.0.0) 15 * - First Release 16 * 17 ************************************************************************************* 18 * 19 * This file is part of GeSHi. 20 * 21 * GeSHi is free software; you can redistribute it and/or modify 22 * it under the terms of the GNU General Public License as published by 23 * the Free Software Foundation; either version 2 of the License, or 24 * (at your option) any later version. 25 * 26 * GeSHi is distributed in the hope that it will be useful, 27 * but WITHOUT ANY WARRANTY; without even the implied warranty of 28 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 29 * GNU General Public License for more details. 30 * 31 * You should have received a copy of the GNU General Public License 32 * along with GeSHi; if not, write to the Free Software 33 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 34 * 35 ************************************************************************************/ 36 37$language_data = array( 38 'LANG_NAME' => 'Sass', 39 'COMMENT_SINGLE' => array(1 => '//'), 40 'COMMENT_MULTI' => array('/*' => '*/'), 41 'COMMENT_REGEXP' => array(), 42 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 43 'QUOTEMARKS' => array('"', "'"), 44 'ESCAPE_CHAR' => '', 45 'ESCAPE_REGEXP' => array(), 46 'NUMBERS' => 47 GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO, 48 'KEYWORDS' => array( 49 // properties 50 1 => array( 51 'azimuth', 52 'background-attachment', 53 'background-color', 54 'background-image', 55 'background-position', 56 'background-repeat', 57 'background', 58 'border-bottom-color', 59 'border-radius', 60 'border-top-left-radius', 61 'border-top-right-radius', 62 'border-bottom-right-radius', 63 'border-bottom-left-radius', 64 'border-bottom-style', 65 'border-bottom-width', 66 'border-left-color', 67 'border-left-style', 68 'border-left-width', 69 'border-right', 70 'border-right-color', 71 'border-right-style', 72 'border-right-width', 73 'border-top-color', 74 'border-top-style', 75 'border-top-width', 76 'border-bottom', 77 'border-collapse', 78 'border-left', 79 'border-width', 80 'border-color', 81 'border-spacing', 82 'border-style', 83 'border-top', 84 'border', 85 'box-shadow', 86 'caption-side', 87 'clear', 88 'clip', 89 'color', 90 'content', 91 'counter-increment', 92 'counter-reset', 93 'cue-after', 94 'cue-before', 95 'cue', 96 'cursor', 97 'direction', 98 'display', 99 'elevation', 100 'empty-cells', 101 'float', 102 'font-family', 103 'font-size', 104 'font-size-adjust', 105 'font-stretch', 106 'font-style', 107 'font-variant', 108 'font-weight', 109 'font', 110 'line-height', 111 'letter-spacing', 112 'list-style', 113 'list-style-image', 114 'list-style-position', 115 'list-style-type', 116 'margin-bottom', 117 'margin-left', 118 'margin-right', 119 'margin-top', 120 'margin', 121 'marker-offset', 122 'marks', 123 'max-height', 124 'max-width', 125 'min-height', 126 'min-width', 127 'orphans', 128 'outline', 129 'outline-color', 130 'outline-style', 131 'outline-width', 132 'overflow', 133 'padding-bottom', 134 'padding-left', 135 'padding-right', 136 'padding-top', 137 'padding', 138 'page', 139 'page-break-after', 140 'page-break-before', 141 'page-break-inside', 142 'pause-after', 143 'pause-before', 144 'pause', 145 'pitch', 146 'pitch-range', 147 'play-during', 148 'position', 149 'quotes', 150 'richness', 151 'right', 152 'size', 153 'speak-header', 154 'speak-numeral', 155 'speak-punctuation', 156 'speak', 157 'speech-rate', 158 'stress', 159 'table-layout', 160 'text-align', 161 'text-decoration', 162 'text-indent', 163 'text-shadow', 164 'text-transform', 165 'top', 166 'unicode-bidi', 167 'vertical-align', 168 'visibility', 169 'voice-family', 170 'volume', 171 'white-space', 172 'widows', 173 'width', 174 'word-spacing', 175 'z-index', 176 'bottom', 177 'left', 178 'height', 179 // media queries 180 'screen', 181 'orientation', 182 'min-device-width', 183 'max-device-width', 184 ), 185 // reserved words for values 186 2 => array( 187 // colors 188 'aqua', 189 'black', 190 'blue', 191 'fuchsia', 192 'gray', 193 'green', 194 'lime', 195 'maroon', 196 'navy', 197 'olive', 198 'orange', 199 'purple', 200 'red', 201 'silver', 202 'teal', 203 'white', 204 'yellow', 205 // media queries 206 'landscape', 207 'portrait', 208 // other 209 'above', 210 'absolute', 211 'always', 212 'armenian', 213 'aural', 214 'auto', 215 'avoid', 216 'baseline', 217 'behind', 218 'below', 219 'bidi-override', 220 'blink', 221 'block', 222 'bold', 223 'bolder', 224 'both', 225 'capitalize', 226 'center-left', 227 'center-right', 228 'center', 229 'circle', 230 'cjk-ideographic', 231 'close-quote', 232 'collapse', 233 'condensed', 234 'continuous', 235 'crop', 236 'crosshair', 237 'cross', 238 'cursive', 239 'dashed', 240 'decimal-leading-zero', 241 'decimal', 242 'default', 243 'digits', 244 'disc', 245 'dotted', 246 'double', 247 'e-resize', 248 'embed', 249 'extra-condensed', 250 'extra-expanded', 251 'expanded', 252 'fantasy', 253 'far-left', 254 'far-right', 255 'faster', 256 'fast', 257 'fixed', 258 'georgian', 259 'groove', 260 'hebrew', 261 'help', 262 'hidden', 263 'hide', 264 'higher', 265 'high', 266 'hiragana-iroha', 267 'hiragana', 268 'icon', 269 'inherit', 270 'inline-table', 271 'inline', 272 'inline-block', 273 'inset', 274 'inside', 275 'italic', 276 'justify', 277 'katakana-iroha', 278 'katakana', 279 'larger', 280 'large', 281 'left-side', 282 'leftwards', 283 'level', 284 'lighter', 285 'line-through', 286 'list-item', 287 'loud', 288 'lower-alpha', 289 'lower-greek', 290 'lower-roman', 291 'lowercase', 292 'ltr', 293 'lower', 294 'low', 295 'medium', 296 'message-box', 297 'middle', 298 'monospace', 299 'n-resize', 300 'narrower', 301 'ne-resize', 302 'no-close-quote', 303 'no-open-quote', 304 'no-repeat', 305 'none', 306 'normal', 307 'nowrap', 308 'nw-resize', 309 'oblique', 310 'once', 311 'open-quote', 312 'outset', 313 'outside', 314 'overline', 315 'pointer', 316 'px', 317 'relative', 318 'repeat-x', 319 'repeat-y', 320 'repeat', 321 'ridge', 322 'right-side', 323 'rightwards', 324 's-resize', 325 'sans-serif', 326 'scroll', 327 'se-resize', 328 'semi-condensed', 329 'semi-expanded', 330 'separate', 331 'serif', 332 'show', 333 'silent', 334 'slow', 335 'slower', 336 'small-caps', 337 'small-caption', 338 'smaller', 339 'soft', 340 'solid', 341 'spell-out', 342 'square', 343 'static', 344 'status-bar', 345 'super', 346 'sw-resize', 347 'table-caption', 348 'table-cell', 349 'table-column', 350 'table-column-group', 351 'table-footer-group', 352 'table-header-group', 353 'table-row', 354 'table-row-group', 355 'text', 356 'text-bottom', 357 'text-top', 358 'thick', 359 'thin', 360 'transparent', 361 'ultra-condensed', 362 'ultra-expanded', 363 'underline', 364 'upper-alpha', 365 'upper-latin', 366 'upper-roman', 367 'uppercase', 368 'url', 369 'visible', 370 'w-resize', 371 'wait', 372 'wider', 373 'x-fast', 374 'x-high', 375 'x-large', 376 'x-loud', 377 'x-low', 378 'x-small', 379 'x-soft', 380 'xx-large', 381 'xx-small', 382 'yes' 383 ), 384 // directives 385 3 => array( 386 '@at-root', 387 '@charset', 388 '@content', 389 '@debug', 390 '@each', 391 '@else', 392 '@elseif', 393 '@else if', 394 '@extend', 395 '@font-face', 396 '@for', 397 '@function', 398 '@if', 399 '@import', 400 '@include', 401 '@media', 402 '@mixin', 403 '@namespace', 404 '@page', 405 '@return', 406 '@warn', 407 '@while', 408 ), 409 // built-in Sass functions 410 4 => array( 411 'rgb', 412 'rgba', 413 'mix', 414 'hsl', 415 'hsla', 416 'hue', 417 'saturation', 418 'lightness', 419 'adjust-hue', 420 'lighten', 421 'darken', 422 'saturate', 423 'desaturate', 424 'grayscale', 425 'complement', 426 'invert', 427 'alpha', 428 'opacify', 429 'transparentize', 430 'adjust-color', 431 'scale-color', 432 'change-color', 433 'ie-hex-str', 434 'unquote', 435 'quote', 436 'str-length', 437 'str-insert', 438 'str-index', 439 'str-slice', 440 'to-upper-case', 441 'to-lower-case', 442 'percentage', 443 'round', 444 'ceil', 445 'floor', 446 'abs', 447 'min', 448 'max', 449 'random', 450 'length', 451 'nth', 452 'join', 453 'append', 454 'zip', 455 'index', 456 'list-separator', 457 'map-get', 458 'map-merge', 459 'map-remove', 460 'map-keys', 461 'map-values', 462 'map-has-key', 463 'keywords', 464 'feature-exists', 465 'variable-exists', 466 'global-variable-exists', 467 'function-exists', 468 'mixin-exists', 469 'inspect', 470 'type-of', 471 'unit', 472 'unitless', 473 'comparable', 474 'call', 475 'if', 476 'unique-id', 477 ), 478 // reserved words 479 5 => array( 480 '!important', 481 '!default', 482 '!optional', 483 'true', 484 'false', 485 'with', 486 'without', 487 'null', 488 'from', 489 'through', 490 'to', 491 'in', 492 'and', 493 'or', 494 'only', 495 'not', 496 ), 497 ), 498 'SYMBOLS' => array( 499 '(', 500 ')', 501 '{', 502 '}', 503 ':', 504 ';', 505 '>', 506 '+', 507 '*', 508 ',', 509 '^', 510 '=', 511 '&', 512 '~', 513 '!', 514 '%', 515 '?', 516 '...', 517 ), 518 'CASE_SENSITIVE' => array( 519 GESHI_COMMENTS => false, 520 1 => false, 521 2 => false, 522 3 => false, 523 4 => false, 524 5 => false, 525 ), 526 'STYLES' => array( 527 'KEYWORDS' => array( 528 1 => 'color: #000000; font-weight: bold;', 529 2 => 'color: #993333;', 530 3 => 'color: #990000;', 531 4 => 'color: #000000; font-weight: bold;', 532 5 => 'color: #009900;', 533 ), 534 'COMMENTS' => array( 535 1 => 'color: #006600; font-style: italic;', 536 'MULTI' => 'color: #006600; font-style: italic;' 537 ), 538 'ESCAPE_CHAR' => array(), 539 'BRACKETS' => array( 540 0 => 'color: #00AA00;' 541 ), 542 'STRINGS' => array( 543 0 => 'color: #ff0000;' 544 ), 545 'NUMBERS' => array( 546 0 => 'color: #cc66cc;' 547 ), 548 'METHODS' => array(), 549 'SYMBOLS' => array( 550 0 => 'color: #00AA00;' 551 ), 552 'SCRIPT' => array(), 553 'REGEXPS' => array( 554 0 => 'color: #cc00cc;', 555 1 => 'color: #6666ff;', 556 2 => 'color: #3333ff;', 557 3 => 'color: #933;', 558 4 => 'color: #ff6633;', 559 5 => 'color: #0066ff;', 560 ) 561 ), 562 'URLS' => array( 563 1 => '', 564 2 => '', 565 3 => '', 566 4 => '', 567 5 => '', 568 ), 569 'OOLANG' => false, 570 'OBJECT_SPLITTERS' => array(), 571 'REGEXPS' => array( 572 // Variables 573 0 => "[$][a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*", 574 // Hexadecimal colors 575 1 => "\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})", 576 // CSS Pseudo classes 577 // note: & is needed for > (i.e. > ) 578 2 => "(?<!\\\\):(?!\d)[a-zA-Z0-9\-]+\b(?:\s*(?=[\{\.#a-zA-Z,:+*&](.|\n)|<\|))", 579 // Measurements 580 3 => "[+\-]?(\d+|(\d*\.\d+))(em|ex|pt|px|cm|in|%)", 581 // Interpolation 582 4 => "(\#\{.*\})", 583 // Browser prefixed properties 584 5 => "(\-(moz|ms|o|webkit)\-[a-z\-]*)", 585 ), 586 'STRICT_MODE_APPLIES' => GESHI_NEVER, 587 'SCRIPT_DELIMITERS' => array(), 588 'HIGHLIGHT_STRICT_BLOCK' => array(), 589 'TAB_WIDTH' => 2, 590); 591