diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2014-11-11 02:37:21 +0100 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2014-11-11 02:37:21 +0100 | 
| commit | 617b01a5b6aa3cadb25b2ff8639e330cfc6cf3c1 (patch) | |
| tree | 97fc653e0c19839490bd7aac6beeb4f5754155be /syntax | |
| parent | bd35da8e9ca0bddd95539bef0c8f4857dc4cc746 (diff) | |
| download | vim-polyglot-617b01a5b6aa3cadb25b2ff8639e330cfc6cf3c1.tar.gz vim-polyglot-617b01a5b6aa3cadb25b2ff8639e330cfc6cf3c1.zip | |
Updatev1.10.3
Diffstat (limited to '')
| -rw-r--r-- | syntax/blade.vim | 52 | ||||
| -rw-r--r-- | syntax/coffee.vim | 2 | ||||
| -rw-r--r-- | syntax/css.vim | 96 | ||||
| -rw-r--r-- | syntax/dockerfile.vim | 13 | ||||
| -rw-r--r-- | syntax/elixir.vim | 39 | ||||
| -rw-r--r-- | syntax/go.vim | 54 | ||||
| -rw-r--r-- | syntax/html.vim | 2 | ||||
| -rw-r--r-- | syntax/mustache.vim | 2 | ||||
| -rw-r--r-- | syntax/opencl.vim | 56 | ||||
| -rw-r--r-- | syntax/php.vim | 20 | ||||
| -rw-r--r-- | syntax/rust.vim | 20 | ||||
| -rw-r--r-- | syntax/systemd.vim | 4 | ||||
| -rw-r--r-- | syntax/toml.vim | 23 | ||||
| -rw-r--r-- | syntax/typescript.vim | 6 | ||||
| -rw-r--r-- | syntax/vimgo.vim | 11 | 
15 files changed, 235 insertions, 165 deletions
| diff --git a/syntax/blade.vim b/syntax/blade.vim index a02b88ae..3f512163 100644 --- a/syntax/blade.vim +++ b/syntax/blade.vim @@ -1,35 +1,41 @@ -" Language:	    Blade (Laravel) -" Maintainer:	xsbeats <jwalton512@gmail.com> -" URL:	        http://github.com/xsbeats/vim-blade -" License:      WTFPL +" Language:     Blade +" Maintainer:   Jason Walton <jwalton512@gmail.com> +" URL:          https://github.com/xsbeats/vim-blade +" License:      DBAD -if exists("b:current_syntax") +" Check if our syntax is already loaded +if exists('b:current_syntax') && b:current_syntax == 'blade'      finish  endif -runtime! syntax/html.vim -unlet b:current_syntax - +" Include PHP  runtime! syntax/php.vim -unlet b:current_syntax - -syn match bladeConditional /@\(choice\|each\|elseif\|extends\|for\|foreach\|if\|include\|lang\|section\|unless\|while\|yield\)\>\s*/ nextgroup=bladeParenBlock containedin=ALLBUT,bladeComment +silent! unlet b:current_syntax -syn match bladeKeyword /@\(else\|endfor\|endforeach\|endif\|endsection\|endunless\|endwhile\|overwrite\|parent\|show\|stop\)\>/ containedin=ALL,bladeComment +" Echos +syn region bladeUnescapedEcho matchgroup=bladeEchoDelim start=/@\@<!\s*{!!/ end=/!!}\s*/ oneline contains=@phpClTop containedin=ALLBUT,bladeComment +syn region bladeEscapedEcho matchgroup=bladeEchoDelim start=/@\@<!\s*{{{\@!/ end=/}}\s*/ oneline contains=@phpClTop containedin=ALLBUT,bladeComment +syn region bladeEscapedEcho matchgroup=bladeEchoDelim start=/@\@<!\s*{{{{\@!/ end=/}}}/ oneline contains=@phpClTop containedin=ALLBUT,bladeComment -syn region bladeCommentBlock start="{{--" end="--}}" contains=bladeComment keepend containedin=TOP -syn match bladeComment /.*/ contained containedin=bladeCommentBlock +" Structures +syn match bladeStructure /\s*@\(else\|empty\|endfor\|endforeach\|endforelse\|endif\|endpush\|endsection\|endunless\|endwhile\|overwrite\|show\|stop\)\>/ +syn match bladeStructure /\s*@\(append\|choice\|each\|elseif\|extends\|for\|foreach\|forelse\|if\|include\|lang\|push\|section\|stack\|unless\|while\|yield\|\)\>\s*/ nextgroup=bladeParens +syn region bladeParens matchgroup=bladeParen start=/(/ end=/)/ contained contains=@bladeAll,@phpClTop -syn region bladeEchoUnescaped matchgroup=bladeEchoDelim start="\([@|{]\)\@<!{{\(--\)\@!" end="}}" contains=@phpClInside containedin=ALLBUT,bladeComment -syn region bladeEchoEscaped matchgroup=bladeEchoDelim start="\(@\)\@<!{{{" end="}}}" contains=@phpClInside containedin=ALLBUT,bladeComment +" Comments +syn region bladeComments start=/\s*{{--/ end=/--}}/ contains=bladeComment keepend +syn match bladeComment /.*/ contained containedin=bladeComments -syn cluster bladeStatement contains=bladeConditional,bladeKeyword +" Clusters +syn cluster bladeAll contains=bladeStructure,bladeParens -syn region bladeParenBlock start="(" end=")" contained oneline contains=bladeParenBlock,@phpClInside,@bladeStatement extend keepend +" Highlighting +hi def link bladeComment        Comment +hi def link bladeEchoDelim      Delimiter +hi def link bladeParen          Delimiter +hi def link bladeStructure      Keyword -hi def link bladeComment Comment -hi def link bladeConditional Conditional -hi def link bladeKeyword Keyword -hi def link bladeEchoDelim Delimiter -let b:current_syntax = 'blade' +if !exists('b:current_syntax') +    let b:current_syntax = 'blade' +endif diff --git a/syntax/coffee.vim b/syntax/coffee.vim index 7f8df73c..b5784336 100644 --- a/syntax/coffee.vim +++ b/syntax/coffee.vim @@ -1,5 +1,5 @@  " Language:    CoffeeScript -" Maintainer:  Mick Koch <kchmck@gmail.com> +" Maintainer:  Mick Koch <mick@kochm.co>  " URL:         http://github.com/kchmck/vim-coffee-script  " License:     WTFPL diff --git a/syntax/css.vim b/syntax/css.vim index 1bfb39f0..608dacb2 100644 --- a/syntax/css.vim +++ b/syntax/css.vim @@ -6,7 +6,7 @@  "               Nikolai Weibull (Add CSS2 support)  " Maintainer:   Jules Wang      <w.jq0722@gmail.com>  " URL:          https://github.com/JulesWang/css.vim -" Last Change:  2013 Nov.27 +" Last Change:  2014 Oct.28  " For version 5.x: Clear all syntax items  " For version 6.x: Quit when a syntax file was already loaded @@ -26,18 +26,19 @@ set cpo&vim  syn case ignore -" All HTML4 tags -syn keyword cssTagName abbr acronym address applet area a b base -syn keyword cssTagName basefont bdo big blockquote body br button -syn keyword cssTagName caption center cite code col colgroup dd del -syn keyword cssTagName dfn dir div dl dt em fieldset font form frame -syn keyword cssTagName frameset h1 h2 h3 h4 h5 h6 head hr html img i -syn keyword cssTagName iframe img input ins isindex kbd label legend li -syn keyword cssTagName link map menu meta noframes noscript ol optgroup -syn keyword cssTagName option p param pre q s samp script select small -syn keyword cssTagName span strike strong style sub sup table tbody td -syn keyword cssTagName textarea tfoot th thead title tr tt ul u var +" HTML4 tags +syn keyword cssTagName abbr address area a b base +syn keyword cssTagName bdo blockquote body br button +syn keyword cssTagName caption cite code col colgroup dd del +syn keyword cssTagName dfn div dl dt em fieldset form +syn keyword cssTagName h1 h2 h3 h4 h5 h6 head hr html img i +syn keyword cssTagName iframe input ins isindex kbd label legend li +syn keyword cssTagName link map menu meta noscript ol optgroup +syn keyword cssTagName option p param pre q s samp script small +syn keyword cssTagName span strong sub sup tbody td +syn keyword cssTagName textarea tfoot th thead title tr ul u var  syn keyword cssTagName object svg +syn match   cssTagName /\<select\>\|\<style\>\|\<table\>/  " 34 HTML5 tags  syn keyword cssTagName article aside audio bdi canvas command data @@ -47,8 +48,8 @@ syn keyword cssTagName output progress rt rp ruby section  syn keyword cssTagName source summary time track video wbr  " Tags not supported in HTML5 -syn keyword cssDeprecated acronym applet basefont big center dir -syn keyword cssDeprecated font frame frameset noframes strike tt +" acronym applet basefont big center dir +" font frame frameset noframes strike tt  syn match cssTagName "\*" @@ -70,10 +71,10 @@ endtry  " digits  syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators  syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators -syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators -syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators -syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators -syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators +syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators +syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators +syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators +syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)\>" contains=cssUnitDecorators  syn match cssIncludeKeyword /@\(-[a-z]\+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained @@ -116,15 +117,27 @@ syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssSt  " @font-face  " http://www.w3.org/TR/css3-fonts/#at-font-face-rule  syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl -syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr,cssNoise -"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>" -"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline +syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssCommonAttr,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssFontDescriptorAttr,cssNoise + +syn match cssFontDescriptorProp contained "\<font-family\>"  syn keyword cssFontDescriptorProp contained src +syn match cssFontDescriptorProp contained "\<font-\(style\|weight\|stretch\)\>"  syn match cssFontDescriptorProp contained "\<unicode-range\>" -syn keyword cssFontDescriptorAttr contained all +syn match cssFontDescriptorProp contained "\<font-\(variant\|feature-settings\)\>" + +" src functions  syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend -syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+" -syn match cssUnicodeRange contained "U+\x\+-\x\+" +" font-sytle and font-weight attributes +syn keyword cssFontDescriptorAttr contained normal italic oblique bold +" font-stretch attributes +syn match cssFontDescriptorAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" +" unicode-range attributes +syn match cssFontDescriptorAttr contained "U+[0-9A-Fa-f?]\+" +syn match cssFontDescriptorAttr contained "U+\x\+-\x\+" +" font-feature-settings attributes +syn keyword cssFontDescriptorAttr contained on off + +  " The 16 basic color names  syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon navy olive purple red silver teal yellow @@ -133,23 +146,23 @@ syn keyword cssColor contained aqua black blue fuchsia gray green lime maroon na  syn keyword cssColor contained aliceblue antiquewhite aquamarine azure  syn keyword cssColor contained beige bisque blanchedalmond blueviolet brown burlywood  syn keyword cssColor contained cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan -syn match cssColor contained /dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)/ -syn match cssColor contained /dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)/ -syn match cssColor contained /darkslate\(blue\|gray\|grey\)/ -syn match cssColor contained /dark\(turquoise\|violet\)/ +syn match cssColor contained /\<dark\(blue\|cyan\|goldenrod\|gray\|green\|grey\|khaki\)\>/ +syn match cssColor contained /\<dark\(magenta\|olivegreen\|orange\|orchid\|red\|salmon\|seagreen\)\>/ +syn match cssColor contained /\<darkslate\(blue\|gray\|grey\)\>/ +syn match cssColor contained /\<dark\(turquoise\|violet\)\>/  syn keyword cssColor contained deeppink deepskyblue dimgray dimgrey dodgerblue firebrick  syn keyword cssColor contained floralwhite forestgreen gainsboro ghostwhite gold  syn keyword cssColor contained goldenrod greenyellow grey honeydew hotpink  syn keyword cssColor contained indianred indigo ivory khaki lavender lavenderblush lawngreen  syn keyword cssColor contained lemonchiffon limegreen linen magenta -syn match cssColor contained /light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)/ -syn match cssColor contained /light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)/ -syn match cssColor contained /light\(slategray\|slategrey\|steelblue\)/ -syn match cssColor contained /medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)/ -syn match cssColor contained /medium\(slateblue\|springgreen\|turquoise\|violetred\)/ +syn match cssColor contained /\<light\(blue\|coral\|cyan\|goldenrodyellow\|gray\|green\)\>/ +syn match cssColor contained /\<light\(grey\|pink\|salmon\|seagreen\|skyblue\|yellow\)\>/ +syn match cssColor contained /\<light\(slategray\|slategrey\|steelblue\)\>/ +syn match cssColor contained /\<medium\(aquamarine\|blue\|orchid\|purple\|seagreen\)\>/ +syn match cssColor contained /\<medium\(slateblue\|springgreen\|turquoise\|violetred\)\>/  syn keyword cssColor contained midnightblue mintcream mistyrose moccasin navajowhite  syn keyword cssColor contained oldlace olivedrab orange orangered orchid -syn match cssColor contained /pale\(goldenrod\|green\|turquoise\|violetred\)/ +syn match cssColor contained /\<pale\(goldenrod\|green\|turquoise\|violetred\)\>/  syn keyword cssColor contained papayawhip peachpuff peru pink plum powderblue  syn keyword cssColor contained rosybrown royalblue saddlebrown salmon sandybrown  syn keyword cssColor contained seagreen seashell sienna skyblue slateblue @@ -265,6 +278,7 @@ syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"  " CSS Fonts Module Level 3  " http://www.w3.org/TR/css-fonts-3/  syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>" +  " font attributes  syn keyword cssFontAttr contained icon menu caption  syn match cssFontAttr contained "\<small-\(caps\|caption\)\>" @@ -272,27 +286,21 @@ syn match cssFontAttr contained "\<message-box\>"  syn match cssFontAttr contained "\<status-bar\>"  syn keyword cssFontAttr contained larger smaller  syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>" -  " font-family attributes  syn match cssFontAttr contained "\<\(sans-\)\=serif\>" -syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf +syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Verdana Webdings Wingdings York Zapf  syn keyword cssFontAttr contained cursive fantasy monospace -  " font-feature-settings attributes  syn keyword cssFontAttr contained on off -  " font-stretch attributes  syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>" -  " font-style attributes  syn keyword cssFontAttr contained italic oblique - -" font-variant-caps attributes -syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>" -syn keyword cssFontAttr contained unicase - +" font-synthesis attributes +syn keyword cssFontAttr contained weight style  " font-weight attributes  syn keyword cssFontAttr contained bold bolder lighter +" TODO: font-variant-* attributes  "------------------------------------------------  " Webkit specific property/attributes diff --git a/syntax/dockerfile.vim b/syntax/dockerfile.vim index 90e0651b..c3a9c4e0 100644 --- a/syntax/dockerfile.vim +++ b/syntax/dockerfile.vim @@ -7,8 +7,6 @@ if exists("b:current_syntax")      finish  endif -let b:current_syntax = "dockerfile" -  syntax case ignore  syntax match dockerfileKeyword /\v^\s*(FROM|MAINTAINER|RUN|CMD|EXPOSE|ENV|ADD)\s/ @@ -20,3 +18,14 @@ highlight link dockerfileString String  syntax match dockerfileComment "\v^\s*#.*$"  highlight link dockerfileComment Comment + +syntax include @DockerSh syntax/sh.vim +try +  syntax include @DockerSh after/syntax/sh.vim +catch +endtry + +syntax region dockerShSnip matchgroup=DockerShGroup start="^\s*\%(RUN\|CMD\)\s\+" end="$" contains=@DockerSh +highlight link DockerShGroup dockerfileKeyword + +let b:current_syntax = "dockerfile" diff --git a/syntax/elixir.vim b/syntax/elixir.vim index a0c8f289..f7035633 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -63,14 +63,14 @@ syn match elixirRegexQuantifier        "[*?+][?+]\=" contained display  syn match elixirRegexQuantifier        "{\d\+\%(,\d*\)\=}?\=" contained display  syn match elixirRegexCharClass         "\[:\(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]" contained display -syn region elixirRegex matchgroup=elixirDelimiter start="%r/" end="/[uiomxfr]*" skip="\\\\" contains=@elixirRegexSpecial +syn region elixirRegex matchgroup=elixirRegexDelimiter start="%r/" end="/[uiomxfr]*" skip="\\\\" contains=@elixirRegexSpecial  syn cluster elixirRegexSpecial    contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation  syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass -syn region elixirString        matchgroup=elixirDelimiter start="'" end="'" skip="\\'" -syn region elixirString        matchgroup=elixirDelimiter start='"' end='"' skip='\\"' contains=@elixirStringContained -syn region elixirInterpolation matchgroup=elixirDelimiter start="#{" end="}" contained contains=ALLBUT,elixirComment,@elixirNotTop +syn region elixirString        matchgroup=elixirStringDelimiter start="'" end="'" skip="\\'" +syn region elixirString        matchgroup=elixirStringDelimiter start='"' end='"' skip='\\"' contains=@elixirStringContained +syn region elixirInterpolation matchgroup=elixirInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,elixirComment,@elixirNotTop  syn region elixirDocStringStart matchgroup=elixirDocString start=+"""+ end=+$+ oneline contains=ALLBUT,@elixirNotTop  syn region elixirDocStringStart matchgroup=elixirDocString start=+'''+ end=+$+ oneline contains=ALLBUT,@elixirNotTop @@ -83,25 +83,25 @@ syn match elixirString             "\(\w\)\@<!?\%(\\\(x\d{1,2}\|\h{1,2}\h\@!\>\|  syn region elixirBlock              matchgroup=elixirKeyword start="\<do\>\(:\)\@!" end="\<end\>" contains=ALLBUT,@elixirNotTop fold  syn region elixirAnonymousFunction  matchgroup=elixirKeyword start="\<fn\>"         end="\<end\>" contains=ALLBUT,@elixirNotTop fold -syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirDelimiter +syn region elixirArguments start="(" end=")" contained contains=elixirOperator,elixirAtom,elixirPseudoVariable,elixirAlias,elixirBoolean,elixirVariable,elixirUnusedVariable,elixirNumber,elixirDocString,elixirAtomInterpolated,elixirRegex,elixirString,elixirStringDelimiter,elixirRegexDelimiter,elixirInterpolationDelimiter,elixirSigilDelimiter  syn match elixirDelimEscape "\\[(<{\[)>}\]/\"'|]" transparent display contained contains=NONE -syn region elixirSigil matchgroup=elixirDelimiter start="\~\u\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" contains=elixirDelimEscape fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\u{"                end="}"   skip="\\\\\|\\}"   contains=elixirDelimEscape fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\u<"                end=">"   skip="\\\\\|\\>"   contains=elixirDelimEscape fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\u\["               end="\]"  skip="\\\\\|\\\]"  contains=elixirDelimEscape fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\u("                end=")"   skip="\\\\\|\\)"   contains=elixirDelimEscape fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\u\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" contains=elixirDelimEscape fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\u{"                end="}"   skip="\\\\\|\\}"   contains=elixirDelimEscape fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\u<"                end=">"   skip="\\\\\|\\>"   contains=elixirDelimEscape fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\u\["               end="\]"  skip="\\\\\|\\\]"  contains=elixirDelimEscape fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\u("                end=")"   skip="\\\\\|\\)"   contains=elixirDelimEscape fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\l\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" fold -syn region elixirSigil matchgroup=elixirDelimiter start="\~\l{"                end="}"   skip="\\\\\|\\}"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation -syn region elixirSigil matchgroup=elixirDelimiter start="\~\l<"                end=">"   skip="\\\\\|\\>"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation -syn region elixirSigil matchgroup=elixirDelimiter start="\~\l\["               end="\]"  skip="\\\\\|\\\]"  fold contains=@elixirStringContained,elixirRegexEscapePunctuation -syn region elixirSigil matchgroup=elixirDelimiter start="\~\l("                end=")"   skip="\\\\\|\\)"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\l\z(/\|\"\|'\||\)" end="\z1" skip="\\\\\|\\\z1" fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\l{"                end="}"   skip="\\\\\|\\}"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\l<"                end=">"   skip="\\\\\|\\>"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\l\["               end="\]"  skip="\\\\\|\\\]"  fold contains=@elixirStringContained,elixirRegexEscapePunctuation +syn region elixirSigil matchgroup=elixirSigilDelimiter start="\~\l("                end=")"   skip="\\\\\|\\)"   fold contains=@elixirStringContained,elixirRegexEscapePunctuation  " Sigils surrounded with docString -syn region elixirSigil matchgroup=elixirDelimiter start=+\~\a\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold -syn region elixirSigil matchgroup=elixirDelimiter start=+\~\a\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start=+\~\a\z("""\)+ end=+^\s*\zs\z1+ skip=+\\"+ fold +syn region elixirSigil matchgroup=elixirSigilDelimiter start=+\~\a\z('''\)+ end=+^\s*\zs\z1+ skip=+\\'+ fold  " Defines  syn keyword elixirDefine              def            nextgroup=elixirFunctionDeclaration    skipwhite skipnl @@ -172,4 +172,7 @@ hi def link elixirRegexQuantifier        elixirSpecial  hi def link elixirSpecial                Special  hi def link elixirString                 String  hi def link elixirSigil                  String -hi def link elixirDelimiter              Delimiter +hi def link elixirStringDelimiter        Delimiter +hi def link elixirRegexDelimiter         Delimiter +hi def link elixirInterpolationDelimiter Delimiter +hi def link elixirSigilDelimiter         Delimiter diff --git a/syntax/go.vim b/syntax/go.vim index 5aabac70..59f72ed7 100644 --- a/syntax/go.vim +++ b/syntax/go.vim @@ -29,40 +29,40 @@ if exists("b:current_syntax")    finish  endif -if !exists("go_highlight_array_whitespace_error") -  let go_highlight_array_whitespace_error = 1 +if !exists("g:go_highlight_array_whitespace_error") +  let g:go_highlight_array_whitespace_error = 1  endif -if !exists("go_highlight_chan_whitespace_error") -  let go_highlight_chan_whitespace_error = 1 +if !exists("g:go_highlight_chan_whitespace_error") +  let g:go_highlight_chan_whitespace_error = 1  endif -if !exists("go_highlight_extra_types") -  let go_highlight_extra_types = 1 +if !exists("g:go_highlight_extra_types") +  let g:go_highlight_extra_types = 1  endif -if !exists("go_highlight_space_tab_error") -  let go_highlight_space_tab_error = 1 +if !exists("g:go_highlight_space_tab_error") +  let g:go_highlight_space_tab_error = 1  endif -if !exists("go_highlight_trailing_whitespace_error") -  let go_highlight_trailing_whitespace_error = 1 +if !exists("g:go_highlight_trailing_whitespace_error") +  let g:go_highlight_trailing_whitespace_error = 1  endif -if !exists("go_highlight_operators") -	let go_highlight_operators = 0 +if !exists("g:go_highlight_operators") +	let g:go_highlight_operators = 1  endif -if !exists("go_highlight_functions") -	let go_highlight_functions = 0 +if !exists("g:go_highlight_functions") +	let g:go_highlight_functions = 0  endif -if !exists("go_highlight_methods") -	let go_highlight_methods = 0 +if !exists("g:go_highlight_methods") +	let g:go_highlight_methods = 0  endif -if !exists("go_highlight_structs") -	let go_highlight_structs = 0 +if !exists("g:go_highlight_structs") +	let g:go_highlight_structs = 0  endif  syn case match @@ -182,12 +182,12 @@ syn match       goImaginary         "\<\d\+[Ee][-+]\d\+i\>"  hi def link     goImaginary         Number  " Spaces after "[]" -if go_highlight_array_whitespace_error != 0 +if g:go_highlight_array_whitespace_error != 0    syn match goSpaceError display "\(\[\]\)\@<=\s\+"  endif  " Spacing errors around the 'chan' keyword -if go_highlight_chan_whitespace_error != 0 +if g:go_highlight_chan_whitespace_error != 0    " receive-only annotation on chan type    syn match goSpaceError display "\(<-\)\@<=\s\+\(chan\>\)\@="    " send-only annotation on chan type @@ -197,7 +197,7 @@ if go_highlight_chan_whitespace_error != 0  endif  " Extra types commonly seen -if go_highlight_extra_types != 0 +if g:go_highlight_extra_types != 0    syn match goExtraType /\<bytes\.\(Buffer\)\>/    syn match goExtraType /\<io\.\(Reader\|Writer\|ReadWriter\|ReadWriteCloser\)\>/    syn match goExtraType /\<reflect\.\(Kind\|Type\|Value\)\>/ @@ -205,12 +205,12 @@ if go_highlight_extra_types != 0  endif  " Space-tab error -if go_highlight_space_tab_error != 0 +if g:go_highlight_space_tab_error != 0    syn match goSpaceError display " \+\t"me=e-1  endif  " Trailing white space error -if go_highlight_trailing_whitespace_error != 0 +if g:go_highlight_trailing_whitespace_error != 0    syn match goSpaceError display excludenl "\s\+$"  endif @@ -227,7 +227,7 @@ hi def link     goTodo              Todo  " Operators;  -if go_highlight_operators != 0 +if g:go_highlight_operators != 0  	syn match goOperator /:=/  	syn match goOperator />=/  	syn match goOperator /<=/ @@ -246,20 +246,20 @@ endif  hi def link     goOperator					Operator  " Functions;  -if go_highlight_functions != 0 +if g:go_highlight_functions != 0  	syn match goFunction							/\(func\s\+\)\@<=\w\+\((\)\@=/  	syn match goFunction							/\()\s\+\)\@<=\w\+\((\)\@=/  endif  hi def link     goFunction					Function  " Methods;  -if go_highlight_methods != 0 +if g:go_highlight_methods != 0  	syn match goMethod								/\(\.\)\@<=\w\+\((\)\@=/  endif  hi def link     goMethod						Type  " Structs;  -if go_highlight_structs != 0 +if g:go_highlight_structs != 0  	syn match goStruct								/\(.\)\@<=\w\+\({\)\@=/  	syn match goStructDef							/\(type\s\+\)\@<=\w\+\(\s\+struct\s\+{\)\@=/  endif diff --git a/syntax/html.vim b/syntax/html.vim index eedd6582..78da84f0 100644 --- a/syntax/html.vim +++ b/syntax/html.vim @@ -68,7 +68,7 @@ syn keyword htmlArg contained autoplay preload controls loop poster media kind c  " <form>, <input>, <button>  syn keyword htmlArg contained form autocomplete autofocus list min max step  syn keyword htmlArg contained formaction autofocus formenctype formmethod formtarget formnovalidate -syn keyword htmlArg contained required placeholder +syn keyword htmlArg contained required placeholder pattern  " <command>, <details>, <time>  syn keyword htmlArg contained label icon open datetime pubdate  " <script> diff --git a/syntax/mustache.vim b/syntax/mustache.vim index af1a8289..8f1d0a0f 100644 --- a/syntax/mustache.vim +++ b/syntax/mustache.vim @@ -51,7 +51,7 @@ syntax match mustacheUnescape '{{{\|}}}' contained containedin=mustacheInside,@h  syntax match mustacheConditionals '\([/#]\(if\|unless\)\|else\)' contained containedin=mustacheInside  syntax match mustacheHelpers '[/#]\(with\|each\)' contained containedin=mustacheSection  syntax region mustacheComment start=/{{!/rs=s+2 end=/}}/re=e-2 contains=Todo contained containedin=mustacheInside,@htmlMustacheContainer -syntax region mustacheBlockComment start=/{{!--/rs=s+2 end=/--}}/re=e-2 contains=Todo +syntax region mustacheBlockComment start=/{{!--/rs=s+2 end=/--}}/re=e-2 contains=Todo contained containedin=mustacheInside,@htmlMustacheContainer  syntax region mustacheQString start=/'/ skip=/\\'/ end=/'/ contained containedin=mustacheInside  syntax region mustacheDQString start=/"/ skip=/\\"/ end=/"/ contained containedin=mustacheInside diff --git a/syntax/opencl.vim b/syntax/opencl.vim index fc7b3153..d5e0d5ac 100644 --- a/syntax/opencl.vim +++ b/syntax/opencl.vim @@ -56,28 +56,28 @@ syn keyword clType              cl_image_format  syn keyword clCast              vec_type_hint work_group_size_hint aligned packed endian -syn match clCast                "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)(" +syn match clCast                "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)" -syn match clCast                "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)\(2\|3\|4\|8\|16\)(" +syn match clCast                "as_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\)\(2\|3\|4\|8\|16\)" -syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)(" +syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)" -syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat(" +syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat" -syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat_\(rte\|rtz\|rtp\|rtn\)(" +syn match clCast                "convert_\(uchar\|char\|ushort\|short\|uint\|int\|ulong\|long\|float\|double\))\(2\|3\|4\|8\|16\)_sat_\(rte\|rtz\|rtp\|rtn\)"  " work item functions  syn keyword clFunction          get_work_dim get_global_size get_global_id get_local_size get_local_id get_num_groups get_group_id get_global_offset  " math functions  syn keyword clFunction          cos cosh cospi acos acosh acospi -syn keyword clFunction          sin sincos sinh sinpi asin asinh asinpi  -syn keyword clFunction          tan tanh tanpi atan atan2 atanh atanpi atan2pi  +syn keyword clFunction          sin sincos sinh sinpi asin asinh asinpi +syn keyword clFunction          tan tanh tanpi atan atan2 atanh atanpi atan2pi  syn keyword clFunction          cbrt ceil copysign -syn keyword clFunction          erfc erf  -syn keyword clFunction          exp exp2 exp10 expm1  -syn keyword clFunction          fabs fdim floor fma fmax fmin  -syn keyword clFunction          fract frexp hypot ilogb  +syn keyword clFunction          erfc erf +syn keyword clFunction          exp exp2 exp10 expm1 +syn keyword clFunction          fabs fdim floor fma fmax fmin +syn keyword clFunction          fract frexp hypot ilogb  syn keyword clFunction          ldexp ldexp lgamma lgamma_r  syn keyword clFunction          log log2 log10 log1p logb  syn keyword clFunction          mad modf @@ -105,21 +105,21 @@ syn keyword clFunction          isequal isnotequal isgreater isgreaterequal isle  " vector data load and store functions  syn keyword clFunction          vload_half vstore_half -syn match clFunction            "vload\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vload_half\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vloada_half\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vloada_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\)(" -syn match clFunction            "vstore\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vstore\(rte\|rtz\|rtp\|rtn\)(" -syn match clFunction            "vstore_half\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vstore_half_\(rte\|rtz\|rtp\|rtn\)(" -syn match clFunction            "vstore_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)(" -syn match clFunction            "vstorea_half\(2\|3\|4\|8\|16\)(" -syn match clFunction            "vstorea_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)(" +syn match clFunction            "vload\(2\|3\|4\|8\|16\)" +syn match clFunction            "vload_half\(2\|3\|4\|8\|16\)" +syn match clFunction            "vloada_half\(2\|3\|4\|8\|16\)" +syn match clFunction            "vloada_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\)" +syn match clFunction            "vstore\(2\|3\|4\|8\|16\)" +syn match clFunction            "vstore\(rte\|rtz\|rtp\|rtn\)" +syn match clFunction            "vstore_half\(2\|3\|4\|8\|16\)" +syn match clFunction            "vstore_half_\(rte\|rtz\|rtp\|rtn\)" +syn match clFunction            "vstore_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)" +syn match clFunction            "vstorea_half\(2\|3\|4\|8\|16\)" +syn match clFunction            "vstorea_half\(2\|3\|4\|8\|16\)_\(rte\|rtz\|rtp\|rtn\)"  " image read and write functions -syn match clFunction            "read_image\(f\|i\|ui\|h\)(" -syn match clFunction            "write_image\(f\|i\|ui\|h\)(" +syn match clFunction            "read_image\(f\|i\|ui\|h\)" +syn match clFunction            "write_image\(f\|i\|ui\|h\)"  syn keyword clFunction          get_image_width get_image_height get_image_depth get_image_channel_data_type get_image_channel_order get_image_dim  " explicit memory fence functions @@ -129,15 +129,15 @@ syn keyword clFunction          barrier mem_fence read_mem_fence write_mem_fence  syn keyword clFunction          async_work_group_copy async_work_group__strided_copy wait_group_events prefetch  " atomic functions -syn match clFunction            "atom_\(add\|sub\|xchg\|inc\|dec\|cmpxchg\|min\|max\|and\|or\|xor\)(" +syn match clFunction            "atom_\(add\|sub\|xchg\|inc\|dec\|cmpxchg\|min\|max\|and\|or\|xor\)"  syn keyword clConstant          MAXFLOAT HUGE_VALF INFINITY NAN  syn keyword clConstant          FLT_DIG FLT_MANT_DIG FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_MAX FLT_MIN FLT_EPSILON  syn keyword clConstant          CHAR_BIT CHAR_MAX CHAR_MIN INT_MIN INT_MAX LONG_MAX LONG_MIN SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN UCHAR_MAX UCHAR_MIN UINT_MAX ULONG_MAX  syn keyword clConstant          DBL_DIG DBL_MANT_DIG DBL_MAX_10_EXP DBL_MIN_10_EXP DBL_MIN_EXP DBL_MAX DBL_MIN DBL_EPSILON -syn keyword clConstant          M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI2 M_PI4 M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2  -syn keyword clConstant          CLK_NORMALIZED_COORDS_TRUE CLK_NORMALIZED_COORDS_FALSE  -syn keyword clConstant          CLK_ADDRESS_REPEAT CLK_ADDRESS_CLAMP_TO_EDGE CLK_ADDRESS_CLAMP  +syn keyword clConstant          M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI2 M_PI4 M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2 +syn keyword clConstant          CLK_NORMALIZED_COORDS_TRUE CLK_NORMALIZED_COORDS_FALSE +syn keyword clConstant          CLK_ADDRESS_REPEAT CLK_ADDRESS_CLAMP_TO_EDGE CLK_ADDRESS_CLAMP  syn keyword clConstant          CL_INTENSITY CL_RA CL_ARGB CL_BGRA CL_RGBA CL_R CL_RG CL_RGB CL_RGx CL_RGBx CL_Rx CL_A CL_LUMINANCE  syn keyword clConstant          CL_SNORM_INT8 CL_SNORM_INT16 CL_UNORM_INT8 CL_UNORM_INT16 CL_UNORM_SHORT_565 CL_UNORM_SHORT_555 CL_UNORM_INT_101010 CL_SIGNED_INT8 CL_SIGNED_INT16 CL_SIGNED_INT32 CL_UNSIGNED_INT8 CL_UNSIGNED_INT16 CL_UNSIGNED_INT32 CL_HALF_FLOAT CL_FLOAT  syn keyword clConstant          CLK_ADDRESS_NONE CLK_FILTER_NEAREST CLK_FILTER_LINEAR diff --git a/syntax/php.vim b/syntax/php.vim index 475d95e7..42f39d00 100644 --- a/syntax/php.vim +++ b/syntax/php.vim @@ -3,7 +3,7 @@  "  " {{{ BLOCK: Last-modified -" Thu, 14 Aug 2014 09:05:56 +0000, PHP 5.6.0RC2 +" Thu, 18 Sep 2014 08:32:15 +0000, PHP 5.6.0-1+deb.sury.org~trusty+1  " }}}  " @@ -46,6 +46,8 @@  "           php_folding = 1  for folding loops, if/elseif/else, switch, try/catch, classes, and functions based on  "                            indent, finds a } with an indent matching the structure.  "                         2  for folding all { }, ( ), and [ ] pairs. (see known bugs ii) +"           php_phpdoc_folding = 0 Don't fold phpDoc comments (default) +"                                1 Fold phpDoc comments  "           php_sync_method = x  "                             x=-1 to sync by search ( default )  "                             x>0 to sync at least x lines backwards @@ -150,6 +152,11 @@ if !exists("php_folding")    let php_folding = 0  endif +" set default for php_phpdoc_folding so we don't have to keep checking its existence. +if !exists("php_phpdoc_folding") +  let php_phpdoc_folding = 0 +endif +  " Folding Support {{{  "  if php_folding==1 && has("folding") @@ -158,6 +165,12 @@ else    command! -nargs=+ SynFold <args>  endif +if php_phpdoc_folding==1 && has("folding") +  command! -nargs=+ SynFoldDoc <args> fold +else +  command! -nargs=+ SynFoldDoc <args> +endif +  " }}}  syn case match @@ -246,7 +259,7 @@ syn keyword phpConstants ATTR_AUTOCOMMIT ATTR_CASE ATTR_CLIENT_VERSION ATTR_CONN  endif  if index(g:php_syntax_extensions_enabled, "pgsql") >= 0 && index(g:php_syntax_extensions_disabled, "pgsql") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "pgsql") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "pgsql") < 0)  " pgsql constants -syn keyword phpConstants PGSQL_ASSOC PGSQL_BAD_RESPONSE PGSQL_BOTH PGSQL_COMMAND_OK PGSQL_CONNECTION_AUTH_OK PGSQL_CONNECTION_AWAITING_RESPONSE PGSQL_CONNECTION_BAD PGSQL_CONNECTION_MADE PGSQL_CONNECTION_OK PGSQL_CONNECTION_SETENV PGSQL_CONNECTION_SSL_STARTUP PGSQL_CONNECTION_STARTED PGSQL_CONNECT_ASYNC PGSQL_CONNECT_FORCE_NEW PGSQL_CONV_FORCE_NULL PGSQL_CONV_IGNORE_DEFAULT PGSQL_CONV_IGNORE_NOT_NULL PGSQL_COPY_IN PGSQL_COPY_OUT PGSQL_DIAG_CONTEXT PGSQL_DIAG_INTERNAL_POSITION PGSQL_DIAG_INTERNAL_QUERY PGSQL_DIAG_MESSAGE_DETAIL PGSQL_DIAG_MESSAGE_HINT PGSQL_DIAG_MESSAGE_PRIMARY PGSQL_DIAG_SEVERITY PGSQL_DIAG_SOURCE_FILE PGSQL_DIAG_SOURCE_FUNCTION PGSQL_DIAG_SOURCE_LINE PGSQL_DIAG_SQLSTATE PGSQL_DIAG_STATEMENT_POSITION PGSQL_DML_ASYNC PGSQL_DML_ESCAPE PGSQL_DML_EXEC PGSQL_DML_NO_CONV PGSQL_DML_STRING PGSQL_EMPTY_QUERY PGSQL_ERRORS_DEFAULT PGSQL_ERRORS_TERSE PGSQL_ERRORS_VERBOSE PGSQL_FATAL_ERROR PGSQL_LIBPQ_VERSION PGSQL_LIBPQ_VERSION_STR PGSQL_NONFATAL_ERROR PGSQL_NUM PGSQL_POLLING_ACTIVE PGSQL_POLLING_FAILED PGSQL_POLLING_OK PGSQL_POLLING_READING PGSQL_POLLING_WRITING PGSQL_SEEK_CUR PGSQL_SEEK_END PGSQL_SEEK_SET PGSQL_STATUS_LONG PGSQL_STATUS_STRING PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN PGSQL_TUPLES_OK contained +syn keyword phpConstants PGSQL_ASSOC PGSQL_BAD_RESPONSE PGSQL_BOTH PGSQL_COMMAND_OK PGSQL_CONNECTION_AUTH_OK PGSQL_CONNECTION_AWAITING_RESPONSE PGSQL_CONNECTION_BAD PGSQL_CONNECTION_MADE PGSQL_CONNECTION_OK PGSQL_CONNECTION_SETENV PGSQL_CONNECTION_STARTED PGSQL_CONNECT_ASYNC PGSQL_CONNECT_FORCE_NEW PGSQL_CONV_FORCE_NULL PGSQL_CONV_IGNORE_DEFAULT PGSQL_CONV_IGNORE_NOT_NULL PGSQL_COPY_IN PGSQL_COPY_OUT PGSQL_DIAG_CONTEXT PGSQL_DIAG_INTERNAL_POSITION PGSQL_DIAG_INTERNAL_QUERY PGSQL_DIAG_MESSAGE_DETAIL PGSQL_DIAG_MESSAGE_HINT PGSQL_DIAG_MESSAGE_PRIMARY PGSQL_DIAG_SEVERITY PGSQL_DIAG_SOURCE_FILE PGSQL_DIAG_SOURCE_FUNCTION PGSQL_DIAG_SOURCE_LINE PGSQL_DIAG_SQLSTATE PGSQL_DIAG_STATEMENT_POSITION PGSQL_DML_ASYNC PGSQL_DML_ESCAPE PGSQL_DML_EXEC PGSQL_DML_NO_CONV PGSQL_DML_STRING PGSQL_EMPTY_QUERY PGSQL_ERRORS_DEFAULT PGSQL_ERRORS_TERSE PGSQL_ERRORS_VERBOSE PGSQL_FATAL_ERROR PGSQL_LIBPQ_VERSION PGSQL_LIBPQ_VERSION_STR PGSQL_NONFATAL_ERROR PGSQL_NUM PGSQL_POLLING_ACTIVE PGSQL_POLLING_FAILED PGSQL_POLLING_OK PGSQL_POLLING_READING PGSQL_POLLING_WRITING PGSQL_SEEK_CUR PGSQL_SEEK_END PGSQL_SEEK_SET PGSQL_STATUS_LONG PGSQL_STATUS_STRING PGSQL_TRANSACTION_ACTIVE PGSQL_TRANSACTION_IDLE PGSQL_TRANSACTION_INERROR PGSQL_TRANSACTION_INTRANS PGSQL_TRANSACTION_UNKNOWN PGSQL_TUPLES_OK contained  endif  if index(g:php_syntax_extensions_enabled, "phar") >= 0 && index(g:php_syntax_extensions_disabled, "phar") < 0 && ( ! exists("b:php_syntax_extensions_enabled") || index(b:php_syntax_extensions_enabled, "phar") >= 0) && ( ! exists("b:php_syntax_extensions_disabled") || index(b:php_syntax_extensions_disabled, "phar") < 0)  " Phar constants @@ -582,7 +595,7 @@ syn match phpCommentStar contained "^\s*\*$"  if !exists("php_ignore_phpdoc") || !php_ignore_phpdoc    syn case ignore -  syn region phpDocComment   start="/\*\*" end="\*/" keepend contains=phpCommentTitle,phpDocTags,phpTodo,@Spell +  SynFoldDoc syn region phpDocComment   start="/\*\*" end="\*/" keepend contains=phpCommentTitle,phpDocTags,phpTodo,@Spell    syn region phpCommentTitle contained matchgroup=phpDocComment start="/\*\*" matchgroup=phpCommmentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=phpCommentStar,phpTodo,phpDocTags,@Spell containedin=phpDocComment    syn region phpDocTags  start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpDocComment @@ -818,6 +831,7 @@ endif  " Cleanup: {{{  delcommand SynFold +delcommand SynFoldDoc  let b:current_syntax = "php"  let &iskeyword = s:iskeyword_save diff --git a/syntax/rust.vim b/syntax/rust.vim index 6ee610d9..25d3b4bf 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -27,14 +27,16 @@ syn keyword   rustKeyword     for in if impl let  syn keyword   rustKeyword     loop once proc pub  syn keyword   rustKeyword     return super  syn keyword   rustKeyword     unsafe virtual where while -syn keyword   rustKeyword     use nextgroup=rustModPath,rustModPathInUse skipwhite skipempty +syn keyword   rustKeyword     use nextgroup=rustModPath skipwhite skipempty  " FIXME: Scoped impl's name is also fallen in this category  syn keyword   rustKeyword     mod trait struct enum type nextgroup=rustIdentifier skipwhite skipempty  syn keyword   rustStorage     mut ref static const  syn keyword   rustInvalidBareKeyword crate -syn keyword   rustExternCrate crate contained nextgroup=rustIdentifier skipwhite skipempty +syn keyword   rustExternCrate crate contained nextgroup=rustIdentifier,rustExternCrateString skipwhite skipempty +" This is to get the `bar` part of `extern crate "foo" as bar;` highlighting. +syn match   rustExternCrateString /".*"\_s*as/ contained nextgroup=rustIdentifier skipwhite transparent skipempty contains=rustString,rustOperator  syn keyword   rustObsoleteExternMod mod contained nextgroup=rustIdentifier skipwhite skipempty  syn match     rustIdentifier  contains=rustIdentifierPrime "\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" display contained @@ -54,7 +56,7 @@ syn match rustMacroRepeatCount ".\?[*+]" contained  syn match rustMacroVariable "$\w\+"  " Reserved (but not yet used) keywords {{{2 -syn keyword   rustReservedKeyword alignof be do offsetof priv pure sizeof typeof unsized yield +syn keyword   rustReservedKeyword alignof be do offsetof priv pure sizeof typeof unsized yield abstract final override  " Built-in types {{{2  syn keyword   rustType        int uint float char bool u8 u16 u32 u64 f32 @@ -91,7 +93,7 @@ syn keyword rustEnum Ordering  syn keyword rustEnumVariant Less Equal Greater  syn keyword rustTrait Collection Mutable Map MutableMap MutableSeq  syn keyword rustTrait Set MutableSet -syn keyword rustTrait FromIterator Extendable ExactSize +syn keyword rustTrait FromIterator IntoIterator Extend ExactSize  syn keyword rustTrait Iterator DoubleEndedIterator  syn keyword rustTrait RandomAccessIterator CloneableIterator  syn keyword rustTrait OrdIterator MutableDoubleEndedIterator @@ -131,9 +133,7 @@ syn keyword   rustBoolean     true false  " If foo::bar changes to foo.bar, change this ("::" to "\.").  " If foo::bar changes to Foo::bar, change this (first "\w" to "\u").  syn match     rustModPath     "\w\(\w\)*::[^<]"he=e-3,me=e-3 -syn match     rustModPathInUse "\w\(\w\)*" contained " only for 'use path;'  syn match     rustModPathSep  "::" -" rustModPathInUse is split out from rustModPath so that :syn-include can get the group list right.  syn match     rustFuncCall    "\w\(\w\)*("he=e-1,me=e-1  syn match     rustFuncCall    "\w\(\w\)*::<"he=e-3,me=e-3 " foo::<T>(); @@ -172,9 +172,10 @@ syn match     rustOctNumber   display "\<0o[0-7_]\+\%([iu]\%(8\|16\|32\|64\)\=\)  syn match     rustBinNumber   display "\<0b[01_]\+\%([iu]\%(8\|16\|32\|64\)\=\)\="  " Special case for numbers of the form "1." which are float literals, unless followed by -" an identifier, which makes them integer literals with a method call or field access. +" an identifier, which makes them integer literals with a method call or field access, +" or by another ".", which makes them integer literals followed by the ".." token.  " (This must go first so the others take precedence.) -syn match     rustFloat       display "\<[0-9][0-9_]*\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\@!" +syn match     rustFloat       display "\<[0-9][0-9_]*\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\|\.\)\@!"  " To mark a number as a normal float, it must have at least one of the three things integral values don't have:  " a decimal point and more numbers; an exponent; and a type suffix.  syn match     rustFloat       display "\<[0-9][0-9_]*\%(\.[0-9][0-9_]*\)\%([eE][+-]\=[0-9_]\+\)\=\(f32\|f64\)\=" @@ -216,7 +217,7 @@ syn keyword rustTodo contained TODO FIXME XXX NB NOTE  " Folding rules {{{2  " Trivial folding rules to begin with. -" TODO: use the AST to make really good folding +" FIXME: use the AST to make really good folding  syn region rustFoldBraces start="{" end="}" transparent fold  " Default highlighting {{{1 @@ -252,7 +253,6 @@ hi def link rustReservedKeyword Error  hi def link rustConditional   Conditional  hi def link rustIdentifier    Identifier  hi def link rustCapsIdent     rustIdentifier -hi def link rustModPathInUse  rustModPath  hi def link rustModPath       Include  hi def link rustModPathSep    Delimiter  hi def link rustFunction      Function diff --git a/syntax/systemd.vim b/syntax/systemd.vim index 90f2e05f..d00cf7e2 100644 --- a/syntax/systemd.vim +++ b/syntax/systemd.vim @@ -46,6 +46,7 @@ syn match sdUnitKey contained /^Documentation=/ nextgroup=sdDocURI  syn match sdUnitKey contained /^SourcePath=/ nextgroup=sdFilename,sdErr  syn match sdUnitKey contained /^\%(Requires\|RequiresOverridable\|Requisite\|RequisiteOverridable\|Wants\|BindsTo\|PartOf\|Conflicts\|Before\|After\|OnFailure\|Names|PropagatesReloadTo\|ReloadPropagatedFrom\)=/ nextgroup=sdUnitList  syn match sdUnitKey contained /^\%(OnFailureIsolate\|IgnoreOnIsolate\|IgnoreOnSnapshot\|StopWhenUnneeded\|RefuseManualStart\|RefuseManualStop\|AllowIsolate\|DefaultDependencies\)=/ nextgroup=sdBool,sdErr +syn match sdUnitKey contained /^OnFailureJobMode=/ nextgroup=sdFailJobMode,sdErr  syn match sdUnitKey contained /^JobTimeoutSec=/ nextgroup=sdDuration,sdErr  " ConditionXXX. Note that they all have an optional '|' after the '='  syn match sdUnitKey contained /^Condition\(PathExists\|PathExistsGlob\|PathIsDirectory\|PathIsMountPoint\|PathIsReadWrite\|PathIsSymbolicLink\|DirectoryNotEmpty\|FileNotEmpty\|FileIsExecutable\)=|\=!\=/ contains=sdConditionFlag nextgroup=sdFilename,sdErr @@ -59,6 +60,7 @@ syn match sdUnitList       contained /.*/ contains=sdUnitName,sdErr  syn match sdConditionFlag  contained /[!|]/  syn keyword sdVirtType     contained nextgroup=sdErr vm container qemu kvm vmware microsoft oracle xen bochs chroot openvz lxc lxc-libvirt systemd-nspawn  syn keyword sdSecurityType contained nextgroup=sdErr selinux +syn keyword sdFailJobMode  contained nextgroup=sderr fail replace replace-irreversibly  syn match sdDocUri         contained /\%(https\=:\/\/\|file:\|info:\|man:\)\S\+\s*/ nextgroup=sdDocUri,sdErr  " [Install] {{{1 @@ -94,6 +96,7 @@ syn match sdExecKey contained /^IOSchedulingClass=/ nextgroup=sdIOSchedClass,sdE  syn match sdExecKey contained /^IOSchedulingPriority=/ nextgroup=sdIOSchedPrio,sdErr  syn match sdExecKey contained /^CPUSchedulingPolicy=/ nextgroup=sdCPUSchedPol,sdErr  syn match sdExecKey contained /^MountFlags=/ nextgroup=sdMountFlags,sdErr +syn match sdExecKey contained /^IgnoreSIGPIPE=/ nextgroup=sdBool,sdErr  syn match sdExecKey contained /^Environment=/ nextgroup=sdEnvDefs  syn match sdExecKey contained /^EnvironmentFile=-\=/ contains=sdEnvDashFlag nextgroup=sdFilename,sdErr @@ -248,6 +251,7 @@ hi def link sdSecurityType      sdValue  hi def link sdSecureBits        sdValue  hi def link sdMountFlags        sdValue  hi def link sdKillMode          sdValue +hi def link sdFailJobMode       sdValue  hi def link sdRestartType       sdValue  hi def link sdSignal            sdValue  hi def link sdStdin             sdValue diff --git a/syntax/toml.vim b/syntax/toml.vim index 8be0b3f0..a7c4bc5b 100644 --- a/syntax/toml.vim +++ b/syntax/toml.vim @@ -7,10 +7,22 @@ if exists("b:current_syntax")    finish  endif -syn match tomlEscape /\\[0tnr"\\]/ display +syn match tomlEscape /\\[btnfr"/\\]/ display contained +syn match tomlEscape /\\u\x\{4}/ contained +syn match tomlEscape /\\U\x\{8}/ contained  hi def link tomlEscape SpecialChar -syn region tomlString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=tomlEscape +syn match tomlLineEscape /\\$/ contained +hi def link tomlLineEscape SpecialChar + +" Basic strings +syn region tomlString oneline start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=tomlEscape +" Multi-line basic strings +syn region tomlString start=/"""/ end=/"""/ contains=tomlEscape,tomlLineEscape +" Literal strings +syn region tomlString oneline start=/'/ end=/'/ +" Multi-line literal strings +syn region tomlString start=/'''/ end=/'''/  hi def link tomlString String  syn match tomlInteger /\<-\?\d\+\>/ display @@ -25,8 +37,11 @@ hi def link tomlBoolean Boolean  syn match tomlDate /\d\{4\}-\d\{2\}-\d\{2\}T\d\{2\}:\d\{2\}:\d\{2\}Z/ display  hi def link tomlDate Constant -syn match tomlKeyGroup /^\s*\[.\+\]\s*\(#.*\)\?$/ contains=tomlComment -hi def link tomlKeyGroup Identifier +syn match tomlTable /^\s*\[[^#\[\]]\+\]\s*\(#.*\)\?$/ contains=tomlComment +hi def link tomlTable Identifier + +syn match tomlTableArray /^\s*\[\[[^#\[\]]\+\]\]\s*\(#.*\)\?$/ contains=tomlComment +hi def link tomlTableArray Identifier  syn keyword tomlTodo TODO FIXME XXX BUG contained  hi def link tomlTodo Todo diff --git a/syntax/typescript.vim b/syntax/typescript.vim index d862df05..6b1c6d65 100644 --- a/syntax/typescript.vim +++ b/syntax/typescript.vim @@ -30,7 +30,7 @@ hi link shebang Comment  "" typeScript comments"{{{  syn keyword typeScriptCommentTodo TODO FIXME XXX TBD contained  syn match typeScriptLineComment "\/\/.*" contains=@Spell,typeScriptCommentTodo,typeScriptRef -syn match typeScriptRef /\/\/\/\s*<reference\s\+.*\/>$/ contains=typeScriptRefD,typeScriptRefS +syn match typeScriptRef /\/\/\/<reference\s\+.*\/>$/ contains=typeScriptRefD,typeScriptRefS  syn region typeScriptRefD start=+"+ skip=+\\\\\|\\"+ end=+"\|$+  syn region typeScriptRefS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ @@ -116,7 +116,7 @@ syntax keyword typeScriptGlobalObjects Array Boolean Date Function Infinity Math  syntax keyword typeScriptExceptions try catch throw finally Error EvalError RangeError ReferenceError SyntaxError TypeError URIError -syntax keyword typeScriptReserved constructor declare as interface module abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public +syntax keyword typeScriptReserved constructor declare as interface module abstract enum int short export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public  "}}}  "" TypeScript/DOM/HTML/CSS specified things"{{{ @@ -126,7 +126,7 @@ syntax keyword typeScriptReserved constructor declare as interface module abstra    syn match typeScriptParameters "([a-zA-Z0-9_?.$][\w?.$]*)\s*:\s*([a-zA-Z0-9_?.$][\w?.$]*)" contained skipwhite  "}}}  " DOM2 Objects"{{{ -  syntax keyword typeScriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string bool number +  syntax keyword typeScriptType DOMImplementation DocumentFragment Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction void any string boolean number    syntax keyword typeScriptExceptions DOMException  "}}}  " DOM2 CONSTANT"{{{ diff --git a/syntax/vimgo.vim b/syntax/vimgo.vim new file mode 100644 index 00000000..d62791d3 --- /dev/null +++ b/syntax/vimgo.vim @@ -0,0 +1,11 @@ +if exists("b:current_syntax") +    finish +endif + +let b:current_syntax = "vimgo" + +syn match   goInterface /^\S*/ +syn region  goTitle start="\%1l" end=":" + +hi def link goInterface Type +hi def link goTitle Label | 
