3 " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
6 if exists("b:current_syntax")
10 runtime! syntax/css.vim
14 syn cluster sassCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp
15 syn cluster sassCssAttributes contains=css.*Attr,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
17 syn match sassProperty "^\s*\zs\s\%([[:alnum:]-]\+:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=sassCssAttribute
18 syn match sassCssAttribute ".*$" contained contains=@sassCssAttributes,sassConstant
19 syn match sassConstant "![[:alnum:]_-]\+"
20 syn match sassConstantAssignment "\%(![[:alnum:]_]\+\s*\)\@<==" nextgroup=sassCssAttribute skipwhite
21 syn match sassMixin "^=.*"
22 syn match sassMixing "^\s\+\zs+.*"
24 syn match sassEscape "^\s*\zs\\"
25 syn match sassIdChar "#[[:alnum:]_-]\@=" nextgroup=sassId
26 syn match sassId "[[:alnum:]_-]\+" contained
27 syn match sassClassChar "\.[[:alnum:]_-]\@=" nextgroup=sassClass
28 syn match sassClass "[[:alnum:]_-]\+" contained
29 syn match sassAmpersand "&"
31 " TODO: Attribute namespaces
32 " TODO: Arithmetic (including strings and concatenation)
34 syn region sassInclude start="@import" end=";\|$" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
36 syn keyword sassTodo FIXME NOTE TODO OPTIMIZE XXX contained
37 syn region sassComment start="^\z(\s*\)//" end="^\%(\z1 \)\@!" contains=sassTodo
38 syn region sassCssComment start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=sassTodo
40 hi def link sassCssComment sassComment
41 hi def link sassComment Comment
42 hi def link sassConstant Identifier
43 hi def link sassMixing PreProc
44 hi def link sassMixin PreProc
45 hi def link sassTodo Todo
46 hi def link sassInclude Include
47 hi def link sassEscape Special
48 hi def link sassIdChar Special
49 hi def link sassClassChar Special
50 hi def link sassAmpersand Character
51 hi def link sassId Identifier
52 hi def link sassClass Type
54 let b:current_syntax = "sass"