| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 | 
							- /*
 
- Language: Stylus
 
- Author: Bryant Williams <[email protected]>
 
- Description: Stylus (https://github.com/LearnBoost/stylus/)
 
- Category: css
 
- */
 
- function(hljs) {
 
-   var VARIABLE = {
 
-     className: 'variable',
 
-     begin: '\\$' + hljs.IDENT_RE
 
-   };
 
-   var HEX_COLOR = {
 
-     className: 'number',
 
-     begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})'
 
-   };
 
-   var AT_KEYWORDS = [
 
-     'charset',
 
-     'css',
 
-     'debug',
 
-     'extend',
 
-     'font-face',
 
-     'for',
 
-     'import',
 
-     'include',
 
-     'media',
 
-     'mixin',
 
-     'page',
 
-     'warn',
 
-     'while'
 
-   ];
 
-   var PSEUDO_SELECTORS = [
 
-     'after',
 
-     'before',
 
-     'first-letter',
 
-     'first-line',
 
-     'active',
 
-     'first-child',
 
-     'focus',
 
-     'hover',
 
-     'lang',
 
-     'link',
 
-     'visited'
 
-   ];
 
-   var TAGS = [
 
-     'a',
 
-     'abbr',
 
-     'address',
 
-     'article',
 
-     'aside',
 
-     'audio',
 
-     'b',
 
-     'blockquote',
 
-     'body',
 
-     'button',
 
-     'canvas',
 
-     'caption',
 
-     'cite',
 
-     'code',
 
-     'dd',
 
-     'del',
 
-     'details',
 
-     'dfn',
 
-     'div',
 
-     'dl',
 
-     'dt',
 
-     'em',
 
-     'fieldset',
 
-     'figcaption',
 
-     'figure',
 
-     'footer',
 
-     'form',
 
-     'h1',
 
-     'h2',
 
-     'h3',
 
-     'h4',
 
-     'h5',
 
-     'h6',
 
-     'header',
 
-     'hgroup',
 
-     'html',
 
-     'i',
 
-     'iframe',
 
-     'img',
 
-     'input',
 
-     'ins',
 
-     'kbd',
 
-     'label',
 
-     'legend',
 
-     'li',
 
-     'mark',
 
-     'menu',
 
-     'nav',
 
-     'object',
 
-     'ol',
 
-     'p',
 
-     'q',
 
-     'quote',
 
-     'samp',
 
-     'section',
 
-     'span',
 
-     'strong',
 
-     'summary',
 
-     'sup',
 
-     'table',
 
-     'tbody',
 
-     'td',
 
-     'textarea',
 
-     'tfoot',
 
-     'th',
 
-     'thead',
 
-     'time',
 
-     'tr',
 
-     'ul',
 
-     'var',
 
-     'video'
 
-   ];
 
-   var TAG_END = '[\\.\\s\\n\\[\\:,]';
 
-   var ATTRIBUTES = [
 
-     'align-content',
 
-     'align-items',
 
-     'align-self',
 
-     'animation',
 
-     'animation-delay',
 
-     'animation-direction',
 
-     'animation-duration',
 
-     'animation-fill-mode',
 
-     'animation-iteration-count',
 
-     'animation-name',
 
-     'animation-play-state',
 
-     'animation-timing-function',
 
-     'auto',
 
-     'backface-visibility',
 
-     'background',
 
-     'background-attachment',
 
-     'background-clip',
 
-     'background-color',
 
-     'background-image',
 
-     'background-origin',
 
-     'background-position',
 
-     'background-repeat',
 
-     'background-size',
 
-     'border',
 
-     'border-bottom',
 
-     'border-bottom-color',
 
-     'border-bottom-left-radius',
 
-     'border-bottom-right-radius',
 
-     'border-bottom-style',
 
-     'border-bottom-width',
 
-     'border-collapse',
 
-     'border-color',
 
-     'border-image',
 
-     'border-image-outset',
 
-     'border-image-repeat',
 
-     'border-image-slice',
 
-     'border-image-source',
 
-     'border-image-width',
 
-     'border-left',
 
-     'border-left-color',
 
-     'border-left-style',
 
-     'border-left-width',
 
-     'border-radius',
 
-     'border-right',
 
-     'border-right-color',
 
-     'border-right-style',
 
-     'border-right-width',
 
-     'border-spacing',
 
-     'border-style',
 
-     'border-top',
 
-     'border-top-color',
 
-     'border-top-left-radius',
 
-     'border-top-right-radius',
 
-     'border-top-style',
 
-     'border-top-width',
 
-     'border-width',
 
-     'bottom',
 
-     'box-decoration-break',
 
-     'box-shadow',
 
-     'box-sizing',
 
-     'break-after',
 
-     'break-before',
 
-     'break-inside',
 
-     'caption-side',
 
-     'clear',
 
-     'clip',
 
-     'clip-path',
 
-     'color',
 
-     'column-count',
 
-     'column-fill',
 
-     'column-gap',
 
-     'column-rule',
 
-     'column-rule-color',
 
-     'column-rule-style',
 
-     'column-rule-width',
 
-     'column-span',
 
-     'column-width',
 
-     'columns',
 
-     'content',
 
-     'counter-increment',
 
-     'counter-reset',
 
-     'cursor',
 
-     'direction',
 
-     'display',
 
-     'empty-cells',
 
-     'filter',
 
-     'flex',
 
-     'flex-basis',
 
-     'flex-direction',
 
-     'flex-flow',
 
-     'flex-grow',
 
-     'flex-shrink',
 
-     'flex-wrap',
 
-     'float',
 
-     'font',
 
-     'font-family',
 
-     'font-feature-settings',
 
-     'font-kerning',
 
-     'font-language-override',
 
-     'font-size',
 
-     'font-size-adjust',
 
-     'font-stretch',
 
-     'font-style',
 
-     'font-variant',
 
-     'font-variant-ligatures',
 
-     'font-weight',
 
-     'height',
 
-     'hyphens',
 
-     'icon',
 
-     'image-orientation',
 
-     'image-rendering',
 
-     'image-resolution',
 
-     'ime-mode',
 
-     'inherit',
 
-     'initial',
 
-     'justify-content',
 
-     'left',
 
-     'letter-spacing',
 
-     'line-height',
 
-     'list-style',
 
-     'list-style-image',
 
-     'list-style-position',
 
-     'list-style-type',
 
-     'margin',
 
-     'margin-bottom',
 
-     'margin-left',
 
-     'margin-right',
 
-     'margin-top',
 
-     'marks',
 
-     'mask',
 
-     'max-height',
 
-     'max-width',
 
-     'min-height',
 
-     'min-width',
 
-     'nav-down',
 
-     'nav-index',
 
-     'nav-left',
 
-     'nav-right',
 
-     'nav-up',
 
-     'none',
 
-     'normal',
 
-     'object-fit',
 
-     'object-position',
 
-     'opacity',
 
-     'order',
 
-     'orphans',
 
-     'outline',
 
-     'outline-color',
 
-     'outline-offset',
 
-     'outline-style',
 
-     'outline-width',
 
-     'overflow',
 
-     'overflow-wrap',
 
-     'overflow-x',
 
-     'overflow-y',
 
-     'padding',
 
-     'padding-bottom',
 
-     'padding-left',
 
-     'padding-right',
 
-     'padding-top',
 
-     'page-break-after',
 
-     'page-break-before',
 
-     'page-break-inside',
 
-     'perspective',
 
-     'perspective-origin',
 
-     'pointer-events',
 
-     'position',
 
-     'quotes',
 
-     'resize',
 
-     'right',
 
-     'tab-size',
 
-     'table-layout',
 
-     'text-align',
 
-     'text-align-last',
 
-     'text-decoration',
 
-     'text-decoration-color',
 
-     'text-decoration-line',
 
-     'text-decoration-style',
 
-     'text-indent',
 
-     'text-overflow',
 
-     'text-rendering',
 
-     'text-shadow',
 
-     'text-transform',
 
-     'text-underline-position',
 
-     'top',
 
-     'transform',
 
-     'transform-origin',
 
-     'transform-style',
 
-     'transition',
 
-     'transition-delay',
 
-     'transition-duration',
 
-     'transition-property',
 
-     'transition-timing-function',
 
-     'unicode-bidi',
 
-     'vertical-align',
 
-     'visibility',
 
-     'white-space',
 
-     'widows',
 
-     'width',
 
-     'word-break',
 
-     'word-spacing',
 
-     'word-wrap',
 
-     'z-index'
 
-   ];
 
-   // illegals
 
-   var ILLEGAL = [
 
-     '\\?',
 
-     '(\\bReturn\\b)', // monkey
 
-     '(\\bEnd\\b)', // monkey
 
-     '(\\bend\\b)', // vbscript
 
-     '(\\bdef\\b)', // gradle
 
-     ';', // a whole lot of languages
 
-     '#\\s', // markdown
 
-     '\\*\\s', // markdown
 
-     '===\\s', // markdown
 
-     '\\|',
 
-     '%', // prolog
 
-   ];
 
-   return {
 
-     aliases: ['styl'],
 
-     case_insensitive: false,
 
-     keywords: 'if else for in',
 
-     illegal: '(' + ILLEGAL.join('|') + ')',
 
-     contains: [
 
-       // strings
 
-       hljs.QUOTE_STRING_MODE,
 
-       hljs.APOS_STRING_MODE,
 
-       // comments
 
-       hljs.C_LINE_COMMENT_MODE,
 
-       hljs.C_BLOCK_COMMENT_MODE,
 
-       // hex colors
 
-       HEX_COLOR,
 
-       // class tag
 
-       {
 
-         begin: '\\.[a-zA-Z][a-zA-Z0-9_-]*' + TAG_END,
 
-         returnBegin: true,
 
-         contains: [
 
-           {className: 'selector-class', begin: '\\.[a-zA-Z][a-zA-Z0-9_-]*'}
 
-         ]
 
-       },
 
-       // id tag
 
-       {
 
-         begin: '\\#[a-zA-Z][a-zA-Z0-9_-]*' + TAG_END,
 
-         returnBegin: true,
 
-         contains: [
 
-           {className: 'selector-id', begin: '\\#[a-zA-Z][a-zA-Z0-9_-]*'}
 
-         ]
 
-       },
 
-       // tags
 
-       {
 
-         begin: '\\b(' + TAGS.join('|') + ')' + TAG_END,
 
-         returnBegin: true,
 
-         contains: [
 
-           {className: 'selector-tag', begin: '\\b[a-zA-Z][a-zA-Z0-9_-]*'}
 
-         ]
 
-       },
 
-       // psuedo selectors
 
-       {
 
-         begin: '&?:?:\\b(' + PSEUDO_SELECTORS.join('|') + ')' + TAG_END
 
-       },
 
-       // @ keywords
 
-       {
 
-         begin: '\@(' + AT_KEYWORDS.join('|') + ')\\b'
 
-       },
 
-       // variables
 
-       VARIABLE,
 
-       // dimension
 
-       hljs.CSS_NUMBER_MODE,
 
-       // number
 
-       hljs.NUMBER_MODE,
 
-       // functions
 
-       //  - only from beginning of line + whitespace
 
-       {
 
-         className: 'function',
 
-         begin: '^[a-zA-Z][a-zA-Z0-9_\-]*\\(.*\\)',
 
-         illegal: '[\\n]',
 
-         returnBegin: true,
 
-         contains: [
 
-           {className: 'title', begin: '\\b[a-zA-Z][a-zA-Z0-9_\-]*'},
 
-           {
 
-             className: 'params',
 
-             begin: /\(/,
 
-             end: /\)/,
 
-             contains: [
 
-               HEX_COLOR,
 
-               VARIABLE,
 
-               hljs.APOS_STRING_MODE,
 
-               hljs.CSS_NUMBER_MODE,
 
-               hljs.NUMBER_MODE,
 
-               hljs.QUOTE_STRING_MODE
 
-             ]
 
-           }
 
-         ]
 
-       },
 
-       // attributes
 
-       //  - only from beginning of line + whitespace
 
-       //  - must have whitespace after it
 
-       {
 
-         className: 'attribute',
 
-         begin: '\\b(' + ATTRIBUTES.reverse().join('|') + ')\\b',
 
-         starts: {
 
-           // value container
 
-           end: /;|$/,
 
-           contains: [
 
-             HEX_COLOR,
 
-             VARIABLE,
 
-             hljs.APOS_STRING_MODE,
 
-             hljs.QUOTE_STRING_MODE,
 
-             hljs.CSS_NUMBER_MODE,
 
-             hljs.NUMBER_MODE,
 
-             hljs.C_BLOCK_COMMENT_MODE
 
-           ],
 
-           illegal: /\./,
 
-           relevance: 0
 
-         }
 
-       }
 
-     ]
 
-   };
 
- }
 
 
  |