18feef4ffSBram Moolenaar" Vim syntax file 28feef4ffSBram Moolenaar" Language: less 38feef4ffSBram Moolenaar" Maintainer: Alessandro Vioni <[email protected]> 48feef4ffSBram Moolenaar" URL: https://github.com/genoma/vim-less 5*4f4d51a9SBram Moolenaar" Last Change: 2020 Sep 29 68feef4ffSBram Moolenaar 78feef4ffSBram Moolenaarif exists("b:current_syntax") 88feef4ffSBram Moolenaar finish 98feef4ffSBram Moolenaarendif 108feef4ffSBram Moolenaar 118feef4ffSBram Moolenaarruntime! syntax/css.vim 128feef4ffSBram Moolenaar 138feef4ffSBram Moolenaarsyn case ignore 148feef4ffSBram Moolenaar 158feef4ffSBram Moolenaarsyn cluster lessCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp 168feef4ffSBram Moolenaarsyn cluster lessCssAttributes contains=css.*Attr,lessEndOfLineComment,lessComment,cssValue.*,cssColor,cssURL,lessDefault,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp 178feef4ffSBram Moolenaar 188feef4ffSBram Moolenaarsyn region lessDefinition matchgroup=cssBraces start="{" end="}" contains=TOP 198feef4ffSBram Moolenaar 208feef4ffSBram Moolenaarsyn match lessProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:" contains=css.*Prop skipwhite nextgroup=lessCssAttribute contained containedin=lessDefinition 218feef4ffSBram Moolenaarsyn match lessProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute 228feef4ffSBram Moolenaarsyn match lessProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute 238feef4ffSBram Moolenaarsyn match lessCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@lessCssAttributes,lessVariable,lessFunction,lessInterpolation 248feef4ffSBram Moolenaarsyn match lessDefault "!default\>" contained 258feef4ffSBram Moolenaar 268feef4ffSBram Moolenaar" less variables and media queries 278feef4ffSBram Moolenaarsyn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessCssAttribute skipwhite 288feef4ffSBram Moolenaarsyn match lessMedia "@media" nextgroup=lessCssAttribute skipwhite 298feef4ffSBram Moolenaar 308feef4ffSBram Moolenaar" Less functions 318feef4ffSBram Moolenaarsyn match lessFunction "\<\%(escape\|e\|unit\)\>(\@=" contained 328feef4ffSBram Moolenaarsyn match lessFunction "\<\%(ceil\|floor\|percentage\|round\|sqrt\|abs\|sin\|asin\|cos\|acos\|tan\|atan\|pi\|pow\|min\|max\)\>(\@=" contained 338feef4ffSBram Moolenaarsyn match lessFunction "\<\%(rgb\|rgba\|argb\|argb\|hsl\|hsla\|hsv\|hsva\)\>(\@=" contained 348feef4ffSBram Moolenaarsyn match lessFunction "\<\%(hue\|saturation\|lightness\|red\|green\|blue\|alpha\|luma\)\>(\@=" contained 358feef4ffSBram Moolenaarsyn match lessFunction "\<\%(saturate\|desaturate\|lighten\|darken\|fadein\|fadeout\|fade\|spin\|mix\|greyscale\|contrast\)\>(\@=" contained 368feef4ffSBram Moolenaarsyn match lessFunction "\<\%(multiply\|screen\|overlay\|softlight\|hardlight\|difference\|exclusion\|average\|negation\)\>(\@=" contained 378feef4ffSBram Moolenaar 388feef4ffSBram Moolenaar" Less id class visualization 398feef4ffSBram Moolenaarsyn match lessIdChar "#[[:alnum:]_-]\@=" nextgroup=lessId,lessClassIdCall 408feef4ffSBram Moolenaarsyn match lessId "[[:alnum:]_-]\+" contained 418feef4ffSBram Moolenaarsyn match lessClassIdCall "[[:alnum:]_-]\+()" contained 428feef4ffSBram Moolenaar 438feef4ffSBram Moolenaarsyn match lessClassChar "\.[[:alnum:]_-]\@=" nextgroup=lessClass,lessClassCall 448feef4ffSBram Moolenaarsyn match lessClass "[[:alnum:]_-]\+" contained 458feef4ffSBram Moolenaarsyn match lessClassCall "[[:alnum:]_-]\+()" contained 468feef4ffSBram Moolenaar 478feef4ffSBram Moolenaarsyn match lessAmpersand "&" contains=lessIdChar,lessClassChar 488feef4ffSBram Moolenaar 498feef4ffSBram Moolenaarsyn region lessInclude start="@import" end=";\|$" contains=lessComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ 508feef4ffSBram Moolenaar 518feef4ffSBram Moolenaarsyn keyword lessTodo FIXME NOTE TODO OPTIMIZE XXX contained 528feef4ffSBram Moolenaarsyn region lessComment start="^\z(\s*\)//" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell 538feef4ffSBram Moolenaarsyn region lessCssComment start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell 548feef4ffSBram Moolenaarsyn match lessEndOfLineComment "//.*" contains=lessComment,lessTodo,@Spell 558feef4ffSBram Moolenaar 568feef4ffSBram Moolenaarhi def link lessEndOfLineComment lessComment 578feef4ffSBram Moolenaarhi def link lessCssComment lessComment 588feef4ffSBram Moolenaarhi def link lessComment Comment 598feef4ffSBram Moolenaarhi def link lessDefault cssImportant 608feef4ffSBram Moolenaarhi def link lessVariable Identifier 618feef4ffSBram Moolenaarhi def link lessFunction PreProc 628feef4ffSBram Moolenaarhi def link lessTodo Todo 638feef4ffSBram Moolenaarhi def link lessInclude Include 648feef4ffSBram Moolenaarhi def link lessIdChar Special 658feef4ffSBram Moolenaarhi def link lessClassChar Special 668feef4ffSBram Moolenaarhi def link lessAmpersand Character 678feef4ffSBram Moolenaarhi def link lessId Identifier 688feef4ffSBram Moolenaarhi def link lessClass Type 698feef4ffSBram Moolenaarhi def link lessCssAttribute PreProc 708feef4ffSBram Moolenaarhi def link lessClassCall Type 718feef4ffSBram Moolenaarhi def link lessClassIdCall Type 728feef4ffSBram Moolenaarhi def link lessTagName cssTagName 738feef4ffSBram Moolenaarhi def link lessDeprecated cssDeprecated 748feef4ffSBram Moolenaarhi def link lessMedia cssMedia 758feef4ffSBram Moolenaar 768feef4ffSBram Moolenaarlet b:current_syntax = "less" 778feef4ffSBram Moolenaar 788feef4ffSBram Moolenaar" vim:set sw=2: 79