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