diff vendor/vim-syntax/less.vim @ 589:7fbadf8bd22e

Update vendor Change whatever available from official vim
author nanaya <me@myconan.net>
date Thu, 07 Jul 2016 15:59:06 +0900
parents 50fd59a959ea
children a6bbbee07a3a
line wrap: on
line diff
--- a/vendor/vim-syntax/less.vim	Sun Jun 26 15:08:01 2016 +0900
+++ b/vendor/vim-syntax/less.vim	Thu Jul 07 15:59:06 2016 +0900
@@ -1,64 +1,79 @@
+" Vim syntax file
+" Language:	less
+" Maintainer:	Alessandro Vioni <jenoma@gmail.com>
+" URL: https://github.com/genoma/vim-less
+" Last Change:	2014 November 24
+
 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 cluster lessCssProperties contains=cssFontProp,cssFontDescriptorProp,cssColorProp,cssTextProp,cssBoxProp,cssGeneratedContentProp,cssPagingProp,cssUIProp,cssRenderProp,cssAuralProp,cssTableProp
+syn cluster lessCssAttributes contains=css.*Attr,lessEndOfLineComment,lessComment,cssValue.*,cssColor,cssURL,lessDefault,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssRenderProp
+
+syn region lessDefinition matchgroup=cssBraces start="{" end="}" contains=TOP
 
-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 lessProperty "\%([{};]\s*\|^\)\@<=\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:" contains=css.*Prop skipwhite nextgroup=lessCssAttribute contained containedin=lessDefinition
+syn match lessProperty "^\s*\zs\s\%(\%([[:alnum:]-]\|#{[^{}]*}\)\+\s*:\|:[[:alnum:]-]\+\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
+syn match lessProperty "^\s*\zs\s\%(:\=[[:alnum:]-]\+\s*=\)"hs=s+1 contains=css.*Prop skipwhite nextgroup=lessCssAttribute
+syn match lessCssAttribute +\%("\%([^"]\|\\"\)*"\|'\%([^']\|\\'\)*'\|#{[^{}]*}\|[^{};]\)*+ contained contains=@lessCssAttributes,lessVariable,lessFunction,lessInterpolation
+syn match lessDefault "!default\>" contained
 
-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
+" less variables and media queries
+syn match lessVariable "@[[:alnum:]_-]\+" nextgroup=lessCssAttribute skipwhite
+syn match lessMedia "@media" nextgroup=lessCssAttribute skipwhite
 
-syn match lessDefault "!default" contained
+" Less functions
+syn match lessFunction "\<\%(escape\|e\|unit\)\>(\@=" contained
+syn match lessFunction "\<\%(ceil\|floor\|percentage\|round\|sqrt\|abs\|sin\|asin\|cos\|acos\|tan\|atan\|pi\|pow\|min\|max\)\>(\@=" contained
+syn match lessFunction "\<\%(rgb\|rgba\|argb\|argb\|hsl\|hsla\|hsv\|hsva\)\>(\@=" contained
+syn match lessFunction "\<\%(hue\|saturation\|lightness\|red\|green\|blue\|alpha\|luma\)\>(\@=" contained
+syn match lessFunction "\<\%(saturate\|desaturate\|lighten\|darken\|fadein\|fadeout\|fade\|spin\|mix\|greyscale\|contrast\)\>(\@=" contained
+syn match lessFunction "\<\%(multiply\|screen\|overlay\|softlight\|hardlight\|difference\|exclusion\|average\|negation\)\>(\@=" contained
 
-syn match lessMixinChar "\.[[:alnum:]_-]\@=" contained nextgroup=lessClass
-syn match lessAmpersandChar "&" contained nextgroup=lessClass,cssPseudoClass
-syn match lessClass "[[:alnum:]_-]\+" contained
-
-" functions {{{
+" Less id class visualization
+syn match lessIdChar     "#[[:alnum:]_-]\@=" nextgroup=lessId,lessClassIdCall
+syn match lessId         "[[:alnum:]_-]\+" contained
+syn match lessClassIdCall  "[[:alnum:]_-]\+()" contained
 
-" 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 lessClassChar  "\.[[:alnum:]_-]\@=" nextgroup=lessClass,lessClassCall
+syn match lessClass      "[[:alnum:]_-]\+" contained
+syn match lessClassCall  "[[:alnum:]_-]\+()" contained
+
+syn match lessAmpersand  "&" contains=lessIdChar,lessClassChar
+
+syn region lessInclude start="@import" end=";\|$" contains=lessComment,cssURL,cssUnicodeEscape,cssMediaType,cssStringQ,cssStringQQ
+
+syn keyword lessTodo        FIXME NOTE TODO OPTIMIZE XXX contained
+syn region  lessComment     start="^\z(\s*\)//"  end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
+syn region  lessCssComment  start="^\z(\s*\)/\*" end="^\%(\z1 \)\@!" contains=lessTodo,@Spell
+syn match   lessEndOfLineComment "//.*" contains=lessComment,lessTodo,@Spell
 
-" }}}
-
-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
+hi def link lessEndOfLineComment        lessComment
+hi def link lessCssComment              lessComment
+hi def link lessComment                 Comment
+hi def link lessDefault                 cssImportant
+hi def link lessVariable                Identifier
+hi def link lessFunction                PreProc
+hi def link lessTodo                    Todo
+hi def link lessInclude                 Include
+hi def link lessIdChar                  Special
+hi def link lessClassChar               Special
+hi def link lessAmpersand               Character
+hi def link lessId                      Identifier
+hi def link lessClass                   Type
+hi def link lessCssAttribute            PreProc
+hi def link lessClassCall               Type
+hi def link lessClassIdCall             Type
+hi def link lessTagName                 cssTagName
+hi def link lessDeprecated              cssDeprecated
+hi def link lessMedia                   cssMedia
 
 let b:current_syntax = "less"
+
+" vim:set sw=2: