neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

less.vim (4195B)


      1 " Vim syntax file
      2 " Language:	less
      3 " Maintainer:	Alessandro Vioni <jenoma@gmail.com>
      4 " URL: https://github.com/genoma/vim-less
      5 " Last Change:	2020 Sep 29
      6 
      7 if exists("b:current_syntax")
      8  finish
      9 endif
     10 
     11 runtime! syntax/css.vim
     12 
     13 syn case ignore
     14 
     15 syn cluster lessCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp
     16 syn cluster lessCssAttributes contains=css.*Attr,lessEndOfLineComment,lessComment,cssValue.*,cssColor,cssURL,lessDefault,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
     17 
     18 syn region lessDefinition matchgroup=cssBraces start="{" end="}" contains=TOP
     19 
     20 syn match lessProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:" contains=css.*Prop skipwhite nextgroup=lessCssAttribute contained containedin=lessDefinition
     21 syn match lessProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
     22 syn match lessProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
     23 syn match lessCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@lessCssAttributes,lessVariable,lessFunction,lessInterpolation
     24 syn match lessDefault "!default\>" contained
     25 
     26 " less variables and media queries
     27 syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessCssAttribute skipwhite
     28 syn match lessMedia "@media" nextgroup=lessCssAttribute skipwhite
     29 
     30 " Less functions
     31 syn match lessFunction "\<\%(escape\|e\|unit\)\>(\@=" contained
     32 syn match lessFunction "\<\%(ceil\|floor\|percentage\|round\|sqrt\|abs\|sin\|asin\|cos\|acos\|tan\|atan\|pi\|pow\|min\|max\)\>(\@=" contained
     33 syn match lessFunction "\<\%(rgb\|rgba\|argb\|argb\|hsl\|hsla\|hsv\|hsva\)\>(\@=" contained
     34 syn match lessFunction "\<\%(hue\|saturation\|lightness\|red\|green\|blue\|alpha\|luma\)\>(\@=" contained
     35 syn match lessFunction "\<\%(saturate\|desaturate\|lighten\|darken\|fadein\|fadeout\|fade\|spin\|mix\|greyscale\|contrast\)\>(\@=" contained
     36 syn match lessFunction "\<\%(multiply\|screen\|overlay\|softlight\|hardlight\|difference\|exclusion\|average\|negation\)\>(\@=" contained
     37 
     38 " Less id class visualization
     39 syn match lessIdChar     "#[[:alnum:]_-]\@=" nextgroup=lessId,lessClassIdCall
     40 syn match lessId         "[[:alnum:]_-]\+" contained
     41 syn match lessClassIdCall  "[[:alnum:]_-]\+()" contained
     42 
     43 syn match lessClassChar  "\.[[:alnum:]_-]\@=" nextgroup=lessClass,lessClassCall
     44 syn match lessClass      "[[:alnum:]_-]\+" contained
     45 syn match lessClassCall  "[[:alnum:]_-]\+()" contained
     46 
     47 syn match lessAmpersand  "&" contains=lessIdChar,lessClassChar
     48 
     49 syn region lessInclude start="@import" end=";\|$" contains=lessComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
     50 
     51 syn keyword lessTodo        FIXME NOTE TODO OPTIMIZE XXX contained
     52 syn region  lessComment     start="^\z(\s*\)//"  end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
     53 syn region  lessCssComment  start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
     54 syn match   lessEndOfLineComment "//.*" contains=lessComment,lessTodo,@Spell
     55 
     56 hi def link lessEndOfLineComment        lessComment
     57 hi def link lessCssComment              lessComment
     58 hi def link lessComment                 Comment
     59 hi def link lessDefault                 cssImportant
     60 hi def link lessVariable                Identifier
     61 hi def link lessFunction                PreProc
     62 hi def link lessTodo                    Todo
     63 hi def link lessInclude                 Include
     64 hi def link lessIdChar                  Special
     65 hi def link lessClassChar               Special
     66 hi def link lessAmpersand               Character
     67 hi def link lessId                      Identifier
     68 hi def link lessClass                   Type
     69 hi def link lessCssAttribute            PreProc
     70 hi def link lessClassCall               Type
     71 hi def link lessClassIdCall             Type
     72 hi def link lessTagName                 cssTagName
     73 hi def link lessDeprecated              cssDeprecated
     74 hi def link lessMedia                   cssMedia
     75 
     76 let b:current_syntax = "less"
     77 
     78 " vim:set sw=2: