//Language: LESS

// tokens
Token=tnone
Token=tcssstring
Token=tcsscomment
Token=tcssinteger
Token=tcssfloat
Token=tcssresword
Token=tcssbracket
Token=tcssselector
Token=tcssproperty
Token=tcssvalue
Token=tcsssymbol
Token=tcssonelinerule
Token=tcssembedrules
Token=turl
Token=twhitespace


// states
State=scssstyle
State=scssvalue
State=scssstring1
State=scssstring2
State=scsscomment1
State=scsscomment2
State=scssatonelinerule
State=scssembedrules
State=scssurl


//delims
Delimiters=-;.,:'"{}[]()?!@#$%^&*+=|\/

//idents
scssstyle  \-                             scssstyle   tcsssymbol
scssstyle  [A-Z_a-z][0-9A-Z_a-z\-]*       scssstyle   tcssproperty
scssstyle  [\-]*[A-Z_a-z][0-9A-Z_a-z\-]*  scssstyle   tcssproperty
scssvalue  [A-Z_a-z][0-9A-Z_a-z\-]*       scssvalue   tcssvalue

//embedrules
scssembedrules [^\{]*               scssembedrules tcssembedrules
scssembedrules \{                   scssstyle  tcssbracket

//parameters, values
scssstyle \(                        scssvalue  tcsssymbol

//brackets
scssstyle \{                        scssstyle  tcssbracket
scssvalue \{                        scssstyle  tcssbracket

//white space
scssstyle #32*                      scssstyle     tcsssymbol
scssvalue #32*                      scssvalue     tcsssymbol

//Common
scssstyle  \}                       scssstyle  tcssbracket
scssvalue  \}                       scssstyle  tcssbracket
scssstyle :                         scssvalue   tcsssymbol
scssvalue  \;                       scssstyle   tcsssymbol

// urls
scssvalue url(                      scssurl    tcssvalue
scssurl )                           scssvalue  tcssvalue
scssurl [^)]*                       scssurl    tcssvalue

//  symbols
scssvalue  [=~!@$%|&,\<\>\^\)\(\-\+\*\[\]\.\?\/] scssvalue  tcsssymbol
scssstyle  [=~!@$%|&,\<\>\^\)\+\[\]\.\?\/]     scssstyle tcsssymbol
scssstyle \*                           scssstyle tcssselector
scssstyle \.[a-z_A-Z]+[a-z_A-Z0-9\-]*  scssstyle tcssselector    
scssstyle \#[a-z_A-Z]+[a-z_A-Z0-9\-]*  scssstyle tcssselector
scssstyle \[[^\]]*\]                   scssstyle tcssselector

//import, charset, namespace
scssstyle  @import                  scssatonelinerule  tcssonelinerule
scssstyle  @charset                 scssatonelinerule  tcssonelinerule
scssstyle  @namespace               scssatonelinerule  tcssonelinerule
scssatonelinerule [^;]*             scssatonelinerule  tcssonelinerule
scssatonelinerule $                 scssstyle  tcssonelinerule
scssatonelinerule ;                 scssstyle  tcssonelinerule

//css conditional
scssstyle  @-moz-document           scssembedrules   tcssembedrules
scssstyle  @-o-keyframes            scssembedrules   tcssembedrules
scssstyle  @-webkit-keyframes       scssembedrules   tcssembedrules
scssstyle  @-moz-keyframes          scssembedrules   tcssembedrules
scssstyle  @-ms-keyframes           scssembedrules   tcssembedrules
scssstyle  @keyframes               scssembedrules   tcssembedrules
scssstyle  @supports                scssembedrules   tcssembedrules
scssstyle  @document                scssembedrules   tcssembedrules
scssstyle  @media                   scssembedrules   tcssembedrules
scssstyle  @font-face               scssembedrules   tcssembedrules

// selector reswords

scssstyle  :active                  scssstyle tcssselector
scssstyle  :checked                 scssstyle tcssselector
scssstyle  :disabled                scssstyle tcssselector
scssstyle  :empty                   scssstyle tcssselector
scssstyle  :enabled                 scssstyle tcssselector
scssstyle  :first-child             scssstyle tcssselector
scssstyle  :first-of-type           scssstyle tcssselector
scssstyle  :focus                   scssstyle tcssselector
scssstyle  :hover                   scssstyle tcssselector
scssstyle  :lang                    scssstyle tcssselector
scssstyle  :last-child              scssstyle tcssselector
scssstyle  :last-of-type            scssstyle tcssselector
scssstyle  :link                    scssstyle tcssselector
scssstyle  :not                     scssstyle tcssselector
scssstyle  :nth-child               scssstyle tcssselector
scssstyle  :nth-last-child          scssstyle tcssselector
scssstyle  :nth-last-of-type        scssstyle tcssselector
scssstyle  :nth-of-type             scssstyle tcssselector
scssstyle  :only-child              scssstyle tcssselector
scssstyle  :only-of-type            scssstyle tcssselector
scssstyle  :root                    scssstyle tcssselector
scssstyle  :target                  scssstyle tcssselector
scssstyle  :visited                 scssstyle tcssselector
scssstyle  :after                   scssstyle tcssselector
scssstyle  :before                  scssstyle tcssselector
scssstyle  :first-letter            scssstyle tcssselector
scssstyle  :first-line              scssstyle tcssselector
scssstyle  ::after                  scssstyle tcssselector
scssstyle  ::before                 scssstyle tcssselector
scssstyle  ::first-letter           scssstyle tcssselector
scssstyle  ::first-line             scssstyle tcssselector
scssstyle  :after                   scssstyle tcssselector
scssstyle  :before                  scssstyle tcssselector

// reswords
//@@@CSS
scssstyle  'azimuth'                scssstyle tcssresword
scssstyle  'background'             scssstyle tcssresword
scssstyle  'background-attachment'  scssstyle tcssresword
scssstyle  'background-color'       scssstyle tcssresword
scssstyle  'background-image'       scssstyle tcssresword
scssstyle  'background-position'    scssstyle tcssresword
scssstyle  'background-repeat'      scssstyle tcssresword
scssstyle  'border'                 scssstyle tcssresword
scssstyle  'border-bottom'          scssstyle tcssresword
scssstyle  'border-bottom-color'    scssstyle tcssresword
scssstyle  'border-bottom-style'    scssstyle tcssresword
scssstyle  'border-bottom-width'    scssstyle tcssresword
scssstyle  'border-collapse'        scssstyle tcssresword
scssstyle  'border-color'           scssstyle tcssresword
scssstyle  'border-left'            scssstyle tcssresword
scssstyle  'border-left-color'      scssstyle tcssresword
scssstyle  'border-left-style'      scssstyle tcssresword
scssstyle  'border-left-width'      scssstyle tcssresword
scssstyle  'border-right'           scssstyle tcssresword
scssstyle  'border-right-color'     scssstyle tcssresword
scssstyle  'border-right-style'     scssstyle tcssresword
scssstyle  'border-right-width'     scssstyle tcssresword
scssstyle  'border-spacing'         scssstyle tcssresword
scssstyle  'border-style'           scssstyle tcssresword
scssstyle  'border-top'             scssstyle tcssresword
scssstyle  'border-top-color'       scssstyle tcssresword
scssstyle  'border-top-style'       scssstyle tcssresword
scssstyle  'border-top-width'       scssstyle tcssresword
scssstyle  'border-width'           scssstyle tcssresword
scssstyle  'bottom'                 scssstyle tcssresword
scssstyle  'caption-side'           scssstyle tcssresword
scssstyle  'clear'                  scssstyle tcssresword
scssstyle  'clip'                   scssstyle tcssresword
scssstyle  'color'                  scssstyle tcssresword
scssstyle  'content'                scssstyle tcssresword
scssstyle  'counter-increment'      scssstyle tcssresword
scssstyle  'counter-reset'          scssstyle tcssresword
scssstyle  'cue'                    scssstyle tcssresword
scssstyle  'cue-after'              scssstyle tcssresword
scssstyle  'cue-before'             scssstyle tcssresword
scssstyle  'cursor'                 scssstyle tcssresword
scssstyle  'direction'              scssstyle tcssresword
scssstyle  'display'                scssstyle tcssresword
scssstyle  'elevation'              scssstyle tcssresword
scssstyle  'empty-cells'            scssstyle tcssresword
scssstyle  'float'                  scssstyle tcssresword
scssstyle  'font'                   scssstyle tcssresword
scssstyle  'font-family'            scssstyle tcssresword
scssstyle  'font-size'              scssstyle tcssresword
scssstyle  'font-size-adjust'       scssstyle tcssresword
scssstyle  'font-stretch'           scssstyle tcssresword
scssstyle  'font-style'             scssstyle tcssresword
scssstyle  'font-variant'           scssstyle tcssresword
scssstyle  'font-weight'            scssstyle tcssresword
scssstyle  'height'                 scssstyle tcssresword
scssstyle  'left'                   scssstyle tcssresword
scssstyle  'letter-spacing'         scssstyle tcssresword
scssstyle  'line-height'            scssstyle tcssresword
scssstyle  'list-style'             scssstyle tcssresword
scssstyle  'list-style-image'       scssstyle tcssresword
scssstyle  'list-style-position'    scssstyle tcssresword
scssstyle  'list-style-type'        scssstyle tcssresword
scssstyle  'margin'                 scssstyle tcssresword
scssstyle  'margin-bottom'          scssstyle tcssresword
scssstyle  'margin-left'            scssstyle tcssresword
scssstyle  'margin-right'           scssstyle tcssresword
scssstyle  'margin-top'             scssstyle tcssresword
scssstyle  'marker-offset'          scssstyle tcssresword
scssstyle  'marks'                  scssstyle tcssresword
scssstyle  'max-height'             scssstyle tcssresword
scssstyle  'max-width'              scssstyle tcssresword
scssstyle  'min-height'             scssstyle tcssresword
scssstyle  'min-width'              scssstyle tcssresword
scssstyle  'orphans'                scssstyle tcssresword
scssstyle  'outline'                scssstyle tcssresword
scssstyle  'outline-color'          scssstyle tcssresword
scssstyle  'outline-style'          scssstyle tcssresword
scssstyle  'outline-width'          scssstyle tcssresword
scssstyle  'overflow'               scssstyle tcssresword
scssstyle  'padding'                scssstyle tcssresword
scssstyle  'padding-bottom'         scssstyle tcssresword
scssstyle  'padding-left'           scssstyle tcssresword
scssstyle  'padding-right'          scssstyle tcssresword
scssstyle  'padding-top'            scssstyle tcssresword
scssstyle  'page'                   scssstyle tcssresword
scssstyle  'page-break-after'       scssstyle tcssresword
scssstyle  'page-break-before'      scssstyle tcssresword
scssstyle  'page-break-inside'      scssstyle tcssresword
scssstyle  'pause'                  scssstyle tcssresword
scssstyle  'pause-after'            scssstyle tcssresword
scssstyle  'pause-before'           scssstyle tcssresword
scssstyle  'pitch'                  scssstyle tcssresword
scssstyle  'pitch-range'            scssstyle tcssresword
scssstyle  'play-during'            scssstyle tcssresword
scssstyle  'position'               scssstyle tcssresword
scssstyle  'quotes'                 scssstyle tcssresword
scssstyle  'richness'               scssstyle tcssresword
scssstyle  'right'                  scssstyle tcssresword
scssstyle  'size'                   scssstyle tcssresword
scssstyle  'speak'                  scssstyle tcssresword
scssstyle  'speak-header'           scssstyle tcssresword
scssstyle  'speak-numeral'          scssstyle tcssresword
scssstyle  'speak-punctuation'      scssstyle tcssresword
scssstyle  'speech-rate'            scssstyle tcssresword
scssstyle  'stress'                 scssstyle tcssresword
scssstyle  'table-layout'           scssstyle tcssresword
scssstyle  'text-align'             scssstyle tcssresword
scssstyle  'text-decoration'        scssstyle tcssresword
scssstyle  'text-indent'            scssstyle tcssresword
scssstyle  'text-shadow'            scssstyle tcssresword
scssstyle  'text-transform'         scssstyle tcssresword
scssstyle  'top'                    scssstyle tcssresword
scssstyle  'unicode-bidi'           scssstyle tcssresword
scssstyle  'vertical-align'         scssstyle tcssresword
scssstyle  'visibility'             scssstyle tcssresword
scssstyle  'voice-family'           scssstyle tcssresword
scssstyle  'volume'                 scssstyle tcssresword
scssstyle  'white-space'            scssstyle tcssresword
scssstyle  'widows'                 scssstyle tcssresword
scssstyle  'width'                  scssstyle tcssresword
scssstyle  'word-spacing'           scssstyle tcssresword
scssstyle  'z-index'                scssstyle tcssresword
//CSS@@@

//@@@HTM
scssstyle  'a'           scssstyle  tcssselector
scssstyle  'abbr'        scssstyle  tcssselector
scssstyle  'acronym'     scssstyle  tcssselector
scssstyle  'address'     scssstyle  tcssselector
scssstyle  'applet'      scssstyle  tcssselector
scssstyle  'area'        scssstyle  tcssselector
scssstyle  'article'     scssstyle  tcssselector
scssstyle  'aside'       scssstyle  tcssselector
scssstyle  'audio'       scssstyle  tcssselector
scssstyle  'b'           scssstyle  tcssselector
scssstyle  'base'        scssstyle  tcssselector
scssstyle  'basefont'    scssstyle  tcssselector
scssstyle  'bdo'         scssstyle  tcssselector
scssstyle  'big'         scssstyle  tcssselector
scssstyle  'blockquote'  scssstyle  tcssselector
scssstyle  'body'        scssstyle  tcssselector
scssstyle  'br'          scssstyle  tcssselector
scssstyle  'button'      scssstyle  tcssselector
scssstyle  'canvas'      scssstyle  tcssselector
scssstyle  'caption'     scssstyle  tcssselector
scssstyle  'center'      scssstyle  tcssselector
scssstyle  'cite'        scssstyle  tcssselector
scssstyle  'code'        scssstyle  tcssselector
scssstyle  'col'         scssstyle  tcssselector
scssstyle  'colgroup'    scssstyle  tcssselector
scssstyle  'command'     scssstyle  tcssselector
scssstyle  'datalist'    scssstyle  tcssselector
scssstyle  'dd'          scssstyle  tcssselector
scssstyle  'del'         scssstyle  tcssselector
scssstyle  'details'     scssstyle  tcssselector
scssstyle  'dfn'         scssstyle  tcssselector
scssstyle  'dir'         scssstyle  tcssselector
scssstyle  'div'         scssstyle  tcssselector
scssstyle  'dl'          scssstyle  tcssselector
scssstyle  'dt'          scssstyle  tcssselector
scssstyle  'em'          scssstyle  tcssselector
scssstyle  'embed'       scssstyle  tcssselector
scssstyle  'fieldset'    scssstyle  tcssselector
scssstyle  'figcaption'  scssstyle  tcssselector
scssstyle  'figure'      scssstyle  tcssselector
scssstyle  'footer'      scssstyle  tcssselector
scssstyle  'form'        scssstyle  tcssselector
scssstyle  'frame'       scssstyle  tcssselector
scssstyle  'frameset'    scssstyle  tcssselector
scssstyle  'h1'          scssstyle  tcssselector
scssstyle  'h2'          scssstyle  tcssselector
scssstyle  'h3'          scssstyle  tcssselector
scssstyle  'h4'          scssstyle  tcssselector
scssstyle  'h5'          scssstyle  tcssselector
scssstyle  'h6'          scssstyle  tcssselector
scssstyle  'head'        scssstyle  tcssselector
scssstyle  'header'      scssstyle  tcssselector
scssstyle  'hgroup'      scssstyle  tcssselector
scssstyle  'hr'          scssstyle  tcssselector
scssstyle  'html'        scssstyle  tcssselector
scssstyle  'i'           scssstyle  tcssselector
scssstyle  'iframe'      scssstyle  tcssselector
scssstyle  'img'         scssstyle  tcssselector
scssstyle  'input'       scssstyle  tcssselector
scssstyle  'ins'         scssstyle  tcssselector
scssstyle  'isindex'     scssstyle  tcssselector
scssstyle  'kbd'         scssstyle  tcssselector
scssstyle  'keygen'      scssstyle  tcssselector
scssstyle  'label'       scssstyle  tcssselector
scssstyle  'legend'      scssstyle  tcssselector
scssstyle  'li'          scssstyle  tcssselector
scssstyle  'link'        scssstyle  tcssselector
scssstyle  'map'         scssstyle  tcssselector
scssstyle  'mark'        scssstyle  tcssselector
scssstyle  'menu'        scssstyle  tcssselector
scssstyle  'meta'        scssstyle  tcssselector
scssstyle  'meter'       scssstyle  tcssselector
scssstyle  'nav'         scssstyle  tcssselector
scssstyle  'noframes'    scssstyle  tcssselector
scssstyle  'noscript'    scssstyle  tcssselector
scssstyle  'object'      scssstyle  tcssselector
scssstyle  'ol'          scssstyle  tcssselector
scssstyle  'optgroup'    scssstyle  tcssselector
scssstyle  'option'      scssstyle  tcssselector
scssstyle  'output'      scssstyle  tcssselector
scssstyle  'p'           scssstyle  tcssselector
scssstyle  'param'       scssstyle  tcssselector
scssstyle  'pre'         scssstyle  tcssselector
scssstyle  'progress'    scssstyle  tcssselector
scssstyle  'q'           scssstyle  tcssselector
scssstyle  'rp'          scssstyle  tcssselector
scssstyle  'rt'          scssstyle  tcssselector
scssstyle  'ruby'        scssstyle  tcssselector
scssstyle  's'           scssstyle  tcssselector
scssstyle  'samp'        scssstyle  tcssselector
scssstyle  'section'     scssstyle  tcssselector
scssstyle  'select'      scssstyle  tcssselector
scssstyle  'small'       scssstyle  tcssselector
scssstyle  'source'      scssstyle  tcssselector
scssstyle  'span'        scssstyle  tcssselector
scssstyle  'strike'      scssstyle  tcssselector
scssstyle  'strong'      scssstyle  tcssselector
scssstyle  'sub'         scssstyle  tcssselector
scssstyle  'summary'     scssstyle  tcssselector
scssstyle  'sup'         scssstyle  tcssselector
scssstyle  'table'       scssstyle  tcssselector
scssstyle  'tbody'       scssstyle  tcssselector
scssstyle  'td'          scssstyle  tcssselector
scssstyle  'textarea'    scssstyle  tcssselector
scssstyle  'tfoot'       scssstyle  tcssselector
scssstyle  'th'          scssstyle  tcssselector
scssstyle  'thead'       scssstyle  tcssselector
scssstyle  'time'        scssstyle  tcssselector
scssstyle  'title'       scssstyle  tcssselector
scssstyle  'tr'          scssstyle  tcssselector
scssstyle  'tt'          scssstyle  tcssselector
scssstyle  'u'           scssstyle  tcssselector
scssstyle  'ul'          scssstyle  tcssselector
scssstyle  'var'         scssstyle  tcssselector
scssstyle  'video'       scssstyle  tcssselector
scssstyle  'wbr'         scssstyle  tcssselector
//HTM@@@

//Keyframes
scssstyle  'from'       scssstyle  tcssselector
scssstyle  'to'         scssstyle  tcssselector


// numbers

scssvalue [0-9]*                            scssvalue  tcssinteger
scssvalue \#[0-9A-F]+                       scssvalue  tcssinteger
scssvalue [0-9]*\.[0-9]*                    scssvalue  tcssfloat
scssvalue [0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ scssvalue  tcssfloat

//comments

scssstyle    /\*                   scsscomment1  tcsscomment
scsscomment1 [^\*]*                scsscomment1  tcsscomment
scsscomment1 \*[^/]                scsscomment1  tcsscomment
scsscomment1 [\*]*/                scssstyle     tcsscomment

scssvalue    /\*                   scsscomment2  tcsscomment
scsscomment2 [^\*]*                scsscomment2  tcsscomment
scsscomment2 \*[^/]                scsscomment2  tcsscomment
scsscomment2 [\*]*/                scssvalue     tcsscomment

//strings

scssvalue     \"                   scssstring1    tcssstring
scssstring1    [^\"]*              scssstring1    tcssstring
scssstring1    \"                  scssvalue      tcssstring
scssstring1    \"\"                scssstring1    tcssstring
scssstring1    $                   scssvalue      tcssstring

scssvalue      \'                  scssstring2    tcssstring
scssstring2    [^\']*              scssstring2    tcssstring
scssstring2    \'                  scssvalue      tcssstring
scssstring2    \'\'                scssstring2    tcssstring
scssstring2    $                   scssvalue      tcssstring

scssstyle   <\!--                  scssstyle   tcsscomment
scssvalue   <\!--                  scssvalue   tcsscomment
scssstyle  -->                     scssstyle   tcsscomment
scssvalue  -->                     scssvalue   tcsscomment