diff options
Diffstat (limited to '')
| -rw-r--r-- | syntax/c.vim | 4 | ||||
| -rw-r--r-- | syntax/crystal.vim | 2 | ||||
| -rw-r--r-- | syntax/glsl.vim | 14 | ||||
| -rw-r--r-- | syntax/gotexttmpl.vim | 4 | ||||
| -rw-r--r-- | syntax/haskell.vim | 42 | ||||
| -rw-r--r-- | syntax/html.vim | 4 | ||||
| -rw-r--r-- | syntax/javascript.vim | 8 | ||||
| -rw-r--r-- | syntax/markdown.vim | 4 | ||||
| -rw-r--r-- | syntax/nginx.vim | 41 | ||||
| -rw-r--r-- | syntax/plantuml.vim | 314 | ||||
| -rw-r--r-- | syntax/pug.vim | 5 | ||||
| -rw-r--r-- | syntax/ruby.vim | 12 | ||||
| -rw-r--r-- | syntax/swift.vim | 9 | ||||
| -rw-r--r-- | syntax/terraform.vim | 62 | ||||
| -rw-r--r-- | syntax/tmux.vim | 16 | ||||
| -rw-r--r-- | syntax/vue.vim | 129 | 
16 files changed, 434 insertions, 236 deletions
| diff --git a/syntax/c.vim b/syntax/c.vim index 0dff4be1..c37af28f 100644 --- a/syntax/c.vim +++ b/syntax/c.vim @@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c/c++') == -1  " Vim syntax file  " Language:	C  " Maintainer:	Bram Moolenaar <Bram@vim.org> -" Last Change:	2016 Nov 17 +" Last Change:	2016 Nov 18  " Quit when a (custom) syntax file was already loaded  if exists("b:current_syntax") @@ -365,7 +365,7 @@ syn match	cPreConditMatch	display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>"  if !exists("c_no_if0")    syn cluster	cCppOutInGroup	contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip    syn region	cCppOutWrapper	start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold -  syn region	cCppOutIf	contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\zs\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse +  syn region	cCppOutIf	contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse    if !exists("c_no_if0_fold")      syn region	cCppOutIf2	contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold    else diff --git a/syntax/crystal.vim b/syntax/crystal.vim index c361ad70..0ddf7653 100644 --- a/syntax/crystal.vim +++ b/syntax/crystal.vim @@ -177,7 +177,7 @@ end  syn match  crystalAliasDeclaration    "[^[:space:];#.()]\+" contained contains=crystalSymbol,crystalGlobalVariable,crystalPredefinedVariable nextgroup=crystalAliasDeclaration2 skipwhite  syn match  crystalAliasDeclaration2   "[^[:space:];#.()]\+" contained contains=crystalSymbol,crystalGlobalVariable,crystalPredefinedVariable  syn match  crystalMethodDeclaration   "[^[:space:];#(]\+"	 contained contains=crystalConstant,crystalBoolean,crystalPseudoVariable,crystalInstanceVariable,crystalClassVariable,crystalGlobalVariable -syn match  crystalFunctionDeclaration "[^[:space:];#=]\+"	 contained contains=crystalConstant +syn match  crystalFunctionDeclaration "[^[:space:];#(=]\+"	 contained contains=crystalConstant  syn match  crystalTypeDeclaration     "[^[:space:];#=]\+"	 contained contains=crystalConstant  syn match  crystalClassDeclaration    "[^[:space:];#<]\+"	 contained contains=crystalConstant,crystalOperator  syn match  crystalModuleDeclaration   "[^[:space:];#<]\+"	 contained contains=crystalConstant,crystalOperator diff --git a/syntax/glsl.vim b/syntax/glsl.vim index f0424b50..e77354bb 100644 --- a/syntax/glsl.vim +++ b/syntax/glsl.vim @@ -28,15 +28,15 @@ syn region  glslPreProc         start="^\s*#\s*\(error\|pragma\|extension\|versi  syn keyword glslBoolean true false  " Integer Numbers -syn match glslDecimalInt display "\(0\|[1-9]\d*\)" -syn match glslOctalInt   display "0\o\+" -syn match glslHexInt     display "0[xX]\x\+" +syn match glslDecimalInt display "\(0\|[1-9]\d*\)[uU]\?" +syn match glslOctalInt   display "0\o\+[uU]\?" +syn match glslHexInt     display "0[xX]\x\+[uU]\?"  " Float Numbers -syn match glslFloat display "\d\+\.\([eE][+-]\=\d\+\)\=" -syn match glslFloat display "\.\d\+\([eE][+-]\=\d\+\)\=" -syn match glslFloat display "\d\+[eE][+-]\=\d\+" -syn match glslFloat display "\d\+\.\d\+\([eE][+-]\=\d\+\)\=" +syn match glslFloat display "\d\+\.\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\d\+[eE][+-]\=\d\+\(lf\|LF\|f\|F\)\=" +syn match glslFloat display "\d\+\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\="  " Swizzles  syn match glslSwizzle display /\.[xyzw]\{1,4\}\>/ diff --git a/syntax/gotexttmpl.vim b/syntax/gotexttmpl.vim index 0b8987c0..11539355 100644 --- a/syntax/gotexttmpl.vim +++ b/syntax/gotexttmpl.vim @@ -76,8 +76,8 @@ hi def link     goTplVariable       Special  syn region gotplAction start="{{" end="}}" contains=@gotplLiteral,gotplControl,gotplFunctions,gotplVariable,goTplIdentifier display  syn region gotplAction start="\[\[" end="\]\]" contains=@gotplLiteral,gotplControl,gotplFunctions,gotplVariable display -syn region goTplComment start="{{/\*" end="\*/}}" display -syn region goTplComment start="\[\[/\*" end="\*/\]\]" display +syn region goTplComment start="{{\(- \)\?/\*" end="\*/\( -\)\?}}" display +syn region goTplComment start="\[\[\(- \)\?/\*" end="\*/\( -\)\?\]\]" display  hi def link gotplAction PreProc  hi def link goTplComment Comment diff --git a/syntax/haskell.vim b/syntax/haskell.vim index e301742b..1a26d1c0 100644 --- a/syntax/haskell.vim +++ b/syntax/haskell.vim @@ -13,11 +13,7 @@ elseif exists("b:current_syntax")    finish  endif -if !exists('g:haskell_disable_TH') -    let g:haskell_disable_TH = 0 -endif - -if exists('g:haskell_backpack') && g:haskell_backpack == 1 +if get(g:, 'haskell_backpack', 0)    syn keyword haskellBackpackStructure unit signature    syn keyword haskellBackpackDependency dependency  endif @@ -63,7 +59,7 @@ syn match haskellImport "^\s*\<import\>\s\+\(\<safe\>\s\+\)\?\(\<qualified\>\s\+    \ haskellBlockComment,    \ haskellPragma  syn keyword haskellKeyword do case of -if exists('g:haskell_enable_static_pointers') && g:haskell_enable_static_pointers == 1 +if get(g:, 'haskell_enable_static_pointers', 0)    syn keyword haskellStatic static  endif  syn keyword haskellConditional if then else @@ -107,29 +103,29 @@ syn match haskellPreProc "^#.*$"  syn keyword haskellTodo TODO FIXME contained  " Treat a shebang line at the start of the file as a comment  syn match haskellShebang "\%^#!.*$" -if exists('g:haskell_disable_TH') && g:haskell_disable_TH == 0 +if !get(g:, 'haskell_disable_TH', 0)      syn match haskellQuasiQuoted "." containedin=haskellQuasiQuote contained      syn region haskellQuasiQuote matchgroup=haskellTH start="\[[_a-zA-Z][a-zA-z0-9._']*|" end="|\]"      syn region haskellTHBlock matchgroup=haskellTH start="\[\(d\|t\|p\)\?|" end="|]" contains=TOP      syn region haskellTHDoubleBlock matchgroup=haskellTH start="\[||" end="||]" contains=TOP  endif -if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1 +if get(g:, 'haskell_enable_typeroles', 0)    syn keyword haskellTypeRoles phantom representational nominal contained    syn region haskellTypeRoleBlock matchgroup=haskellTypeRoles start="type\s\+role" end="$" keepend      \ contains=      \ haskellType,      \ haskellTypeRoles  endif -if exists('g:haskell_enable_quantification') && g:haskell_enable_quantification == 1 +if get(g:, 'haskell_enable_quantification', 0)    syn keyword haskellForall forall  endif -if exists('g:haskell_enable_recursivedo') && g:haskell_enable_recursivedo == 1 +if get(g:, 'haskell_enable_recursivedo', 0)    syn keyword haskellRecursiveDo mdo rec  endif -if exists('g:haskell_enable_arrowsyntax') && g:haskell_enable_arrowsyntax == 1 +if get(g:, 'haskell_enable_arrowsyntax', 0)    syn keyword haskellArrowSyntax proc  endif -if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1 +if get(g:, 'haskell_enable_pattern_synonyms', 0)    syn keyword haskellPatternKeyword pattern  endif @@ -161,7 +157,7 @@ highlight def link haskellAssocType Type  highlight def link haskellQuotedType Type  highlight def link haskellType Type  highlight def link haskellImportKeywords Include -if exists('g:haskell_classic_highlighting') && g:haskell_classic_highlighting == 1 +if get(g:, 'haskell_classic_highlighting', 0)    highlight def link haskellDeclKeyword Keyword    highlight def link haskellDecl Keyword    highlight def link haskellWhere Keyword @@ -173,35 +169,35 @@ else    highlight def link haskellLet Structure  endif -if exists('g:haskell_enable_quantification') && g:haskell_enable_quantification == 1 +if get(g:, 'haskell_enable_quantification', 0)    highlight def link haskellForall Operator  endif -if exists('g:haskell_enable_recursivedo') && g:haskell_enable_recursivedo == 1 +if get(g:, 'haskell_enable_recursivedo', 0)    highlight def link haskellRecursiveDo Keyword  endif -if exists('g:haskell_enable_arrowsyntax') && g:haskell_enable_arrowsyntax == 1 +if get(g:, 'haskell_enable_arrowsyntax', 0)    highlight def link haskellArrowSyntax Keyword  endif -if exists('g:haskell_enable_static_pointers') && g:haskell_enable_static_pointers == 1 +if get(g:, 'haskell_enable_static_pointers', 0)    highlight def link haskellStatic Keyword  endif -if exists('g:haskell_classic_highlighting') && g:haskell_classic_highlighting == 1 -  if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1 +if get(g:, 'haskell_classic_highlighting', 0) +  if get(g:, 'haskell_enable_pattern_synonyms', 0)      highlight def link haskellPatternKeyword Keyword    endif -  if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1 +  if get(g:, 'haskell_enable_typeroles', 0)      highlight def link haskellTypeRoles Keyword    endif  else -  if exists('g:haskell_enable_pattern_synonyms') && g:haskell_enable_pattern_synonyms == 1 +  if get(g:, 'haskell_enable_pattern_synonyms', 0)      highlight def link haskellPatternKeyword Structure    endif -  if exists('g:haskell_enable_typeroles') && g:haskell_enable_typeroles == 1 +  if get(g:, 'haskell_enable_typeroles', 0)      highlight def link haskellTypeRoles Structure    endif  endif -if exists('g:haskell_backpack') && g:haskell_backpack == 1 +if get(g:, 'haskell_backpack', 0)    highlight def link haskellBackpackStructure Structure    highlight def link haskellBackpackDependency Include  endif diff --git a/syntax/html.vim b/syntax/html.vim index 3f58cf02..9ae35217 100644 --- a/syntax/html.vim +++ b/syntax/html.vim @@ -121,9 +121,11 @@ syn keyword htmlArg contained download media  syn keyword htmlArg contained nonce  " <area>, <a>, <img>, <iframe>, <link>  syn keyword htmlArg contained referrerpolicy -" <script>  " https://w3c.github.io/webappsec-subresource-integrity/#the-integrity-attribute  syn keyword htmlArg contained integrity crossorigin +" <link> +syn keyword htmlArg contained prefetch  +" syn keyword htmlArg contained preload  " Custom Data Attributes  " http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes diff --git a/syntax/javascript.vim b/syntax/javascript.vim index 76d1267f..9476db00 100644 --- a/syntax/javascript.vim +++ b/syntax/javascript.vim @@ -27,7 +27,7 @@ syntax sync fromstart  syntax case match  syntax match   jsNoise          /[:,\;]\{1}/ -syntax match   jsNoise          /[\.]\{1}/ skipwhite skipempty nextgroup=jsObjectProp,jsFuncCall +syntax match   jsNoise          /[\.]\{1}/ skipwhite skipempty nextgroup=jsObjectProp,jsFuncCall,jsPrototype  syntax match   jsObjectProp     contained /\<[a-zA-Z_$][0-9a-zA-Z_$]*\>/  syntax match   jsFuncCall       /\k\+\%(\s*(\)\@=/  syntax match   jsParensError    /[)}\]]/ @@ -239,8 +239,8 @@ if exists("javascript_plugin_flow")    runtime extras/flow.vim  endif -syntax cluster jsExpression  contains=jsBracket,jsParen,jsObject,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsDo -syntax cluster jsAll         contains=@jsExpression,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsTry,jsAsyncKeyword,jsNoise,,jsBlockLabel +syntax cluster jsExpression  contains=jsBracket,jsParen,jsObject,jsTernaryIf,jsTaggedTemplate,jsTemplateString,jsString,jsRegexpString,jsNumber,jsFloat,jsOperator,jsBooleanTrue,jsBooleanFalse,jsNull,jsFunction,jsArrowFunction,jsGlobalObjects,jsExceptions,jsFutureKeys,jsDomErrNo,jsDomNodeConsts,jsHtmlEvents,jsFuncCall,jsUndefined,jsNan,jsPrototype,jsBuiltins,jsNoise,jsClassDefinition,jsArrowFunction,jsArrowFuncArgs,jsParensError,jsComment,jsArguments,jsThis,jsSuper,jsDo,jsForAwait +syntax cluster jsAll         contains=@jsExpression,jsStorageClass,jsConditional,jsRepeat,jsReturn,jsStatement,jsException,jsTry,jsAsyncKeyword,jsNoise,jsBlockLabel  " Define the default highlighting.  " For version 5.7 and earlier: only when not done already @@ -384,7 +384,7 @@ if version >= 508 || !exists("did_javascript_syn_inits")  endif  " Define the htmlJavaScript for HTML syntax html.vim -syntax cluster  htmlJavaScript       contains=@jsAll +syntax cluster  htmlJavaScript       contains=@jsAll,jsImport,jsExport  syntax cluster  javaScriptExpression contains=@jsAll  " Vim's default html.vim highlights all javascript as 'Special' diff --git a/syntax/markdown.vim b/syntax/markdown.vim index 71d2264e..2d2ee521 100644 --- a/syntax/markdown.vim +++ b/syntax/markdown.vim @@ -145,8 +145,8 @@ endif  if get(g:, 'vim_markdown_math', 0)    syn include @tex syntax/tex.vim -  syn region mkdMath start="\\\@<!\$" end="\$" contains=@tex keepend -  syn region mkdMath start="\\\@<!\$\$" end="\$\$" contains=@tex keepend +  syn region mkdMath start="\\\@<!\$" end="\$" skip="\\\$" contains=@tex keepend +  syn region mkdMath start="\\\@<!\$\$" end="\$\$" skip="\\\$" contains=@tex keepend  endif  syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath diff --git a/syntax/nginx.vim b/syntax/nginx.vim index e20d49ef..1c55bd41 100644 --- a/syntax/nginx.vim +++ b/syntax/nginx.vim @@ -10,9 +10,9 @@ end  " Patch 7.4.1142  if has("patch-7.4-1142")    if has("win32") -    syn iskeyword @,48-57,_,128-167,224-235,.,/,: +    syn iskeyword @,48-57,_,128-167,224-235,.,/,:,-    else -    syn iskeyword @,48-57,_,192-255,.,/,: +    syn iskeyword @,48-57,_,192-255,.,/,:,-    endif  endif @@ -25,6 +25,11 @@ syn region ngxString start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|  syn keyword ngxBoolean on  syn keyword ngxBoolean off +" Number and Measures http://nginx.org/en/docs/syntax.html +syn match ngxNumber  '\<\d\+\>' +syn match ngxMeasure '\<\d\+ms\>' +syn match ngxMeasure '\<\d\+[smhdwMy]\>' +syn match ngxMeasure '\<\d\+[kKmMgG]\>'  syn keyword ngxDirectiveBlock http  syn keyword ngxDirectiveBlock mail @@ -48,7 +53,7 @@ syn keyword ngxDirectiveImportant root  syn keyword ngxDirectiveImportant server  syn keyword ngxDirectiveImportant server_name  syn keyword ngxDirectiveImportant listen contained -syn region  ngxDirectiveImportantListen matchgroup=ngxDirectiveImportant start=+listen+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxListenOptions,ngxString +syn region  ngxDirectiveImportantListen matchgroup=ngxDirectiveImportant start=+listen+ skip=+\\\\\|\\\;+ end=+;+he=e-1 contains=ngxListenOptions,ngxNumber,ngxString  syn keyword ngxDirectiveImportant internal  syn keyword ngxDirectiveImportant proxy_pass  syn keyword ngxDirectiveImportant memcached_pass @@ -84,9 +89,9 @@ syn match ngxStatusCode  /\d\d\d/ contained  syn match ngxStatusCodes /\d\d\d/ contained contains=ngxStatusCode nextgroup=ngxStatusCode skipwhite skipempty  syn match  ngxRewriteURI  /\S\+/ contained contains=ngxVariableString nextgroup=ngxRewritedURI skipwhite skipempty -syn region ngxRewriteURI  start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString nextgroup=ngxRewritedURI skipwhite skipempty +syn region ngxRewriteURI  start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contained contains=ngxVariableString nextgroup=ngxRewritedURI skipwhite skipempty  syn match  ngxRewritedURI /\S\+/ contained contains=ngxVariableString nextgroup=ngxRewriteFlag skipwhite skipempty -syn region ngxRewritedURI start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contains=ngxVariableString nextgroup=ngxRewriteFlag skipwhite skipempty +syn region ngxRewritedURI start=+[^:a-zA-Z>!\\@]\z(["']\)+lc=1 end=+\z1+ skip=+\\\\\|\\\z1+ contained contains=ngxVariableString nextgroup=ngxRewriteFlag skipwhite skipempty  syn keyword ngxRewriteFlag last      contained  syn keyword ngxRewriteFlag break     contained @@ -137,7 +142,10 @@ syn keyword ngxDirective autoindex  syn keyword ngxDirective autoindex_exact_size  syn keyword ngxDirective autoindex_format  syn keyword ngxDirective autoindex_localtime -syn keyword ngxDirective charset +syn keyword ngxDirective charset nextgroup=ngxCharset skipwhite skipempty + +syn keyword ngxCharset   utf-8 UTF-8 +  syn keyword ngxDirective charset_map  syn keyword ngxDirective charset_types  syn keyword ngxDirective chunked_transfer_encoding @@ -2189,27 +2197,34 @@ syn keyword ngxDirectiveThirdParty xss_input_types  " highlight  hi link ngxComment Comment -hi link ngxVariable Identifier +hi link ngxVariable PreProc  hi link ngxVariableString PreProc  hi link ngxString String  hi link ngxLocationPath String -hi link ngxLocationNamedLoc Identifier +hi link ngxLocationNamedLoc PreProc -hi link ngxBoolean Boolean -hi link ngxStatusCode Number -hi link ngxRewriteFlag Boolean +hi link ngxDirective Identifier  hi link ngxDirectiveBlock Statement  hi link ngxDirectiveImportant Type  hi link ngxDirectiveControl Keyword  hi link ngxDirectiveError Constant +hi link ngxDirectiveThirdParty Identifier  hi link ngxDirectiveDeprecated Error -hi link ngxDirective Identifier -hi link ngxDirectiveThirdParty Special +hi link ngxBoolean Boolean +hi link ngxNumber Number +hi link ngxMeasure Number +hi link ngxStatusCode Number +hi link ngxRewriteFlag Boolean + +hi link ngxCharset keyword  hi link ngxListenOptions Keyword  hi link ngxMailProtocol Keyword  hi link ngxSSLProtocol Keyword +hi link ngxRewriteURI  Special +hi link ngxRewritedURI StorageClass +  hi link ngxThirdPartyKeyword keyword  let b:current_syntax = "nginx" diff --git a/syntax/plantuml.vim b/syntax/plantuml.vim index 45308ee8..907f45d3 100644 --- a/syntax/plantuml.vim +++ b/syntax/plantuml.vim @@ -3,54 +3,82 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'plantuml') == -  " Vim syntax file  " Language:     PlantUML  " Maintainer:   Anders Thøgersen <first name at bladre dot dk> -" Version:      0.2 -" -if exists("b:current_syntax") +if exists('b:current_syntax')    finish  endif -if version < 600 +scriptencoding utf-8 + +if v:version < 600    syntax clear  endif  let s:cpo_orig=&cpo  set cpo&vim -let b:current_syntax = "plantuml" +let b:current_syntax = 'plantuml'  syntax sync minlines=100 -syntax match plantumlPreProc /\%(^@startuml\|^@enduml\)\|!\%(include\|define\|undev\|ifdef\|endif\|ifndef\)\s*.*/ contains=plantumlDir +syntax match plantumlPreProc /\%(^@startuml\|^@enduml\)\|!\%(define|definelong|else|enddefinelong|endif|ifdef|ifndef|include|pragma|undef\)\s*.*/ contains=plantumlDir  syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained -syntax keyword plantumlTypeKeyword actor participant usecase abstract enum component state object artifact folder rect node frame cloud database storage agent boundary control entity card rectangle -syntax keyword plantumlKeyword as also autonumber caption title newpage box alt opt loop par break critical note rnote hnote legend group left right of on link over end activate deactivate destroy create footbox hide show skinparam skin top bottom -syntax keyword plantumlKeyword package namespace page up down if else elseif endif partition footer header center rotate ref return is repeat start stop while endwhile fork again kill -syntax keyword plantumlKeyword then detach +syntax keyword plantumlTypeKeyword abstract actor agent artifact boundary card cloud component control +syntax keyword plantumlTypeKeyword database entity enum file folder frame node object package participant +syntax keyword plantumlTypeKeyword queue rectangle stack state storage usecase +  syntax keyword plantumlClassKeyword class interface +syntax keyword plantumlKeyword activate again also alt as autonumber bottom box break caption center create +syntax keyword plantumlKeyword critical deactivate destroy down else elseif end endif endwhile footbox footer +syntax keyword plantumlKeyword fork group header hide hnote if is kill left legend link loop namespace newpage +syntax keyword plantumlKeyword note of on opt over package page par partition ref repeat return right rnote +syntax keyword plantumlKeyword rotate show skin skinparam start stop title top up while +" Not in 'java - jar plantuml.jar - language' output +syntax keyword plantumlKeyword then detach sprite +  syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained  syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/ +syntax keyword plantumlColor AliceBlue AntiqueWhite Aqua Aquamarine Azure Beige Bisque Black BlanchedAlmond +syntax keyword plantumlColor Blue BlueViolet Brown BurlyWood CadetBlue Chartreuse Chocolate Coral +syntax keyword plantumlColor CornflowerBlue Cornsilk Crimson Cyan DarkBlue DarkCyan DarkGoldenRod DarkGray +syntax keyword plantumlColor DarkGreen DarkGrey DarkKhaki DarkMagenta DarkOliveGreen DarkOrchid DarkRed +syntax keyword plantumlColor DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkSlateGrey DarkTurquoise +syntax keyword plantumlColor DarkViolet Darkorange DeepPink DeepSkyBlue DimGray DimGrey DodgerBlue FireBrick +syntax keyword plantumlColor FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite Gold GoldenRod Gray Green +syntax keyword plantumlColor GreenYellow Grey HoneyDew HotPink IndianRed Indigo Ivory Khaki Lavender +syntax keyword plantumlColor LavenderBlush LawnGreen LemonChiffon LightBlue LightCoral LightCyan +syntax keyword plantumlColor LightGoldenRodYellow LightGray LightGreen LightGrey LightPink LightSalmon +syntax keyword plantumlColor LightSeaGreen LightSkyBlue LightSlateGray LightSlateGrey LightSteelBlue +syntax keyword plantumlColor LightYellow Lime LimeGreen Linen Magenta Maroon MediumAquaMarine MediumBlue +syntax keyword plantumlColor MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen +syntax keyword plantumlColor MediumTurquoise MediumVioletRed MidnightBlue MintCream MistyRose Moccasin +syntax keyword plantumlColor NavajoWhite Navy OldLace Olive OliveDrab Orange OrangeRed Orchid PaleGoldenRod +syntax keyword plantumlColor PaleGreen PaleTurquoise PaleVioletRed PapayaWhip PeachPuff Peru Pink Plum +syntax keyword plantumlColor PowderBlue Purple Red RosyBrown RoyalBlue SaddleBrown Salmon SandyBrown SeaGreen +syntax keyword plantumlColor SeaShell Sienna Silver SkyBlue SlateBlue SlateGray SlateGrey Snow SpringGreen +syntax keyword plantumlColor SteelBlue Tan Teal Thistle Tomato Turquoise Violet Wheat White WhiteSmoke Yellow +syntax keyword plantumlColor YellowGreen  " Arrows - Differentiate between horizontal and vertical arrows  syntax match plantumlHorizontalArrow /\%([-\.]\%(|>\|>\|\*\|o\>\|\\\\\|\\\|\/\/\|\/\|\.\|-\)\|\%(<|\|<\|\*\|\<o\|\\\\\|\\\|\/\/\|\/\)[\.-]\)\%(\[[^\]]*\]\)\?/ contains=plantumlLabel -syntax match plantumlDirectedOrVerticalArrowLR /[-\.]\%(le\?f\?t\?\|ri\?g\?h\?t\?\|up\?\|\do\?w\?n\?\)\?[-\.]\%(|>\|>>\|>\|\*\|o\>\|\\\\\|\\\|\/\/\|\/\|\.\|-\)\%(\[[^\]]*\]\)\?/ contains=plantumlLabel -syntax match plantumlDirectedOrVerticalArrowRL /\%(<|\|<<\|<\|\*\|\<o\|\\\\\|\\\|\/\/\|\/\)[-\.]\%(le\?f\?t\?\|ri\?g\?h\?t\?\|up\?\|\do\?w\?n\?\)\?[-\.]\%(\[[^\]]*\]\)\?/ contains=plantumlLabel +syntax match plantumlDirectedOrVerticalArrowLR /[-\.]\%(le\?f\?t\?\|ri\?g\?h\?t\?\|up\?\|do\?w\?n\?\)\?[-\.]\%(|>\|>>\|>\|\*\|o\>\|\\\\\|\\\|\/\/\|\/\|\.\|-\)\%(\[[^\]]*\]\)\?/ contains=plantumlLabel +syntax match plantumlDirectedOrVerticalArrowRL /\%(<|\|<<\|<\|\*\|\<o\|\\\\\|\\\|\/\/\|\/\)[-\.]\%(le\?f\?t\?\|ri\?g\?h\?t\?\|up\?\|do\?w\?n\?\)\?[-\.]\%(\[[^\]]*\]\)\?/ contains=plantumlLabel  syntax region plantumlLabel start=/\[/ms=s+1 end=/\]/me=s-1 contained contains=plantumlText  syntax match plantumlText /\%([0-9A-Za-zÀ-ÿ]\|\s\|[\.,;_-]\)\+/ contained  " Class -syntax region plantumlClass start=/{/ end=/\s*}/ contains=plantumlClassArrows, -\                                                         plantumlClassKeyword, -\                                                         @plantumlClassOp, -\                                                         plantumlClassSeparator, -\                                                         plantumlComment - -syntax match plantumlClassPublic      /+\w\+/ contained -syntax match plantumlClassPrivate     /-\w\+/ contained -syntax match plantumlClassProtected   /#\w\+/ contained -syntax match plantumlClassPackPrivate /\~\w\+/ contained -syntax match plantumlClassSeparator   /__.\+__\|==.\+==/ contained +syntax region plantumlClass start=/\%(class\s[^{]\+\)\@<=\zs{/ end=/^\s*}/ contains=plantumlClassArrows, +\                                                                                  plantumlClassKeyword, +\                                                                                  @plantumlClassOp, +\                                                                                  plantumlClassSeparator, +\                                                                                  plantumlComment + +syntax match plantumlClassPublic      /^\s*+\s*\w\+/ contained +syntax match plantumlClassPrivate     /^\s*-\s*\w\+/ contained +syntax match plantumlClassProtected   /^\s*#\s*\w\+/ contained +syntax match plantumlClassPackPrivate /^\s*\~\s*\w\+/ contained +syntax match plantumlClassSeparator   /__\%(.\+__\)\?\|==\%(.\+==\)\?\|--\%(.\+--\)\?\|\.\.\%(.\+\.\.\)\?/ contained  syntax cluster plantumlClassOp contains=plantumlClassPublic,  \                                       plantumlClassPrivate, @@ -65,82 +93,184 @@ syntax match plantumlComment /'.*$/ contains=plantumlCommentTODO  syntax region plantumlMultilineComment start=/\/'/ end=/'\// contains=plantumlCommentTODO  " Labels with a colon -syntax match plantumlColonLine /:[^:]\+$/ contains=plantumlText +syntax match plantumlColonLine /\S\@<=\s*\zs:.\+$/ contains=plantumlSpecialString + +" Stereotypes +syntax match plantumlStereotype /<<.\{-1,}>>/ contains=plantumlSpecialString  " Activity diagram  syntax match plantumlActivityThing /([^)]*)/  syntax match plantumlActivitySynch /===[^=]\+===/ +" Sequence diagram +syntax match plantumlSequenceDivider /^\s*==[^=]\+==\s*$/ +syntax match plantumlSequenceSpace /^\s*|||\+\s*$/ +syntax match plantumlSequenceSpace /^\s*||\d\+||\+\s*$/ + +" Usecase diagram +syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString +  " Skinparam keywords +syntax case ignore +syntax keyword plantumlSkinparamKeyword ActivityBackgroundColor ActivityBarColor ActivityBorderColor +syntax keyword plantumlSkinparamKeyword ActivityBorderThickness ActivityDiamondBackgroundColor +syntax keyword plantumlSkinparamKeyword ActivityDiamondBorderColor ActivityDiamondFontColor ActivityDiamondFontName +syntax keyword plantumlSkinparamKeyword ActivityDiamondFontSize ActivityDiamondFontStyle ActivityEndColor +syntax keyword plantumlSkinparamKeyword ActivityFontColor ActivityFontName ActivityFontSize ActivityFontStyle +syntax keyword plantumlSkinparamKeyword ActivityStartColor ActorBackgroundColor ActorBorderColor ActorFontColor +syntax keyword plantumlSkinparamKeyword ActorFontName ActorFontSize ActorFontStyle ActorStereotypeFontColor +syntax keyword plantumlSkinparamKeyword ActorStereotypeFontName ActorStereotypeFontSize ActorStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword AgentBackgroundColor AgentBorderColor AgentFontColor AgentFontName AgentFontSize +syntax keyword plantumlSkinparamKeyword AgentFontStyle AgentStereotypeFontColor AgentStereotypeFontName +syntax keyword plantumlSkinparamKeyword AgentStereotypeFontSize AgentStereotypeFontStyle ArrowColor ArrowFontColor +syntax keyword plantumlSkinparamKeyword ArrowFontName ArrowFontSize ArrowFontStyle ArtifactBackgroundColor +syntax keyword plantumlSkinparamKeyword ArtifactBorderColor ArtifactFontColor ArtifactFontName ArtifactFontSize +syntax keyword plantumlSkinparamKeyword ArtifactFontStyle ArtifactStereotypeFontColor ArtifactStereotypeFontName +syntax keyword plantumlSkinparamKeyword ArtifactStereotypeFontSize ArtifactStereotypeFontStyle BackgroundColor +syntax keyword plantumlSkinparamKeyword BoundaryBackgroundColor BoundaryBorderColor BoundaryFontColor BoundaryFontName +syntax keyword plantumlSkinparamKeyword BoundaryFontSize BoundaryFontStyle BoundaryStereotypeFontColor +syntax keyword plantumlSkinparamKeyword BoundaryStereotypeFontName BoundaryStereotypeFontSize +syntax keyword plantumlSkinparamKeyword BoundaryStereotypeFontStyle CaptionFontColor CaptionFontName CaptionFontSize +syntax keyword plantumlSkinparamKeyword CaptionFontStyle CircledCharacterFontColor CircledCharacterFontName +syntax keyword plantumlSkinparamKeyword CircledCharacterFontSize CircledCharacterFontStyle CircledCharacterRadius +syntax keyword plantumlSkinparamKeyword ClassAttributeFontColor ClassAttributeFontName ClassAttributeFontSize +syntax keyword plantumlSkinparamKeyword ClassAttributeFontStyle ClassAttributeIconSize ClassBackgroundColor +syntax keyword plantumlSkinparamKeyword ClassBorderColor ClassBorderThickness ClassFontColor ClassFontName ClassFontSize +syntax keyword plantumlSkinparamKeyword ClassFontStyle ClassHeaderBackgroundColor ClassStereotypeFontColor +syntax keyword plantumlSkinparamKeyword ClassStereotypeFontName ClassStereotypeFontSize ClassStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword CloudBackgroundColor CloudBorderColor CloudFontColor CloudFontName CloudFontSize +syntax keyword plantumlSkinparamKeyword CloudFontStyle CloudStereotypeFontColor CloudStereotypeFontName +syntax keyword plantumlSkinparamKeyword CloudStereotypeFontSize CloudStereotypeFontStyle CollectionsBackgroundColor +syntax keyword plantumlSkinparamKeyword CollectionsBorderColor ColorArrowSeparationSpace ComponentBackgroundColor +syntax keyword plantumlSkinparamKeyword ComponentBorderColor ComponentFontColor ComponentFontName ComponentFontSize +syntax keyword plantumlSkinparamKeyword ComponentFontStyle ComponentStereotypeFontColor ComponentStereotypeFontName +syntax keyword plantumlSkinparamKeyword ComponentStereotypeFontSize ComponentStereotypeFontStyle ComponentStyle +syntax keyword plantumlSkinparamKeyword ConditionStyle ControlBackgroundColor ControlBorderColor ControlFontColor +syntax keyword plantumlSkinparamKeyword ControlFontName ControlFontSize ControlFontStyle ControlStereotypeFontColor +syntax keyword plantumlSkinparamKeyword ControlStereotypeFontName ControlStereotypeFontSize ControlStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword DatabaseBackgroundColor DatabaseBorderColor DatabaseFontColor DatabaseFontName +syntax keyword plantumlSkinparamKeyword DatabaseFontSize DatabaseFontStyle DatabaseStereotypeFontColor +syntax keyword plantumlSkinparamKeyword DatabaseStereotypeFontName DatabaseStereotypeFontSize +syntax keyword plantumlSkinparamKeyword DatabaseStereotypeFontStyle DefaultFontColor DefaultFontName DefaultFontSize +syntax keyword plantumlSkinparamKeyword DefaultFontStyle DefaultMonospacedFontName DefaultTextAlignment +syntax keyword plantumlSkinparamKeyword DiagramBorderColor DiagramBorderThickness Dpi EntityBackgroundColor +syntax keyword plantumlSkinparamKeyword EntityBorderColor EntityFontColor EntityFontName EntityFontSize EntityFontStyle +syntax keyword plantumlSkinparamKeyword EntityStereotypeFontColor EntityStereotypeFontName EntityStereotypeFontSize +syntax keyword plantumlSkinparamKeyword EntityStereotypeFontStyle FileBackgroundColor FileBorderColor FileFontColor +syntax keyword plantumlSkinparamKeyword FileFontName FileFontSize FileFontStyle FileStereotypeFontColor +syntax keyword plantumlSkinparamKeyword FileStereotypeFontName FileStereotypeFontSize FileStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword FolderBackgroundColor FolderBorderColor FolderFontColor FolderFontName +syntax keyword plantumlSkinparamKeyword FolderFontSize FolderFontStyle FolderStereotypeFontColor +syntax keyword plantumlSkinparamKeyword FolderStereotypeFontName FolderStereotypeFontSize FolderStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword FooterFontColor FooterFontName FooterFontSize FooterFontStyle +syntax keyword plantumlSkinparamKeyword FrameBackgroundColor FrameBorderColor FrameFontColor FrameFontName FrameFontSize +syntax keyword plantumlSkinparamKeyword FrameFontStyle FrameStereotypeFontColor FrameStereotypeFontName +syntax keyword plantumlSkinparamKeyword FrameStereotypeFontSize FrameStereotypeFontStyle Guillemet Handwritten +syntax keyword plantumlSkinparamKeyword HeaderFontColor HeaderFontName HeaderFontSize HeaderFontStyle HyperlinkColor +syntax keyword plantumlSkinparamKeyword HyperlinkUnderline IconIEMandatoryColor IconPackageBackgroundColor +syntax keyword plantumlSkinparamKeyword IconPackageColor IconPrivateBackgroundColor IconPrivateColor +syntax keyword plantumlSkinparamKeyword IconProtectedBackgroundColor IconProtectedColor IconPublicBackgroundColor +syntax keyword plantumlSkinparamKeyword IconPublicColor InterfaceBackgroundColor InterfaceBorderColor InterfaceFontColor +syntax keyword plantumlSkinparamKeyword InterfaceFontName InterfaceFontSize InterfaceFontStyle +syntax keyword plantumlSkinparamKeyword InterfaceStereotypeFontColor InterfaceStereotypeFontName +syntax keyword plantumlSkinparamKeyword InterfaceStereotypeFontSize InterfaceStereotypeFontStyle LegendBackgroundColor +syntax keyword plantumlSkinparamKeyword LegendBorderColor LegendBorderThickness LegendFontColor LegendFontName +syntax keyword plantumlSkinparamKeyword LegendFontSize LegendFontStyle Linetype MaxAsciiMessageLength MaxMessageSize +syntax keyword plantumlSkinparamKeyword MinClassWidth Monochrome NodeBackgroundColor NodeBorderColor NodeFontColor +syntax keyword plantumlSkinparamKeyword NodeFontName NodeFontSize NodeFontStyle NodeStereotypeFontColor +syntax keyword plantumlSkinparamKeyword NodeStereotypeFontName NodeStereotypeFontSize NodeStereotypeFontStyle Nodesep +syntax keyword plantumlSkinparamKeyword NoteBackgroundColor NoteBorderColor NoteBorderThickness NoteFontColor +syntax keyword plantumlSkinparamKeyword NoteFontName NoteFontSize NoteFontStyle NoteShadowing ObjectAttributeFontColor +syntax keyword plantumlSkinparamKeyword ObjectAttributeFontName ObjectAttributeFontSize ObjectAttributeFontStyle +syntax keyword plantumlSkinparamKeyword ObjectBackgroundColor ObjectBorderColor ObjectBorderThickness ObjectFontColor +syntax keyword plantumlSkinparamKeyword ObjectFontName ObjectFontSize ObjectFontStyle ObjectStereotypeFontColor +syntax keyword plantumlSkinparamKeyword ObjectStereotypeFontName ObjectStereotypeFontSize ObjectStereotypeFontStyle +syntax keyword plantumlSkinparamKeyword PackageBackgroundColor PackageBorderColor PackageBorderThickness +syntax keyword plantumlSkinparamKeyword PackageFontColor PackageFontName PackageFontSize PackageFontStyle +syntax keyword plantumlSkinparamKeyword PackageStereotypeFontColor PackageStereotypeFontName PackageStereotypeFontSize +syntax keyword plantumlSkinparamKeyword PackageStereotypeFontStyle PackageStyle Padding ParticipantBackgroundColor +syntax keyword plantumlSkinparamKeyword ParticipantBorderColor ParticipantFontColor ParticipantFontName +syntax keyword plantumlSkinparamKeyword ParticipantFontSize ParticipantFontStyle PartitionBackgroundColor +syntax keyword plantumlSkinparamKeyword PartitionBorderColor PartitionBorderThickness PartitionFontColor +syntax keyword plantumlSkinparamKeyword PartitionFontName PartitionFontSize PartitionFontStyle QueueBackgroundColor +syntax keyword plantumlSkinparamKeyword QueueBorderColor QueueFontColor QueueFontName QueueFontSize QueueFontStyle +syntax keyword plantumlSkinparamKeyword QueueStereotypeFontColor QueueStereotypeFontName QueueStereotypeFontSize +syntax keyword plantumlSkinparamKeyword QueueStereotypeFontStyle Ranksep RectangleBackgroundColor RectangleBorderColor +syntax keyword plantumlSkinparamKeyword RectangleBorderThickness RectangleFontColor RectangleFontName RectangleFontSize +syntax keyword plantumlSkinparamKeyword RectangleFontStyle RectangleStereotypeFontColor RectangleStereotypeFontName +syntax keyword plantumlSkinparamKeyword RectangleStereotypeFontSize RectangleStereotypeFontStyle RoundCorner +syntax keyword plantumlSkinparamKeyword SameClassWidth SequenceActorBorderThickness SequenceArrowThickness +syntax keyword plantumlSkinparamKeyword SequenceBoxBackgroundColor SequenceBoxBorderColor SequenceBoxFontColor +syntax keyword plantumlSkinparamKeyword SequenceBoxFontName SequenceBoxFontSize SequenceBoxFontStyle +syntax keyword plantumlSkinparamKeyword SequenceDelayFontColor SequenceDelayFontName SequenceDelayFontSize +syntax keyword plantumlSkinparamKeyword SequenceDelayFontStyle SequenceDividerBackgroundColor SequenceDividerBorderColor +syntax keyword plantumlSkinparamKeyword SequenceDividerBorderThickness SequenceDividerFontColor SequenceDividerFontName +syntax keyword plantumlSkinparamKeyword SequenceDividerFontSize SequenceDividerFontStyle SequenceGroupBackgroundColor +syntax keyword plantumlSkinparamKeyword SequenceGroupBodyBackgroundColor SequenceGroupBorderColor +syntax keyword plantumlSkinparamKeyword SequenceGroupBorderThickness SequenceGroupFontColor SequenceGroupFontName +syntax keyword plantumlSkinparamKeyword SequenceGroupFontSize SequenceGroupFontStyle SequenceGroupHeaderFontColor +syntax keyword plantumlSkinparamKeyword SequenceGroupHeaderFontName SequenceGroupHeaderFontSize +syntax keyword plantumlSkinparamKeyword SequenceGroupHeaderFontStyle SequenceLifeLineBackgroundColor +syntax keyword plantumlSkinparamKeyword SequenceLifeLineBorderColor SequenceLifeLineBorderThickness +syntax keyword plantumlSkinparamKeyword SequenceNewpageSeparatorColor SequenceParticipant +syntax keyword plantumlSkinparamKeyword SequenceParticipantBorderThickness SequenceReferenceBackgroundColor +syntax keyword plantumlSkinparamKeyword SequenceReferenceBorderColor SequenceReferenceBorderThickness +syntax keyword plantumlSkinparamKeyword SequenceReferenceFontColor SequenceReferenceFontName SequenceReferenceFontSize +syntax keyword plantumlSkinparamKeyword SequenceReferenceFontStyle SequenceReferenceHeaderBackgroundColor +syntax keyword plantumlSkinparamKeyword SequenceStereotypeFontColor SequenceStereotypeFontName +syntax keyword plantumlSkinparamKeyword SequenceStereotypeFontSize SequenceStereotypeFontStyle SequenceTitleFontColor +syntax keyword plantumlSkinparamKeyword SequenceTitleFontName SequenceTitleFontSize SequenceTitleFontStyle Shadowing +syntax keyword plantumlSkinparamKeyword StackBackgroundColor StackBorderColor StackFontColor StackFontName StackFontSize +syntax keyword plantumlSkinparamKeyword StackFontStyle StackStereotypeFontColor StackStereotypeFontName +syntax keyword plantumlSkinparamKeyword StackStereotypeFontSize StackStereotypeFontStyle StateAttributeFontColor +syntax keyword plantumlSkinparamKeyword StateAttributeFontName StateAttributeFontSize StateAttributeFontStyle +syntax keyword plantumlSkinparamKeyword StateBackgroundColor StateBorderColor StateEndColor StateFontColor StateFontName +syntax keyword plantumlSkinparamKeyword StateFontSize StateFontStyle StateStartColor StereotypeABackgroundColor +syntax keyword plantumlSkinparamKeyword StereotypeCBackgroundColor StereotypeEBackgroundColor StereotypeIBackgroundColor +syntax keyword plantumlSkinparamKeyword StereotypeNBackgroundColor StereotypePosition StorageBackgroundColor +syntax keyword plantumlSkinparamKeyword StorageBorderColor StorageFontColor StorageFontName StorageFontSize +syntax keyword plantumlSkinparamKeyword StorageFontStyle StorageStereotypeFontColor StorageStereotypeFontName +syntax keyword plantumlSkinparamKeyword StorageStereotypeFontSize StorageStereotypeFontStyle Style SvglinkTarget +syntax keyword plantumlSkinparamKeyword SwimlaneBorderColor SwimlaneBorderThickness SwimlaneTitleFontColor +syntax keyword plantumlSkinparamKeyword SwimlaneTitleFontName SwimlaneTitleFontSize SwimlaneTitleFontStyle TabSize +syntax keyword plantumlSkinparamKeyword TitleBackgroundColor TitleBorderColor TitleBorderRoundCorner +syntax keyword plantumlSkinparamKeyword TitleBorderThickness TitleFontColor TitleFontName TitleFontSize TitleFontStyle +syntax keyword plantumlSkinparamKeyword UsecaseBackgroundColor UsecaseBorderColor UsecaseFontColor UsecaseFontName +syntax keyword plantumlSkinparamKeyword UsecaseFontSize UsecaseFontStyle UsecaseStereotypeFontColor +syntax keyword plantumlSkinparamKeyword UsecaseStereotypeFontName UsecaseStereotypeFontSize UsecaseStereotypeFontStyle +" Not in 'java - jar plantuml.jar - language' output  syntax keyword plantumlSkinparamKeyword activityArrowColor activityArrowFontColor activityArrowFontName -syntax keyword plantumlSkinparamKeyword activityArrowFontSize activityArrowFontStyle activityBackgroundColor -syntax keyword plantumlSkinparamKeyword activityBarColor activityBorderColor activityEndColor activityFontColor -syntax keyword plantumlSkinparamKeyword activityFontName activityFontSize activityFontStyle activityStartColor -syntax keyword plantumlSkinparamKeyword backgroundColor circledCharacterFontColor circledCharacterFontName -syntax keyword plantumlSkinparamKeyword circledCharacterFontSize circledCharacterFontStyle circledCharacterRadius -syntax keyword plantumlSkinparamKeyword classArrowColor classArrowFontColor classArrowFontName classArrowFontSize -syntax keyword plantumlSkinparamKeyword classArrowFontStyle classAttributeFontColor classAttributeFontName -syntax keyword plantumlSkinparamKeyword classAttributeFontSize classAttributeFontStyle classAttributeIconSize -syntax keyword plantumlSkinparamKeyword classBackgroundColor classBorderColor classFontColor classFontName -syntax keyword plantumlSkinparamKeyword classFontSize classFontStyle classStereotypeFontColor classStereotypeFontName -syntax keyword plantumlSkinparamKeyword classStereotypeFontSize classStereotypeFontStyle componentArrowColor +syntax keyword plantumlSkinparamKeyword activityArrowFontSize activityArrowFontStyle BarColor BorderColor BoxPadding +syntax keyword plantumlSkinparamKeyword CharacterFontColor CharacterFontName CharacterFontSize CharacterFontStyle +syntax keyword plantumlSkinparamKeyword CharacterRadius classArrowColor classArrowFontColor classArrowFontName +syntax keyword plantumlSkinparamKeyword classArrowFontSize classArrowFontStyle Color componentArrowColor  syntax keyword plantumlSkinparamKeyword componentArrowFontColor componentArrowFontName componentArrowFontSize -syntax keyword plantumlSkinparamKeyword componentArrowFontStyle componentBackgroundColor componentBorderColor -syntax keyword plantumlSkinparamKeyword componentFontColor componentFontName componentFontSize componentFontStyle -syntax keyword plantumlSkinparamKeyword componentInterfaceBackgroundColor componentInterfaceBorderColor -syntax keyword plantumlSkinparamKeyword componentStereotypeFontColor componentStereotypeFontName -syntax keyword plantumlSkinparamKeyword componentStereotypeFontSize componentStereotypeFontStyle footerFontColor -syntax keyword plantumlSkinparamKeyword footerFontName footerFontSize footerFontStyle headerFontColor headerFontName -syntax keyword plantumlSkinparamKeyword headerFontSize headerFontStyle noteBackgroundColor noteBorderColor -syntax keyword plantumlSkinparamKeyword noteFontColor noteFontName noteFontSize noteFontStyle packageBackgroundColor -syntax keyword plantumlSkinparamKeyword packageBorderColor packageFontColor packageFontName packageFontSize -syntax keyword plantumlSkinparamKeyword packageFontStyle sequenceActorBackgroundColor sequenceActorBorderColor -syntax keyword plantumlSkinparamKeyword sequenceActorFontColor sequenceActorFontName sequenceActorFontSize -syntax keyword plantumlSkinparamKeyword sequenceActorFontStyle sequenceArrowColor sequenceArrowFontColor -syntax keyword plantumlSkinparamKeyword sequenceArrowFontName sequenceArrowFontSize sequenceArrowFontStyle -syntax keyword plantumlSkinparamKeyword sequenceDividerBackgroundColor sequenceDividerFontColor sequenceDividerFontName -syntax keyword plantumlSkinparamKeyword sequenceDividerFontSize sequenceDividerFontStyle sequenceGroupBackgroundColor -syntax keyword plantumlSkinparamKeyword sequenceGroupingFontColor sequenceGroupingFontName sequenceGroupingFontSize -syntax keyword plantumlSkinparamKeyword sequenceGroupingFontStyle sequenceGroupingHeaderFontColor -syntax keyword plantumlSkinparamKeyword sequenceGroupingHeaderFontName sequenceGroupingHeaderFontSize -syntax keyword plantumlSkinparamKeyword sequenceGroupingHeaderFontStyle sequenceLifeLineBackgroundColor -syntax keyword plantumlSkinparamKeyword sequenceLifeLineBorderColor sequenceParticipantBackgroundColor -syntax keyword plantumlSkinparamKeyword sequenceParticipantBorderColor sequenceParticipantFontColor -syntax keyword plantumlSkinparamKeyword sequenceParticipantFontName sequenceParticipantFontSize -syntax keyword plantumlSkinparamKeyword sequenceParticipantFontStyle sequenceTitleFontColor sequenceTitleFontName -syntax keyword plantumlSkinparamKeyword sequenceTitleFontSize sequenceTitleFontStyle stateArrowColor -syntax keyword plantumlSkinparamKeyword stateArrowFontColor stateArrowFontName stateArrowFontSize stateArrowFontStyle -syntax keyword plantumlSkinparamKeyword stateAttributeFontColor stateAttributeFontName stateAttributeFontSize -syntax keyword plantumlSkinparamKeyword stateAttributeFontStyle stateBackgroundColor stateBorderColor stateEndColor -syntax keyword plantumlSkinparamKeyword stateFontColor stateFontName stateFontSize stateFontStyle stateStartColor -syntax keyword plantumlSkinparamKeyword stereotypeABackgroundColor stereotypeCBackgroundColor -syntax keyword plantumlSkinparamKeyword stereotypeEBackgroundColor stereotypeIBackgroundColor titleFontColor -syntax keyword plantumlSkinparamKeyword titleFontName titleFontSize titleFontStyle usecaseActorBackgroundColor -syntax keyword plantumlSkinparamKeyword usecaseActorBorderColor usecaseActorFontColor usecaseActorFontName -syntax keyword plantumlSkinparamKeyword usecaseActorFontSize usecaseActorFontStyle usecaseActorStereotypeFontColor +syntax keyword plantumlSkinparamKeyword componentArrowFontStyle componentInterfaceBackgroundColor +syntax keyword plantumlSkinparamKeyword componentInterfaceBorderColor DividerBackgroundColor DividerFontColor +syntax keyword plantumlSkinparamKeyword DividerFontName DividerFontSize DividerFontStyle EndColor FontColor FontName +syntax keyword plantumlSkinparamKeyword FontSize FontStyle GroupBackgroundColor GroupingFontColor GroupingFontName +syntax keyword plantumlSkinparamKeyword GroupingFontSize GroupingFontStyle GroupingHeaderFontColor +syntax keyword plantumlSkinparamKeyword GroupingHeaderFontName GroupingHeaderFontSize GroupingHeaderFontStyle +syntax keyword plantumlSkinparamKeyword LifeLineBackgroundColor LifeLineBorderColor ParticipantPadding +syntax keyword plantumlSkinparamKeyword sequenceActorBackgroundColor sequenceActorBorderColor sequenceActorFontColor +syntax keyword plantumlSkinparamKeyword sequenceActorFontName sequenceActorFontSize sequenceActorFontStyle +syntax keyword plantumlSkinparamKeyword sequenceArrowColor sequenceArrowFontColor sequenceArrowFontName +syntax keyword plantumlSkinparamKeyword sequenceArrowFontSize sequenceArrowFontStyle sequenceGroupingFontColor +syntax keyword plantumlSkinparamKeyword sequenceGroupingFontName sequenceGroupingFontSize sequenceGroupingFontStyle +syntax keyword plantumlSkinparamKeyword sequenceGroupingHeaderFontColor sequenceGroupingHeaderFontName +syntax keyword plantumlSkinparamKeyword sequenceGroupingHeaderFontSize sequenceGroupingHeaderFontStyle +syntax keyword plantumlSkinparamKeyword sequenceParticipantBackgroundColor sequenceParticipantBorderColor +syntax keyword plantumlSkinparamKeyword sequenceParticipantFontColor sequenceParticipantFontName +syntax keyword plantumlSkinparamKeyword sequenceParticipantFontSize sequenceParticipantFontStyle StartColor +syntax keyword plantumlSkinparamKeyword stateArrowColor stateArrowFontColor stateArrowFontName stateArrowFontSize +syntax keyword plantumlSkinparamKeyword stateArrowFontStyle StereotypeFontColor StereotypeFontName StereotypeFontSize +syntax keyword plantumlSkinparamKeyword StereotypeFontStyle usecaseActorBackgroundColor usecaseActorBorderColor +syntax keyword plantumlSkinparamKeyword usecaseActorFontColor usecaseActorFontName usecaseActorFontSize +syntax keyword plantumlSkinparamKeyword usecaseActorFontStyle usecaseActorStereotypeFontColor  syntax keyword plantumlSkinparamKeyword usecaseActorStereotypeFontName usecaseActorStereotypeFontSize  syntax keyword plantumlSkinparamKeyword usecaseActorStereotypeFontStyle usecaseArrowColor usecaseArrowFontColor  syntax keyword plantumlSkinparamKeyword usecaseArrowFontName usecaseArrowFontSize usecaseArrowFontStyle -syntax keyword plantumlSkinparamKeyword usecaseBackgroundColor usecaseBorderColor usecaseFontColor usecaseFontName -syntax keyword plantumlSkinparamKeyword usecaseFontSize usecaseFontStyle usecaseStereotypeFontColor -syntax keyword plantumlSkinparamKeyword usecaseStereotypeFontName usecaseStereotypeFontSize usecaseStereotypeFontStyle - -syntax keyword plantumlSkinparamKeyword ActorBackgroundColor ActorBorderColor ActorFontColor ActorFontName -syntax keyword plantumlSkinparamKeyword ActorFontSize ActorFontStyle ActorStereotypeFontColor ActorStereotypeFontName -syntax keyword plantumlSkinparamKeyword ActorStereotypeFontSize ActorStereotypeFontStyle ArrowColor ArrowFontColor -syntax keyword plantumlSkinparamKeyword ArrowFontName ArrowFontSize ArrowFontStyle AttributeFontColor AttributeFontName -syntax keyword plantumlSkinparamKeyword AttributeFontSize AttributeFontStyle AttributeIconSize BarColor -syntax keyword plantumlSkinparamKeyword BorderColor BoxPadding CharacterFontColor CharacterFontName CharacterFontSize -syntax keyword plantumlSkinparamKeyword CharacterFontStyle CharacterRadius Color DividerBackgroundColor -syntax keyword plantumlSkinparamKeyword DividerFontColor DividerFontName DividerFontSize DividerFontStyle EndColor -syntax keyword plantumlSkinparamKeyword FontColor FontName FontSize FontStyle GroupBackgroundColor GroupingFontColor -syntax keyword plantumlSkinparamKeyword GroupingFontName GroupingFontSize GroupingFontStyle GroupingHeaderFontColor -syntax keyword plantumlSkinparamKeyword GroupingHeaderFontName GroupingHeaderFontSize GroupingHeaderFontStyle -syntax keyword plantumlSkinparamKeyword InterfaceBackgroundColor InterfaceBorderColor LifeLineBackgroundColor -syntax keyword plantumlSkinparamKeyword LifeLineBorderColor ParticipantBackgroundColor ParticipantBorderColor -syntax keyword plantumlSkinparamKeyword ParticipantFontColor ParticipantFontName ParticipantFontSize -syntax keyword plantumlSkinparamKeyword ParticipantFontStyle ParticipantPadding StartColor StereotypeFontColor -syntax keyword plantumlSkinparamKeyword StereotypeFontName StereotypeFontSize StereotypeFontStyle +syntax case match  " Highlight  highlight default link plantumlCommentTODO Todo @@ -151,8 +281,8 @@ highlight default link plantumlPreProc PreProc  highlight default link plantumlDir Constant  highlight default link plantumlColor Constant  highlight default link plantumlHorizontalArrow Identifier -highlight default link plantumlDirectedOrVerticalArrowLR Special -highlight default link plantumlDirectedOrVerticalArrowRL Special +highlight default link plantumlDirectedOrVerticalArrowLR Identifier +highlight default link plantumlDirectedOrVerticalArrowRL Identifier  highlight default link plantumlLabel Special  highlight default link plantumlText Label  highlight default link plantumlClass Type @@ -161,6 +291,8 @@ highlight default link plantumlClassPrivate Macro  highlight default link plantumlClassProtected Statement  highlight default link plantumlClassPackPrivate Function  highlight default link plantumlClassSeparator Comment +highlight default link plantumlSequenceDivider Comment +highlight default link plantumlSequenceSpace Comment  highlight default link plantumlSpecialString Special  highlight default link plantumlString String  highlight default link plantumlComment Comment @@ -169,6 +301,8 @@ highlight default link plantumlColonLine Comment  highlight default link plantumlActivityThing Type  highlight default link plantumlActivitySynch Type  highlight default link plantumlSkinparamKeyword Identifier +highlight default link plantumlUsecaseActor String +highlight default link plantumlStereotype Type  let &cpo=s:cpo_orig  unlet s:cpo_orig diff --git a/syntax/pug.vim b/syntax/pug.vim index 03f62707..bd3f8748 100644 --- a/syntax/pug.vim +++ b/syntax/pug.vim @@ -39,7 +39,9 @@ syn match   pugComment '\(\s\+\|^\)\/\/.*$' contains=pugCommentTodo,@Spell  syn region  pugCommentBlock start="\z(\s\+\|^\)\/\/.*$" end="^\%(\z1\s\|\s*$\)\@!" contains=pugCommentTodo,@Spell keepend  syn region  pugHtmlConditionalComment start="<!--\%(.*\)>" end="<!\%(.*\)-->" contains=pugCommentTodo,@Spell  syn region  pugAngular2 start="(" end=")" contains=htmlEvent -syn region  pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=@htmlJavascript,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent +syn region  pugJavascriptString start=+"+  skip=+\\\("\|$\)+  end=+"\|$+ contained +syn region  pugJavascriptString start=+'+  skip=+\\\('\|$\)+  end=+'\|$+ contained +syn region  pugAttributes matchgroup=pugAttributesDelimiter start="(" end=")" contained contains=pugJavascriptString,pugHtmlArg,pugAngular2,htmlArg,htmlEvent,htmlCssDefinition nextgroup=@pugComponent  syn match   pugClassChar "\." containedin=htmlTagName nextgroup=pugClass  syn match   pugBlockExpansionChar ":\s\+" contained nextgroup=pugTag,pugClassChar,pugIdChar  syn match   pugIdChar "#[[{]\@!" contained nextgroup=pugId @@ -101,6 +103,7 @@ hi def link pugCommentTodo            Todo  hi def link pugComment                Comment  hi def link pugCommentBlock           Comment  hi def link pugHtmlConditionalComment pugComment +hi def link pugJavascriptString       String  let b:current_syntax = "pug" diff --git a/syntax/ruby.vim b/syntax/ruby.vim index 71abd464..1136b7c1 100644 --- a/syntax/ruby.vim +++ b/syntax/ruby.vim @@ -124,6 +124,8 @@ syn match rubyFloat	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*  syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent  syn match rubyBlockArgument	    "&[_[:lower:]][_[:alnum:]]"		 contains=NONE display transparent +syn match  rubyClassName	"\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!" +syn match  rubyModuleName	"\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!"  syn match  rubyConstant		"\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!"  syn match  rubyClassVariable	"@@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" display  syn match  rubyInstanceVariable "@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"	display @@ -159,10 +161,10 @@ syn match rubyPredefinedConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\%(RUBY_\%(VERSION  " Normal Regular Expression {{{1  if s:foldable('/')    syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold -  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold +  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/\%([ \t=]\|$\)\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold  else    syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial -  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial +  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/\%([ \t=]\|$\)\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial  endif  " Generalized Regular Expression {{{1 @@ -313,8 +315,8 @@ end  syn match  rubyAliasDeclaration    "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite  syn match  rubyAliasDeclaration2   "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable  syn match  rubyMethodDeclaration   "[^[:space:];#(]\+"	 contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable -syn match  rubyClassDeclaration    "[^[:space:];#<]\+"	 contained contains=rubyConstant,rubyOperator -syn match  rubyModuleDeclaration   "[^[:space:];#<]\+"	 contained contains=rubyConstant,rubyOperator +syn match  rubyClassDeclaration    "[^[:space:];#<]\+"	 contained contains=rubyClassName,rubyOperator +syn match  rubyModuleDeclaration   "[^[:space:];#<]\+"	 contained contains=rubyModuleName,rubyOperator  syn match  rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:]_.:?!=]\@!" contained containedin=rubyMethodDeclaration  syn match  rubyFunction "\%(\s\|^\)\@1<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2  syn match  rubyFunction "\%([[:space:].]\|^\)\@2<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration @@ -500,6 +502,8 @@ else  endif  hi def link rubyClassVariable		rubyIdentifier  hi def link rubyConstant		Type +hi def link rubyClassName		rubyConstant +hi def link rubyModuleName		rubyConstant  hi def link rubyGlobalVariable		rubyIdentifier  hi def link rubyBlockParameter		rubyIdentifier  hi def link rubyInstanceVariable	rubyIdentifier diff --git a/syntax/swift.vim b/syntax/swift.vim index cd5177b4..51b490e3 100644 --- a/syntax/swift.vim +++ b/syntax/swift.vim @@ -152,7 +152,6 @@ syntax keyword swiftKeywords        \ public        \ repeat        \ required -      \ rethrows        \ return        \ self        \ set @@ -161,7 +160,6 @@ syntax keyword swiftKeywords        \ super        \ switch        \ throw -      \ throws        \ try        \ typealias        \ unowned @@ -171,6 +169,10 @@ syntax keyword swiftKeywords        \ while        \ willSet +syntax keyword swiftDefinitionModifier +      \ rethrows +      \ throws +  syntax match swiftMultiwordKeywords "indirect case"  syntax match swiftMultiwordKeywords "indirect enum"  " }}} @@ -226,6 +228,7 @@ syntax region swiftGenericsWrapper start="\v\<" end="\v\>" contains=swiftType tr  syntax region swiftLiteralWrapper start="\v\=\s*" skip="\v[^\[\]]\(\)" end="\v(\[\]|\(\))" contains=ALL transparent oneline  syntax region swiftReturnWrapper start="\v-\>\s*" end="\v(\{|$)" contains=swiftType transparent oneline  syntax match swiftType "\v<\u\w*" contained containedin=swiftTypeWrapper,swiftLiteralWrapper,swiftGenericsWrapper,swiftTypeCastWrapper +syntax match swiftTypeDeclaration /->/ skipwhite nextgroup=swiftType  syntax keyword swiftImports import  syntax keyword swiftCastKeyword is as contained @@ -255,6 +258,7 @@ highlight default link swiftMarker Comment  highlight default link swiftString String  highlight default link swiftInterpolatedWrapper Delimiter +highlight default link swiftTypeDeclaration Delimiter  highlight default link swiftNumber Number  highlight default link swiftBoolean Boolean @@ -273,6 +277,7 @@ highlight default link swiftPreprocessor PreProc  highlight default link swiftMethod Function  highlight default link swiftProperty Identifier +highlight default link swiftDefinitionModifier Define  highlight default link swiftConditionStatement PreProc  highlight default link swiftAvailability Normal  highlight default link swiftAvailabilityArg Normal diff --git a/syntax/terraform.vim b/syntax/terraform.vim index a06eeb9d..f363e8a0 100644 --- a/syntax/terraform.vim +++ b/syntax/terraform.vim @@ -42,6 +42,7 @@ syn keyword terraDataTypeBI            \ aws_elb_service_account            \ aws_iam_account_alias            \ aws_iam_policy_document +          \ aws_iam_role            \ aws_iam_server_certificate            \ aws_instance            \ aws_ip_ranges @@ -54,14 +55,25 @@ syn keyword terraDataTypeBI            \ aws_route_table            \ aws_s3_bucket_object            \ aws_security_group +          \ aws_sns_topic            \ aws_subnet +          \ aws_subnet_ids            \ aws_vpc            \ aws_vpc_endpoint            \ aws_vpc_endpoint_service            \ aws_vpc_peering_connection            \ aws_vpn_gateway            \ azurerm_client_config +          \ circonus_account +          \ circonus_collector +          \ consul_agent_self +          \ consul_catalog_nodes +          \ consul_catalog_service +          \ consul_catalog_services            \ consul_keys +          \ dns_a_record_set +          \ dns_cname_record_set +          \ dns_txt_record_set            \ docker_registry_image            \ external            \ fastly_ip_ranges @@ -70,11 +82,16 @@ syn keyword terraDataTypeBI            \ newrelic_application            \ ns1_datasource            \ null_data_source +          \ openstack_images_image_v2 +          \ openstack_networking_network_v2            \ opsgenie_user            \ pagerduty_escalation_policy            \ pagerduty_schedule            \ pagerduty_user            \ pagerduty_vendor +          \ profitbricks_datacenter +          \ profitbricks_image +          \ profitbricks_location            \ scaleway_bootscript            \ scaleway_image            \ template_cloudinit_config @@ -84,6 +101,7 @@ syn keyword terraDataTypeBI  """ resource  syn keyword terraResourceTypeBI +          \ alicloud_db_instance            \ alicloud_disk            \ alicloud_disk_attachment            \ alicloud_eip @@ -120,9 +138,13 @@ syn keyword terraResourceTypeBI            \ aws_api_gateway_integration_response            \ aws_api_gateway_method            \ aws_api_gateway_method_response +          \ aws_api_gateway_method_settings            \ aws_api_gateway_model            \ aws_api_gateway_resource            \ aws_api_gateway_rest_api +          \ aws_api_gateway_stage +          \ aws_api_gateway_usage_plan +          \ aws_api_gateway_usage_plan_key            \ aws_app_cookie_stickiness_policy            \ aws_appautoscaling_policy            \ aws_appautoscaling_target @@ -138,6 +160,8 @@ syn keyword terraResourceTypeBI            \ aws_cloudtrail            \ aws_cloudwatch_event_rule            \ aws_cloudwatch_event_target +          \ aws_cloudwatch_log_destination +          \ aws_cloudwatch_log_destination_policy            \ aws_cloudwatch_log_group            \ aws_cloudwatch_log_metric_filter            \ aws_cloudwatch_log_stream @@ -149,6 +173,7 @@ syn keyword terraResourceTypeBI            \ aws_codedeploy_app            \ aws_codedeploy_deployment_config            \ aws_codedeploy_deployment_group +          \ aws_codepipeline            \ aws_config_config_rule            \ aws_config_configuration_recorder            \ aws_config_configuration_recorder_status @@ -179,9 +204,11 @@ syn keyword terraResourceTypeBI            \ aws_ecs_task_definition            \ aws_efs_file_system            \ aws_efs_mount_target +          \ aws_egress_only_internet_gateway            \ aws_eip            \ aws_eip_association            \ aws_elastic_beanstalk_application +          \ aws_elastic_beanstalk_application_version            \ aws_elastic_beanstalk_configuration_template            \ aws_elastic_beanstalk_environment            \ aws_elasticache_cluster @@ -200,12 +227,14 @@ syn keyword terraResourceTypeBI            \ aws_flow_log            \ aws_glacier_vault            \ aws_iam_access_key +          \ aws_iam_account_alias            \ aws_iam_account_password_policy            \ aws_iam_group            \ aws_iam_group_membership            \ aws_iam_group_policy            \ aws_iam_group_policy_attachment            \ aws_iam_instance_profile +          \ aws_iam_openid_connect_provider            \ aws_iam_policy            \ aws_iam_policy_attachment            \ aws_iam_role @@ -238,6 +267,8 @@ syn keyword terraResourceTypeBI            \ aws_lightsail_domain            \ aws_lightsail_instance            \ aws_lightsail_key_pair +          \ aws_lightsail_static_ip +          \ aws_lightsail_static_ip_attachment            \ aws_load_balancer_backend_server_policy            \ aws_load_balancer_listener_policy            \ aws_load_balancer_policy @@ -287,6 +318,7 @@ syn keyword terraResourceTypeBI            \ aws_security_group_rule            \ aws_ses_active_receipt_rule_set            \ aws_ses_configuration_set +          \ aws_ses_domain_identity            \ aws_ses_event_destination            \ aws_ses_receipt_filter            \ aws_ses_receipt_rule @@ -367,6 +399,7 @@ syn keyword terraResourceTypeBI            \ azurerm_lb_probe            \ azurerm_lb_rule            \ azurerm_local_network_gateway +          \ azurerm_managed_disk            \ azurerm_network_interface            \ azurerm_network_security_group            \ azurerm_network_security_rule @@ -408,6 +441,12 @@ syn keyword terraResourceTypeBI            \ chef_environment            \ chef_node            \ chef_role +          \ circonus_check +          \ circonus_contact_group +          \ circonus_graph +          \ circonus_metric +          \ circonus_metric_cluster +          \ circonus_rule_set            \ clc_group            \ clc_load_balancer            \ clc_load_balancer_pool @@ -450,16 +489,23 @@ syn keyword terraResourceTypeBI            \ consul_node            \ consul_prepared_query            \ consul_service +          \ datadog_downtime            \ datadog_monitor            \ datadog_timeboard +          \ datadog_user            \ digitalocean_domain            \ digitalocean_droplet            \ digitalocean_floating_ip +          \ digitalocean_loadbalancer            \ digitalocean_record            \ digitalocean_ssh_key            \ digitalocean_tag            \ digitalocean_volume            \ dme_record +          \ dns_a_record_set +          \ dns_aaaa_record_set +          \ dns_cname_record +          \ dns_ptr_record            \ dnsimple_record            \ docker_container            \ docker_image @@ -469,8 +515,10 @@ syn keyword terraResourceTypeBI            \ fastly_service_v1            \ github_issue_label            \ github_membership +          \ github_organization_webhook            \ github_repository            \ github_repository_collaborator +          \ github_repository_webhook            \ github_team            \ github_team_membership            \ github_team_repository @@ -503,6 +551,7 @@ syn keyword terraResourceTypeBI            \ google_compute_vpn_gateway            \ google_compute_vpn_tunnel            \ google_container_cluster +          \ google_container_node_pool            \ google_dns_managed_zone            \ google_dns_record_set            \ google_project @@ -539,6 +588,11 @@ syn keyword terraResourceTypeBI            \ influxdb_continuous_query            \ influxdb_database            \ influxdb_user +          \ kubernetes_config_map +          \ kubernetes_namespace +          \ kubernetes_persistent_volume +          \ kubernetes_persistent_volume_claim +          \ kubernetes_secret            \ librato_alert            \ librato_service            \ librato_space @@ -558,6 +612,7 @@ syn keyword terraResourceTypeBI            \ openstack_blockstorage_volume_attach_v2            \ openstack_blockstorage_volume_v1            \ openstack_blockstorage_volume_v2 +          \ openstack_compute_floatingip_associate_v2            \ openstack_compute_floatingip_v2            \ openstack_compute_instance_v2            \ openstack_compute_keypair_v2 @@ -567,6 +622,7 @@ syn keyword terraResourceTypeBI            \ openstack_fw_firewall_v1            \ openstack_fw_policy_v1            \ openstack_fw_rule_v1 +          \ openstack_images_image_v2            \ openstack_lb_listener_v2            \ openstack_lb_loadbalancer_v2            \ openstack_lb_member_v1 @@ -619,12 +675,15 @@ syn keyword terraResourceTypeBI            \ rabbitmq_queue            \ rabbitmq_user            \ rabbitmq_vhost +          \ rancher_certificate            \ rancher_environment +          \ rancher_host            \ rancher_registration_token            \ rancher_registry            \ rancher_registry_credential            \ rancher_stack            \ random_id +          \ random_pet            \ random_shuffle            \ rundeck_job            \ rundeck_private_key @@ -638,6 +697,9 @@ syn keyword terraResourceTypeBI            \ scaleway_volume_attachment            \ softlayer_ssh_key            \ softlayer_virtual_guest +          \ spotinst_aws_group +          \ spotinst_healthcheck +          \ spotinst_subscription            \ statuscake_test            \ tls_cert_request            \ tls_locally_signed_cert diff --git a/syntax/tmux.vim b/syntax/tmux.vim index 0cfe740c..69153893 100644 --- a/syntax/tmux.vim +++ b/syntax/tmux.vim @@ -28,7 +28,7 @@ endif  setlocal iskeyword+=-  syntax case match -syn keyword tmuxAction	any current none +syn keyword tmuxAction	any current default none  syn keyword tmuxBoolean	off on  syn keyword tmuxCmds @@ -261,24 +261,36 @@ syn keyword tmuxOptsSetw  	\ force-width  	\ main-pane-height  	\ main-pane-width +	\ message-attr +	\ message-bg +	\ message-fg  	\ mode-keys  	\ mode-style  	\ monitor-activity  	\ monitor-silence  	\ other-pane-height  	\ other-pane-width +	\ pane-active-border-bg +	\ pane-active-border-fg  	\ pane-active-border-style  	\ pane-base-index +	\ pane-border-fg  	\ pane-border-style  	\ remain-on-exit  	\ synchronize-panes  	\ window-active-style +	\ window-status-activity-attr +	\ window-status-activity-bg +	\ window-status-activity-fg  	\ window-status-activity-style  	\ window-status-bell-style +	\ window-status-bg +	\ window-status-current-attr  	\ window-status-current-bg  	\ window-status-current-fg  	\ window-status-current-format  	\ window-status-current-style +	\ window-status-fg  	\ window-status-format  	\ window-status-last-style  	\ window-status-separator @@ -290,7 +302,7 @@ syn keyword tmuxOptsSetw  syn keyword tmuxTodo FIXME NOTE TODO XXX contained  syn match tmuxKey		/\(C-\|M-\|\^\)\+\S\+/	display -syn match tmuxNumber 		/\d\+/			display +syn match tmuxNumber 		/\<\d\+\>/			display  syn match tmuxOptions		/\s-\a\+/		display  syn match tmuxVariable		/\w\+=/			display  syn match tmuxVariableExpansion	/\${\=\w\+}\=/		display diff --git a/syntax/vue.vim b/syntax/vue.vim index a3ab794c..bb9590e3 100644 --- a/syntax/vue.vim +++ b/syntax/vue.vim @@ -8,90 +8,55 @@ if exists("b:current_syntax")    finish  endif -if !exists("s:syntaxes") -  " Search available syntax files. -  function s:search_syntaxes(...) -    let syntaxes = {} -    let names = a:000 -    for name in names -      let syntaxes[name] = 0 -    endfor - -    for path in split(&runtimepath, ',') -      if isdirectory(path . '/syntax') -        for name in names -          let syntaxes[name] = syntaxes[name] || filereadable(path . '/syntax/' . name . '.vim') -        endfor -      endif -    endfor -    return syntaxes -  endfunction - -  let s:syntaxes = s:search_syntaxes('pug', 'slm', 'coffee', 'stylus', 'sass', 'scss', 'less', 'typescript') -endif - - -syntax include @HTML syntax/html.vim -unlet! b:current_syntax -syntax region html keepend start=/^<template\_[^>]*>/ end=/^<\/template>/ contains=@HTML fold - -if s:syntaxes.pug -  syntax include @PUG syntax/pug.vim -  unlet! b:current_syntax -  syntax region pug keepend start=/<template lang=\("\|'\)[^\1]*pug[^\1]*\1>/ end="</template>" contains=@PUG fold -  syntax region pug keepend start=/<template lang=\("\|'\)[^\1]*jade[^\1]*\1>/ end="</template>" contains=@PUG fold -endif - -if s:syntaxes.slm -  syntax include @SLM syntax/slm.vim -  unlet! b:current_syntax -  syntax region slm keepend start=/<template lang=\("\|'\)[^\1]*slm[^\1]*\1>/ end="</template>" contains=@SLM fold -endif - -syntax include @JS syntax/javascript.vim -unlet! b:current_syntax -syntax region javascript keepend matchgroup=Delimiter start=/<script\( lang="babel"\)\?\( type="text\/babel"\)\?>/ end="</script>" contains=@JS fold - -if s:syntaxes.typescript -  syntax include @TS syntax/typescript.vim -  unlet! b:current_syntax -  syntax region typescript keepend matchgroup=Delimiter start=/<script \_[^>]*\(lang=\("\|'\)[^\2]*\(ts\|typescript\)[^\2]*\2\|ts\)\_[^>]*>/ end="</script>" contains=@TS fold -endif - -if s:syntaxes.coffee -  syntax include @COFFEE syntax/coffee.vim -  unlet! b:current_syntax -  " Matchgroup seems to be necessary for coffee -  syntax region coffee keepend matchgroup=Delimiter start="<script lang=\"coffee\">" end="</script>" contains=@COFFEE fold -endif - -syntax include @CSS syntax/css.vim +runtime! syntax/html.vim  unlet! b:current_syntax -syntax region css keepend start=/<style\_[^>]*>/ end="</style>" contains=@CSS fold - -if s:syntaxes.stylus -  syntax include @stylus syntax/stylus.vim -  unlet! b:current_syntax -  syntax region stylus keepend start=/<style \_[^>]*lang=\("\|'\)[^\1]*stylus[^\1]*\1\_[^>]*>/ end="</style>" contains=@stylus fold -endif - -if s:syntaxes.sass -  syntax include @sass syntax/sass.vim -  unlet! b:current_syntax -  syntax region sass keepend start=/<style \_[^>]*lang=\("\|'\)[^\1]*sass[^\1]*\1\_[^>]*>/ end="</style>" contains=@sass fold -endif -if s:syntaxes.scss -  syntax include @scss syntax/scss.vim -  unlet! b:current_syntax -  syntax region scss keepend start=/<style \_[^>]*lang=\("\|'\)[^\1]*scss[^\1]*\1\_[^>]*>/ end="</style>" contains=@scss fold -endif - -if s:syntaxes.less -  syntax include @less syntax/less.vim -  unlet! b:current_syntax -  syntax region less keepend matchgroup=PreProc start=/<style \_[^>]*lang=\("\|'\)[^\1]*less[^\1]*\1\_[^>]*>/ end="</style>" contains=@less fold -endif +"" +" Get the pattern for a HTML {name} attribute with {value}. +function! s:attr(name, value) +  return a:name . '=\("\|''\)[^\1]*' . a:value . '[^\1]*\1' +endfunction + +"" +" Check whether a syntax file for a given {language} exists. +function! s:syntax_available(language) +  return !empty(globpath(&runtimepath, 'syntax/' . a:language . '.vim')) +endfunction + +"" +" Register {language} for a given {tag}. If [attr_override] is given and not +" empty, it will be used for the attribute pattern. +function! s:register_language(language, tag, ...) +  let attr_override = a:0 ? a:1 : '' +  let attr = !empty(attr_override) ? attr_override : s:attr('lang', a:language) + +  if s:syntax_available(a:language) +    execute 'syntax include @' . a:language . ' syntax/' . a:language . '.vim' +    unlet! b:current_syntax +    execute 'syntax region vue_' . a:language +          \ 'keepend' +          \ 'start=/<' . a:tag . ' \_[^>]*' . attr . '\_[^>]*>/' +          \ 'end="</' . a:tag . '>"me=s-1' +          \ 'contains=@' . a:language . ',vueSurroundingTag' +          \ 'fold' +  endif +endfunction + +call s:register_language('pug', 'template', s:attr('lang', '\%(pug\|jade\)')) +call s:register_language('slm', 'template') +call s:register_language('handlebars', 'template') +call s:register_language('haml', 'template') +call s:register_language('typescript', 'script', '\%(lang=\("\|''\)[^\1]*\(ts\|typescript\)[^\1]*\1\|ts\)') +call s:register_language('coffee', 'script') +call s:register_language('stylus', 'style') +call s:register_language('sass', 'style') +call s:register_language('scss', 'style') +call s:register_language('less', 'style') + +syn region  vueSurroundingTag   contained start=+<\(script\|style\|template\)+ end=+>+ fold contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent +syn keyword htmlSpecialTagName  contained template +syn keyword htmlArg             contained scoped ts +syn match   htmlArg "[@v:][-:.0-9_a-z]*\>" contained  let b:current_syntax = "vue" | 
