64 lines
2.9 KiB
VimL
64 lines
2.9 KiB
VimL
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
runtime! syntax/css.vim
|
|
runtime! after/syntax/css.vim
|
|
" load files from vim-css3-syntax plugin (https://github.com/hail2u/vim-css3-syntax)
|
|
runtime! after/syntax/css/*.vim
|
|
|
|
syn case ignore
|
|
|
|
syn region lessDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssTagName,cssPseudoClass,cssUrl,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,lessDefinition,lessComment,lessClassChar,lessVariable,lessMixinChar,lessAmpersandChar,lessFunction,lessNestedSelector,@cssColors fold
|
|
|
|
syn match lessVariable "@[[:alnum:]_-]\+" contained
|
|
syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessVariableAssignment skipwhite
|
|
syn match lessVariableAssignment ":" contained nextgroup=lessVariableValue skipwhite
|
|
syn match lessVariableValue ".*;"me=e-1 contained contains=lessVariable,lessOperator,lessDefault,cssValue.*,@cssColors "me=e-1 means that the last char of the pattern is not highlighted
|
|
|
|
syn match lessOperator "+" contained
|
|
syn match lessOperator "-" contained
|
|
syn match lessOperator "/" contained
|
|
syn match lessOperator "*" contained
|
|
|
|
syn match lessNestedSelector "[^/]* {"me=e-1 contained contains=cssTagName,cssAttributeSelector,lessAmpersandChar,lessVariable,lessMixinChar,lessFunction,lessNestedProperty
|
|
syn match lessNestedProperty "[[:alnum:]]\+:"me=e-1 contained
|
|
|
|
syn match lessDefault "!default" contained
|
|
|
|
syn match lessMixinChar "\.[[:alnum:]_-]\@=" contained nextgroup=lessClass
|
|
syn match lessAmpersandChar "&" contained nextgroup=lessClass,cssPseudoClass
|
|
syn match lessClass "[[:alnum:]_-]\+" contained
|
|
|
|
" functions {{{
|
|
|
|
" string functions
|
|
syn keyword lessFunction escape e % containedin=cssDefinition contained
|
|
" misc functions
|
|
syn keyword lessFunction unit containedin=cssDefinition contained
|
|
" math functions
|
|
syn keyword lessFunction ceil floor percentage round containedin=cssDefinition contained
|
|
" color definition
|
|
syn keyword lessFunction rgb rgba argb hsl hsla hsv hsva containedin=cssDefinition contained
|
|
" color channel information
|
|
syn keyword lessFunction hue saturation lightness red green blue alpha luma containedin=cssDefinition contained
|
|
" color operations
|
|
syn keyword lessFunction saturate desaturate lighten darken fadein fadeout fade spin mix greyscale contrast containedin=cssDefinition contained
|
|
" color blending
|
|
syn keyword lessFunction multiply screen overlay softlight hardlight difference exclusion average negation containedin=cssDefinition contained
|
|
|
|
" }}}
|
|
|
|
syn match lessComment "//.*$" contains=@Spell
|
|
|
|
hi def link lessVariable Special
|
|
hi def link lessVariableValue Constant
|
|
hi def link lessDefault Special
|
|
hi def link lessComment Comment
|
|
hi def link lessFunction Function
|
|
hi def link lessMixinChar Special
|
|
hi def link lessAmpersandChar Special
|
|
hi def link lessNestedProperty Type
|
|
hi def link lessClass PreProc
|
|
|
|
let b:current_syntax = "less"
|