diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 16:17:03 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2013-09-12 16:17:03 +0200 |
commit | 01fe1500df97577452f755b526c09d8ed0c802ea (patch) | |
tree | 9e2e038630cc9e82abcd17da6dd3407a9b3bc62a /syntax/less.vim | |
parent | dce12af91b404835938e95de9e6d839d52487ed5 (diff) | |
download | vim-polyglot-01fe1500df97577452f755b526c09d8ed0c802ea.tar.gz vim-polyglot-01fe1500df97577452f755b526c09d8ed0c802ea.zip |
Add support for basic languages
coffee, cucumbeer, eruby, haml, haskell, javascript,
json, less, nginx, ocaml, ruby, sass, scss, slim,
stylus, textile, tmux
Diffstat (limited to 'syntax/less.vim')
-rw-r--r-- | syntax/less.vim | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/syntax/less.vim b/syntax/less.vim new file mode 100644 index 00000000..fa5a247e --- /dev/null +++ b/syntax/less.vim @@ -0,0 +1,64 @@ +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 color 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" |