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 'syntax')
-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 |