xref: /vim-8.2.3635/runtime/syntax/less.vim (revision 4f4d51a9)
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