diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2019-09-27 19:47:32 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2019-09-27 19:47:32 +0200 |
commit | f95026252c5a31242903a98c741887696dfbb11f (patch) | |
tree | cd697cdc96c20a44f03ff3aacc67f78fdcc6ece5 /syntax | |
parent | 4f3df59be709bf0d5c5c67dc804fde49abdc2700 (diff) | |
download | vim-polyglot-f95026252c5a31242903a98c741887696dfbb11f.tar.gz vim-polyglot-f95026252c5a31242903a98c741887696dfbb11f.zip |
Update everything, closes #435
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/Dockerfile.vim | 2 | ||||
-rw-r--r-- | syntax/ansible.vim | 10 | ||||
-rw-r--r-- | syntax/ansible_hosts.vim | 10 | ||||
-rw-r--r-- | syntax/crystal.vim | 2 | ||||
-rw-r--r-- | syntax/dart.vim | 6 | ||||
-rw-r--r-- | syntax/embeddedpuppet.vim | 33 | ||||
-rw-r--r-- | syntax/gomod.vim | 9 | ||||
-rw-r--r-- | syntax/pug.vim | 3 | ||||
-rw-r--r-- | syntax/puppet.vim | 584 | ||||
-rw-r--r-- | syntax/rust.vim | 11 | ||||
-rw-r--r-- | syntax/terraform.vim | 278 | ||||
-rw-r--r-- | syntax/zig.vim | 4 |
12 files changed, 767 insertions, 185 deletions
diff --git a/syntax/Dockerfile.vim b/syntax/Dockerfile.vim index 54d46096..2f68794c 100644 --- a/syntax/Dockerfile.vim +++ b/syntax/Dockerfile.vim @@ -37,7 +37,7 @@ syn region dockerfileString1 start=/'/ skip=/\\'|\\\\/ end=/'/ syn region dockerfileEmail start=/</ end=/>/ contains=@ oneline " Urls -syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\.]\+/ +syn match dockerfileUrl /\(http\|https\|ssh\|hg\|git\)\:\/\/[a-zA-Z0-9\/\-\._]\+/ " Task tags syn keyword dockerfileTodo contained TODO FIXME XXX diff --git a/syntax/ansible.vim b/syntax/ansible.vim index 539594db..29921b6b 100644 --- a/syntax/ansible.vim +++ b/syntax/ansible.vim @@ -62,7 +62,7 @@ fun! s:attribute_highlight(attributes) elseif a:attributes =~ 'd' highlight link ansible_attributes Comment else - highlight link ansible_attributes Structure + highlight default link ansible_attributes Structure endif endfun @@ -77,12 +77,12 @@ if exists("g:ansible_name_highlight") if g:ansible_name_highlight =~ 'd' highlight link ansible_name Comment else - highlight link ansible_name Underlined + highlight default link ansible_name Underlined endif endif execute 'syn keyword ansible_debug_keywords debug containedin='.s:yamlKey.' contained' -highlight link ansible_debug_keywords Debug +highlight default link ansible_debug_keywords Debug if exists("g:ansible_extra_keywords_highlight") execute 'syn keyword ansible_extra_special_keywords register always_run changed_when failed_when no_log args vars delegate_to ignore_errors containedin='.s:yamlKey.' contained' @@ -93,14 +93,14 @@ execute 'syn keyword ansible_normal_keywords include include_tasks import_tasks if exists("g:ansible_normal_keywords_highlight") execute 'highlight link ansible_normal_keywords '.g:ansible_normal_keywords_highlight else - highlight link ansible_normal_keywords Statement + highlight default link ansible_normal_keywords Statement endif execute 'syn match ansible_with_keywords "\vwith_.+" containedin='.s:yamlKey.' contained' if exists("g:ansible_with_keywords_highlight") execute 'highlight link ansible_with_keywords '.g:ansible_with_keywords_highlight else - highlight link ansible_with_keywords Statement + highlight default link ansible_with_keywords Statement endif let b:current_syntax = "ansible" diff --git a/syntax/ansible_hosts.vim b/syntax/ansible_hosts.vim index 953cd918..5bdf0530 100644 --- a/syntax/ansible_hosts.vim +++ b/syntax/ansible_hosts.vim @@ -16,11 +16,11 @@ syn region hostsHeader start="\v^\s*\[" end="\v\]" syn keyword hostsHeaderSpecials children vars containedin=hostsHeader contained syn match hostsComment "\v^[#;].*$" -highlight link hostsFirstWord Label -highlight link hostsHeader Define -highlight link hostsComment Comment -highlight link hostsHeaderSpecials Identifier -highlight link hostsAttributes Structure +highlight default link hostsFirstWord Label +highlight default link hostsHeader Define +highlight default link hostsComment Comment +highlight default link hostsHeaderSpecials Identifier +highlight default link hostsAttributes Structure if exists("g:ansible_attribute_highlight") if g:ansible_attribute_highlight =~ 'n' diff --git a/syntax/crystal.vim b/syntax/crystal.vim index cdd9f037..edfd327e 100644 --- a/syntax/crystal.vim +++ b/syntax/crystal.vim @@ -121,7 +121,7 @@ syn match crystalPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(crystal " Normal Regular Expression syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|ifdef\|when\|not\|then\|else\)\|[;\~=!|&(,[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold -syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold +syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=/]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@crystalRegexpSpecial fold " Generalized Regular Expression syn region crystalRegexp matchgroup=crystalRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.? /]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@crystalRegexpSpecial fold diff --git a/syntax/dart.vim b/syntax/dart.vim index e9a44bbb..797e684b 100644 --- a/syntax/dart.vim +++ b/syntax/dart.vim @@ -53,6 +53,11 @@ syntax match dartMetadata "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a " Numbers syntax match dartNumber "\<\d\+\(\.\d\+\)\=\>" +" User Types +if !exists('dart_highlight_types') || dart_highlight_types + syntax match dartTypeName "\<[A-Z]\w*\>\|\<_[A-Z]\w*\>" +endif + " Core libraries if !exists('dart_corelib_highlight') || dart_corelib_highlight syntax keyword dartCoreClasses BidirectionalIterator Comparable DateTime @@ -118,6 +123,7 @@ highlight default link dartTypedef Typedef highlight default link dartTodo Todo highlight default link dartKeyword Keyword highlight default link dartType Type +highlight default link dartTypeName Type highlight default link dartInterpolation PreProc highlight default link dartDocLink SpecialComment highlight default link dartSpecialChar SpecialChar diff --git a/syntax/embeddedpuppet.vim b/syntax/embeddedpuppet.vim new file mode 100644 index 00000000..71096274 --- /dev/null +++ b/syntax/embeddedpuppet.vim @@ -0,0 +1,33 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1 + +" Vim syntax plugin +" Language: embedded puppet +" Maintainer: Gabriel Filion <gabster@lelutin.ca> +" URL: https://github.com/rodjek/vim-puppet +" Last Change: 2019-09-01 + +" quit when a syntax file was already loaded {{{1 +if exists("b:current_syntax") + finish +endif + +runtime! syntax/sh.vim +unlet! b:current_syntax + +syn include @puppetTop syntax/puppet.vim + +syn cluster ePuppetRegions contains=ePuppetBlock,ePuppetExpression,ePuppetComment + +syn region ePuppetBlock matchgroup=ePuppetDelimiter start="<%%\@!-\=" end="[=-]\=%\@<!%>" contains=@puppetTop containedin=ALLBUT,@ePuppetRegions keepend +syn region ePuppetExpression matchgroup=ePuppetDelimiter start="<%=\{1,4}" end="[=-]\=%\@<!%>" contains=@puppetTop containedin=ALLBUT,@ePuppetRegions keepend +syn region ePuppetComment matchgroup=ePuppetDelimiter start="<%-\=#" end="[=-]\=%\@<!%>" contains=puppetTodo,@Spell containedin=ALLBUT,@ePuppetRegions keepend + +" Define the default highlighting. + +hi def link ePuppetDelimiter PreProc +hi def link ePuppetComment Comment + +let b:current_syntax = "embeddedpuppet" + + +endif diff --git a/syntax/gomod.vim b/syntax/gomod.vim index 1d70e539..11cd7686 100644 --- a/syntax/gomod.vim +++ b/syntax/gomod.vim @@ -11,17 +11,20 @@ syntax case match " match keywords syntax keyword gomodModule module +syntax keyword gomodGo go contained syntax keyword gomodRequire require syntax keyword gomodExclude exclude syntax keyword gomodReplace replace -" require, exclude and replace can be also grouped into block +" require, exclude, replace, and go can be also grouped into block syntax region gomodRequire start='require (' end=')' transparent contains=gomodRequire,gomodVersion syntax region gomodExclude start='exclude (' end=')' transparent contains=gomodExclude,gomodVersion syntax region gomodReplace start='replace (' end=')' transparent contains=gomodReplace,gomodVersion +syntax match gomodGo '^go .*$' transparent contains=gomodGo,gomodGoVersion " set highlights highlight default link gomodModule Keyword +highlight default link gomodGo Keyword highlight default link gomodRequire Keyword highlight default link gomodExclude Keyword highlight default link gomodReplace Keyword @@ -38,6 +41,10 @@ highlight default link gomodString String syntax match gomodReplaceOperator "\v\=\>" highlight default link gomodReplaceOperator Operator +" match go versions +syntax match gomodGoVersion "1\.\d\+" contained +highlight default link gomodGoVersion Identifier + " highlight versions: " * vX.Y.Z-pre diff --git a/syntax/pug.vim b/syntax/pug.vim index c83b35c6..d393dab6 100644 --- a/syntax/pug.vim +++ b/syntax/pug.vim @@ -29,7 +29,8 @@ syn region javascriptParenthesisBlock start="(" end=")" contains=@htmlJavascrip syn cluster htmlJavascript add=javascriptParenthesisBlock syn region pugJavascript matchgroup=pugJavascriptOutputChar start="[!&]\==\|\~" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend -syn region pugJavascript matchgroup=pugJavascriptChar start="-" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend +syn region pugJavascript matchgroup=pugJavascriptChar start="\(^\|\s\)\@<=-" skip=",\s*$" end="$" contained contains=@htmlJavascript keepend + syn cluster pugTop contains=pugBegin,pugComment,pugHtmlComment,pugJavascript syn match pugBegin "^\s*\%([<>]\|&[^=~ ]\)\@!" nextgroup=pugTag,pugClassChar,pugIdChar,pugPlainChar,pugJavascript,pugScriptConditional,pugScriptStatement,pugPipedText syn match pugTag "+\?[[:alnum:]_-]\+\%(:\w\+\)\=" contained contains=htmlTagName,htmlSpecialTagName,pugJavascript nextgroup=@pugComponent diff --git a/syntax/puppet.vim b/syntax/puppet.vim index c28a7255..744de1c8 100644 --- a/syntax/puppet.vim +++ b/syntax/puppet.vim @@ -1,173 +1,439 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'puppet') == -1 -" puppet syntax file -" Filename: puppet.vim -" Language: puppet configuration file -" Maintainer: Luke Kanies <luke@madstop.com> -" URL: -" Last Change: -" Version: +" Language: Puppet +" Maintainer: Voxpupuli +" URL: https://github.com/voxpupuli/vim-puppet " +" Thanks to Doug Kearns who maintains the vim syntax file for Ruby. Many constructs, including interpolation +" and heredoc was copied from ruby and then modified to comply with Puppet syntax. -" Copied from the cfengine, ruby, and perl syntax files -" For version 5.x: Clear all syntax items -" For version 6.x: Quit when a syntax file was already loaded -if version < 600 - syntax clear -elseif exists("b:current_syntax") +" Prelude {{{1 +if exists("b:current_syntax") finish endif -" match class/definition/node declarations -syn region puppetDefine start="^\s*\(class\|define\|node\)\s" end="{" contains=puppetDefType,puppetDefName,puppetDefArguments,puppetNodeRe,@NoSpell -syn keyword puppetDefType class define node inherits contained -syn region puppetDefArguments start="(" end=")" contained contains=puppetType,puppetArgument,puppetString,puppetComment,puppetMultilineComment -syn match puppetArgument "\w\+" contained -syn match puppetArgument "\$\w\+" contained -syn match puppetArgument "'[^']+'" contained -syn match puppetArgument '"[^"]+"' contained -syn keyword puppetType Any Array Boolean Callable Catalogentry Collection Data Default Enum Float Hash Integer Numeric Optional Pattern Regexp Scalar Sensitive String Struct Tuple Type Undef Variant -syn match puppetDefName "\w\+" contained -syn match puppetNodeRe "/.*/" contained - -" match 'foo' in 'class foo { ...' -" match 'foo::bar' in 'class foo::bar { ...' -" match 'Foo::Bar' in 'Foo::Bar["..."] -"FIXME: "Foo-bar" doesn't get highlighted as expected, although "foo-bar" does. -syn match puppetInstance "[A-Za-z0-9_-]\+\(::[A-Za-z0-9_-]\+\)*\s*{" contains=puppetTypeName,puppetTypeDefault,@NoSpell -syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*[[{]" contains=puppetTypeName,puppetTypeDefault,@NoSpell -syn match puppetInstance "[A-Z][a-z_-]\+\(::[A-Z][a-z_-]\+\)*\s*<\?<|" contains=puppetTypeName,puppetTypeDefault,@NoSpell -syn match puppetTypeName "[a-z]\w*" contained -syn match puppetTypeDefault "[A-Z]\w*" contained - -syn match puppetParam "\(\w\+\|\*\)\s*\(=\|+\)>" contains=puppetTypeRArrow,puppetParamName -syn match puppetParamRArrow "\(=\|+\)>" contained -syn match puppetParamName "\(\w\+\|\*\)" contained contains=@NoSpell -syn match puppetVariable "$\(\(\(::\)\?\w\+\)\+\|{\(\(::\)\?\w\+\)\+}\)" -syn match puppetParen "(" -syn match puppetParen ")" -syn match puppetBrace "{" -syn match puppetBrace "}" -syn match puppetBrack "\[" -syn match puppetBrack "\]" -syn match puppetBrack "<|" -syn match puppetBrack "|>" - -" match 'present' in 'ensure => present' -" match '2755' in 'mode => 2755' -" don't match 'bar' in 'foo => bar' -syn match puppetParam "\w\+\s*[=+]>\s*[a-z0-9]\+" contains=puppetParamString,puppetParamName -syn match puppetParamString "[=+]>\s*\w\+" contains=puppetParamKeyword,puppetParamSpecial,puppetParamDigits contained -syn keyword puppetParamKeyword present absent purged latest installed running stopped mounted unmounted role configured file directory link on_failure contained -syn keyword puppetParamSpecial true false undef contained -syn match puppetParamDigits "[0-9]\+" - -" match 'template' in 'content => template("...")' -syn match puppetParam "\w\+\s*[=+]>\s*\w\+\s*(" contains=puppetFunction,puppetParamName -" statements -syn region puppetFunction start="^\s*\(alert\|crit\|debug\|emerg\|err\|fail\|include\|info\|notice\|realize\|require\|search\|tag\|warning\)\s*(" end=")" contained contains=puppetString -" rvalues -syn region puppetFunction start="^\s*\(defined\|file\|fqdn_rand\|generate\|inline_template\|regsubst\|sha1\|shellquote\|split\|sprintf\|tagged\|template\|versioncmp\)\s*(" end=")" contained contains=puppetString - -syn match puppetVariable "$[a-zA-Z0-9_:]\+" contains=@NoSpell -syn match puppetVariable "${[a-zA-Z0-9_:'\[\]]\+}" contains=@NoSpell - -" match anything between simple/double quotes. -" don't match variables if preceded by a backslash. -syn region puppetString start=+'+ skip=+\\\\\|\\'+ end=+'+ -syn region puppetString start=+@(\z\([^/)]*\)\(/[\\nts$uL]*\)\?)$+ end=+|-\? *\z1 *$+ -syn region puppetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=puppetVariable,puppetNotVariable -syn region puppetString start=+@("\z\([^/)]*\)"\(/[\\nts$uL]*\)\?)$+ end=+|-\? *\z1 *$+ contains=puppetVariable,puppetNotVariable -syn match puppetNotVariable "\\$\w\+" contained -syn match puppetNotVariable "\\${\w\+}" contained - -" match keywords and control words except when used as a parameter -syn match puppetKeyword "\(\<import\>\|\<inherits\>\|\<include\>\|\<require\>\|\<contain\>\)\(\s*=>\)\@!" -syn match puppetControl "\(\<case\>\|\<default\>\|\<unless\>\|\<if\>\|\<else\>\|\<elsif\>\)\(\s*=>\)\@!" -syn keyword puppetSpecial true false undef - -syn match puppetClass "[A-Za-z0-9_-]\+\(::[A-Za-z0-9_-]\+\)\+" contains=@NoSpell - -" Match the Regular Expression type -" XXX: Puppet does not currently support a few features available in the -" full Ruby Regexp class, namely, interpolation, lookbehind and named -" sub-expressions. Matches for these features are included in the -" commented-out versions of puppetRegexParen and puppetRegexSubName, -" plus the supporting groups puppetRegexAngBrack and puppetRegexTick. -syn region puppetRegex start="\(?<!/.*\)/" skip="\\/" end="/" contains=puppetRegexParen,puppetRegexBrace,puppetRegexOrpuppetRegexBrack,puppetRegexComment -syn match puppetRegexParen "(\(?\([imx]\{0,4}:\|[=!]\)\)\?" contains=puppetRegexSpecChar,puppetRegexSubName contained -"syn match puppetRegexParen "(\(?\([imxo]\{0,4}:\|['<][[:alnum:]]\+[>']\|<?[=!]\)\)\?" contains=puppetRegexSpecChar,puppetRegexSubName contained -syn match puppetRegexParen ")" contained -syn match puppetRegexBrace "{" contained -syn match puppetRegexBrace "}" contained -syn match puppetRegexBrack "\[" contained -syn match puppetRegexBrack "\]" contained -"syn match puppetRegexAngBrack "<" contained -"syn match puppetRegexAngBrack ">" contained -"syn match puppetRegexTick +'+ contained -syn match puppetRegexOr "|" contained -"syn match puppetRegexSubName "['<][[:alnum:]]\+[>']" contains=puppetRegexAngBrack,puppetRegexTick contained -syn match puppetRegexSpecialChar "[?:imx]\|\(<?[=!]\)" contained -syn region puppetRegexComment start="(?#" skip="\\)" end=")" contained +" this file uses line continuations +let s:cpo_sav = &cpo +set cpo&vim + +syn cluster puppetNotTop contains=@puppetExtendedStringSpecial,@puppetRegexpSpecial,@puppetDeclaration,puppetConditional,puppetExceptional,puppetMethodExceptional,puppetTodo + +syn match puppetSpaceError display excludenl "\s\+$" +syn match puppetSpaceError display " \+\t"me=e-1 + +" one character operators +syn match puppetOperator "[=><+/*%!.|@:,;?~-]" + +" two character operators +syn match puppetOperator "+=\|-=\|==\|!=\|=\~\|!\~\|>=\|<=\|<-\|<\~\|=>\|+>\|->\|\~>\|<<\||>\|@@" + +" three character operators +syn match puppetOperator "<<|\||>>" + +syn region puppetBracketOperator matchgroup=puppetDelimiter start="\[\s*" end="\s*]" contains=ALLBUT,@puppetNotTop +syn region puppetBraceOperator matchgroup=puppetDelimiter start="{\s*" end="\s*}" contains=ALLBUT,@puppetNotTop +syn region puppetParenOperator matchgroup=puppetDelimiter start="(\s*" end="\s*)" contains=ALLBUT,@puppetNotTop + +" Expression Substitution and Backslash Notation {{{1 +syn match puppetStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display +syn match puppetStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display +syn match puppetQuoteEscape "\\[\\']" contained display + +syn region puppetInterpolation matchgroup=puppetInterpolationDelimiter start="${" end="}" contained contains=ALLBUT,@puppetNotTop +syn match puppetInterpolation "$\%(::\)\?\w\+" display contained contains=puppetInterpolationDelimiter,puppetVariable +syn match puppetInterpolationDelimiter "$\ze\$\w\+" display contained +syn match puppetInterpolation "$\$\%(-\w\|\W\)" display contained contains=puppetInterpolationDelimiter,puppetVariable,puppetInvalidVariable +syn match puppetInterpolationDelimiter "$\ze\$\%(-\w\|\W\)" display contained +syn region puppetNoInterpolation start="\\${" end="}" contained +syn match puppetNoInterpolation "\\${" display contained +syn match puppetNoInterpolation "\\$\w\+" display contained + +syn match puppetDelimiterEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE + +syn region puppetNestedParentheses start="(" skip="\\\\\|\\)" matchgroup=puppetString end=")" transparent contained +syn region puppetNestedCurlyBraces start="{" skip="\\\\\|\\}" matchgroup=puppetString end="}" transparent contained +syn region puppetNestedAngleBrackets start="<" skip="\\\\\|\\>" matchgroup=puppetString end=">" transparent contained +syn region puppetNestedSquareBrackets start="\[" skip="\\\\\|\\\]" matchgroup=puppetString end="\]" transparent contained + +" Regular Expression Metacharacters {{{1 +" These are mostly Oniguruma ready +syn region puppetRegexpComment matchgroup=puppetRegexpSpecial start="(?#" skip="\\)" end=")" contained +syn region puppetRegexpParens matchgroup=puppetRegexpSpecial start="(\(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\)" end=")" contained transparent contains=@puppetRegexpSpecial +syn region puppetRegexpBrackets matchgroup=puppetRegexpCharClass start="\[\^\=" skip="\\\]" end="\]" contained transparent contains=puppetStringEscape,puppetRegexpEscape,puppetRegexpCharClass oneline +syn match puppetRegexpCharClass "\\[DdHhSsWw]" contained display +syn match puppetRegexpCharClass "\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\):\]" contained +syn match puppetRegexpEscape "\\[].*?+^$|\\/(){}[]" contained +syn match puppetRegexpQuantifier "[*?+][?+]\=" contained display +syn match puppetRegexpQuantifier "{\d\+\%(,\d*\)\=}?\=" contained display +syn match puppetRegexpAnchor "[$^]\|\\[ABbGZz]" contained display +syn match puppetRegexpDot "\." contained display +syn match puppetRegexpSpecial "|" contained display +syn match puppetRegexpSpecial "\\[1-9]\d\=\d\@!" contained display +syn match puppetRegexpSpecial "\\k<\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\=>" contained display +syn match puppetRegexpSpecial "\\k'\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\='" contained display +syn match puppetRegexpSpecial "\\g<\%([a-z_]\w*\|-\=\d\+\)>" contained display +syn match puppetRegexpSpecial "\\g'\%([a-z_]\w*\|-\=\d\+\)'" contained display + +syn cluster puppetStringSpecial contains=puppetInterpolation,puppetNoInterpolation,puppetStringEscape +syn cluster puppetExtendedStringSpecial contains=@puppetStringSpecial,puppetNestedParentheses,puppetNestedCurlyBraces,puppetNestedAngleBrackets,puppetNestedSquareBrackets +syn cluster puppetRegexpSpecial contains=puppetRegexpSpecial,puppetRegexpEscape,puppetRegexpBrackets,puppetRegexpCharClass,puppetRegexpDot,puppetRegexpQuantifier,puppetRegexpAnchor,puppetRegexpParens,puppetRegexpComment + +syn match puppetInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[xX]\x\+\%(_\x\+\)*r\=i\=\>" display +syn match puppetInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)r\=i\=\>" display +syn match puppetInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[oO]\=\o\+\%(_\o\+\)*r\=i\=\>" display +syn match puppetInteger "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[bB][01]\+\%(_[01]\+\)*r\=i\=\>" display +syn match puppetFloat "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*r\=i\=\>" display +syn match puppetFloat "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)r\=i\=\>" display + +syn match puppetVariable "$\%(::\)\=\w\+\%(::\w\+\)*" display +syn match puppetName "\%(::\)\=[a-z]\w*\%(::[a-z]\w*\)*" display +syn match puppetType "\%(::\)\=[A-Z]\w*\%(::[A-Z]\w*\)*" display +syn match puppetWord "\%(\%(::\)\=\%(_[\w-]*\w\+\)\|\%([a-z]\%(\w*-\)\+\w\+\)\)\+" display + +" bad name containing combinations of segment starting with lower case and segement starting with upper case (or vice versa) +syn match puppetNameBad "\%(::\)\=\%(\w\+::\)*\%(\%([a-z]\w*::[A-Z]\w*\)\|\%([A-Z]\w*::[a-z]\w*\)\)\%(::\w\+\)*" display +syn cluster puppetNameOrType contains=puppetVariable,puppetName,puppetType,puppetWord,puppetNameBad + +syn keyword puppetControl case and or in +syn keyword puppetKeyword class define inherits node undef function type attr private +syn keyword puppetKeyword application consumes produces site +syn keyword puppetKeyword present absent purged latest installed running stopped mounted unmounted role configured file directory link on_failure contained +syn keyword puppetConstant default undef +syn keyword puppetConditional if else elsif unless +syn keyword puppetBoolean true false + +" Core functions +syn match puppetFunction "\<alert\>" +syn match puppetFunction "\<assert_type\>" +syn match puppetFunction "\<binary_file\>" +syn match puppetFunction "\<break\>" +syn match puppetFunction "\<contain\>" +syn match puppetFunction "\<crit\>" +syn match puppetFunction "\<create_resources\>" +syn match puppetFunction "\<debug\>" +syn match puppetFunction "\<defined\>" +syn match puppetFunction "\<dig\>" +syn match puppetFunction "\<each\>" +syn match puppetFunction "\<emerg\>" +syn match puppetFunction "\<epp\>" +syn match puppetFunction "\<err\>" +syn match puppetFunction "\<fail\>" +syn match puppetFunction "\<file\>" +syn match puppetFunction "\<filter\>" +syn match puppetFunction "\<find_file\>" +syn match puppetFunction "\<fqdn_rand\>" +syn match puppetFunction "\<hiera\>" +syn match puppetFunction "\<hiera_array\>" +syn match puppetFunction "\<hiera_hash\>" +syn match puppetFunction "\<hiera_include\>" +syn match puppetFunction "\<import\>" +syn match puppetFunction "\<include\>" +syn match puppetFunction "\<info\>" +syn match puppetFunction "\<inline_epp\>" +syn match puppetFunction "\<lest\>" +syn match puppetFunction "\<lookup\>" +syn match puppetFunction "\<map\>" +syn match puppetFunction "\<match\>" +syn match puppetFunction "\<new\>" +syn match puppetFunction "\<next\>" +syn match puppetFunction "\<notice\>" +syn match puppetFunction "\<realize\>" +syn match puppetFunction "\<reduce\>" +syn match puppetFunction "\<regsubst\>" +syn match puppetFunction "\<require\>" +syn match puppetFunction "\<return\>" +syn match puppetFunction "\<reverse_each\>" +syn match puppetFunction "\<scanf\>" +syn match puppetFunction "\<sha1\>" +syn match puppetFunction "\<shellquote\>" +syn match puppetFunction "\<slice\>" +syn match puppetFunction "\<split\>" +syn match puppetFunction "\<sprintf\>" +syn match puppetFunction "\<step\>" +syn match puppetFunction "\<strftime\>" +syn match puppetFunction "\<tag\>" +syn match puppetFunction "\<tagged\>" +syn match puppetFunction "\<template\>" +syn match puppetFunction "\<then\>" +syn match puppetFunction "\<type\>" +syn match puppetFunction "\<unwrap\>" +syn match puppetFunction "\<versioncmp\>" +syn match puppetFunction "\<warning\>" +syn match puppetFunction "\<with\>" + +" Stdlib functions +syn match puppetStdLibFunction "\<abs\>" +syn match puppetStdLibFunction "\<any2array\>" +syn match puppetStdLibFunction "\<any2bool\>" +syn match puppetStdLibFunction "\<assert_private\>" +syn match puppetStdLibFunction "\<base64\>" +syn match puppetStdLibFunction "\<basename\>" +syn match puppetStdLibFunction "\<bool2num\>" +syn match puppetStdLibFunction "\<bool2str\>" +syn match puppetStdLibFunction "\<camelcase\>" +syn match puppetStdLibFunction "\<capitalize\>" +syn match puppetStdLibFunction "\<ceiling\>" +syn match puppetStdLibFunction "\<chomp\>" +syn match puppetStdLibFunction "\<chop\>" +syn match puppetStdLibFunction "\<clamp\>" +syn match puppetStdLibFunction "\<concat\>" +syn match puppetStdLibFunction "\<convert_base\>" +syn match puppetStdLibFunction "\<count\>" +syn match puppetStdLibFunction "\<deep_merge\>" +syn match puppetStdLibFunction "\<defined_with_params\>" +syn match puppetStdLibFunction "\<delete\>" +syn match puppetStdLibFunction "\<delete_at\>" +syn match puppetStdLibFunction "\<delete_regex\>" +syn match puppetStdLibFunction "\<delete_undef_values\>" +syn match puppetStdLibFunction "\<delete_values\>" +syn match puppetStdLibFunction "\<deprecation\>" +syn match puppetStdLibFunction "\<difference\>" +syn match puppetStdLibFunction "\<dig\>" +syn match puppetStdLibFunction "\<dig44\>" +syn match puppetStdLibFunction "\<dirname\>" +syn match puppetStdLibFunction "\<dos2unix\>" +syn match puppetStdLibFunction "\<downcase\>" +syn match puppetStdLibFunction "\<empty\>" +syn match puppetStdLibFunction "\<enclose_ipv6\>" +syn match puppetStdLibFunction "\<ensure_packages\>" +syn match puppetStdLibFunction "\<ensure_resource\>" +syn match puppetStdLibFunction "\<ensure_resources\>" +syn match puppetStdLibFunction "\<flatten\>" +syn match puppetStdLibFunction "\<floor\>" +syn match puppetStdLibFunction "\<fqdn_rand_string\>" +syn match puppetStdLibFunction "\<fqdn_rotate\>" +syn match puppetStdLibFunction "\<get_module_path\>" +syn match puppetStdLibFunction "\<getparam\>" +syn match puppetStdLibFunction "\<getvar\>" +syn match puppetStdLibFunction "\<grep\>" +syn match puppetStdLibFunction "\<has_interface_with\>" +syn match puppetStdLibFunction "\<has_ip_address\>" +syn match puppetStdLibFunction "\<has_ip_network\>" +syn match puppetStdLibFunction "\<has_key\>" +syn match puppetStdLibFunction "\<hash\>" +syn match puppetStdLibFunction "\<intersection\>" +syn match puppetStdLibFunction "\<is_absolute_path\>" +syn match puppetStdLibFunction "\<is_array\>" +syn match puppetStdLibFunction "\<is_bool\>" +syn match puppetStdLibFunction "\<is_domain_name\>" +syn match puppetStdLibFunction "\<is_email_address\>" +syn match puppetStdLibFunction "\<is_float\>" +syn match puppetStdLibFunction "\<is_function_available\>" +syn match puppetStdLibFunction "\<is_hash\>" +syn match puppetStdLibFunction "\<is_integer\>" +syn match puppetStdLibFunction "\<is_ip_address\>" +syn match puppetStdLibFunction "\<is_ipv4_address\>" +syn match puppetStdLibFunction "\<is_ipv6_address\>" +syn match puppetStdLibFunction "\<is_mac_address\>" +syn match puppetStdLibFunction "\<is_numeric\>" +syn match puppetStdLibFunction "\<is_string\>" +syn match puppetStdLibFunction "\<join\>" +syn match puppetStdLibFunction "\<join_keys_to_values\>" +syn match puppetStdLibFunction "\<keys\>" +syn match puppetStdLibFunction "\<load_module_metadata\>" +syn match puppetStdLibFunction "\<loadjson\>" +syn match puppetStdLibFunction "\<loadyaml\>" +syn match puppetStdLibFunction "\<lstrip\>" +syn match puppetStdLibFunction "\<max\>" +syn match puppetStdLibFunction "\<member\>" +syn match puppetStdLibFunction "\<merge\>" +syn match puppetStdLibFunction "\<min\>" +syn match puppetStdLibFunction "\<num2bool\>" +syn match puppetStdLibFunction "\<parsejson\>" +syn match puppetStdLibFunction "\<parseyaml\>" +syn match puppetStdLibFunction "\<pick\>" +syn match puppetStdLibFunction "\<pick_default\>" +syn match puppetStdLibFunction "\<prefix\>" +syn match puppetStdLibFunction "\<private\>" +syn match puppetStdLibFunction "\<pw_hash\>" +syn match puppetStdLibFunction "\<range\>" +syn match puppetStdLibFunction "\<regexpescape\>" +syn match puppetStdLibFunction "\<reject\>" +syn match puppetStdLibFunction "\<reverse\>" +syn match puppetStdLibFunction "\<rstrip\>" +syn match puppetStdLibFunction "\<seeded_rand\>" +syn match puppetStdLibFunction "\<shell_escape\>" +syn match puppetStdLibFunction "\<shell_join\>" +syn match puppetStdLibFunction "\<shell_split\>" +syn match puppetStdLibFunction "\<shuffle\>" +syn match puppetStdLibFunction "\<size\>" +syn match puppetStdLibFunction "\<sort\>" +syn match puppetStdLibFunction "\<squeeze\>" +syn match puppetStdLibFunction "\<str2bool\>" +syn match puppetStdLibFunction "\<str2saltedsha512\>" +syn match puppetStdLibFunction "\<strftime\>" +syn match puppetStdLibFunction "\<strip\>" +syn match puppetStdLibFunction "\<suffix\>" +syn match puppetStdLibFunction "\<swapcase\>" +syn match puppetStdLibFunction "\<time\>" +syn match puppetStdLibFunction "\<to_bytes\>" +syn match puppetStdLibFunction "\<try_get_value\>" +syn match puppetStdLibFunction "\<type\>" +syn match puppetStdLibFunction "\<type3x\>" +syn match puppetStdLibFunction "\<union\>" +syn match puppetStdLibFunction "\<unique\>" +syn match puppetStdLibFunction "\<unix2dos\>" +syn match puppetStdLibFunction "\<upcase\>" +syn match puppetStdLibFunction "\<uriescape\>" +syn match puppetStdLibFunction "\<validate_absolute_path\>" +syn match puppetStdLibFunction "\<validate_array\>" +syn match puppetStdLibFunction "\<validate_augeas\>" +syn match puppetStdLibFunction "\<validate_bool\>" +syn match puppetStdLibFunction "\<validate_cmd\>" +syn match puppetStdLibFunction "\<validate_email_address\>" +syn match puppetStdLibFunction "\<validate_hash\>" +syn match puppetStdLibFunction "\<validate_integer\>" +syn match puppetStdLibFunction "\<validate_ip_address\>" +syn match puppetStdLibFunction "\<validate_ipv4_address\>" +syn match puppetStdLibFunction "\<validate_ipv6_address\>" +syn match puppetStdLibFunction "\<validate_numeric\>" +syn match puppetStdLibFunction "\<validate_re\>" +syn match puppetStdLibFunction "\<validate_slength\>" +syn match puppetStdLibFunction "\<validate_string\>" +syn match puppetStdLibFunction "\<validate_x509_rsa_key_pair\>" +syn match puppetStdLibFunction "\<values\>" +syn match puppetStdLibFunction "\<values_at\>" +syn match puppetStdLibFunction "\<zip\>" + +syn match puppetType "\<Any\>" +syn match puppetType "\<Array\>" +syn match puppetType "\<Binary\>" +syn match puppetType "\<Boolean\>" +syn match puppetType "\<Callable\>" +syn match puppetType "\<CatalogEntry\>" +syn match puppetType "\<Class\>" +syn match puppetType "\<Collection\>" +syn match puppetType "\<Data\>" +syn match puppetType "\<Default\>" +syn match puppetType "\<Enum\>" +syn match puppetType "\<Float\>" +syn match puppetType "\<Hash\>" +syn match puppetType "\<Integer\>" +syn match puppetType "\<Iterable\>" +syn match puppetType "\<Iterator\>" +syn match puppetType "\<NotUndef\>" +syn match puppetType "\<Numeric\>" +syn match puppetType "\<Object\>" +syn match puppetType "\<Optional\>" +syn match puppetType "\<Pattern\>" +syn match puppetType "\<Regexp\>" +syn match puppetType "\<Resource\>" +syn match puppetType "\<Runtime\>" +syn match puppetType "\<Scalar\>" +syn match puppetType "\<ScalarData\>" +syn match puppetType "\<SemVer\>" +syn match puppetType "\<SemVerRange\>" +syn match puppetType "\<Sensitive\>" +syn match puppetType "\<String\>" +syn match puppetType "\<Struct\>" +syn match puppetType "\<TimeSpan\>" +syn match puppetType "\<Timestamp\>" +syn match puppetType "\<Tuple\>" +syn match puppetType "\<Type\>" +syn match puppetType "\<TypeAlias\>" +syn match puppetType "\<TypeReference\>" +syn match puppetType "\<TypeSet\>" +syn match puppetType "\<Undef\>" +syn match puppetType "\<Unit\>" +syn match puppetType "\<Variant\>" + +syn match puppetType "\<augeas\>" +syn match puppetType "\<computer\>" +syn match puppetType "\<cron\>" +syn match puppetType "\<exec\>" +syn match puppetType "\<file\>" +syn match puppetType "\<filebucket\>" +syn match puppetType "\<group\>" +syn match puppetType "\<host\>" +syn match puppetType "\<interface\>" +syn match puppetType "\<k5login\>" +syn match puppetType "\<macauthorization\>" +syn match puppetType "\<mailalias\>" +syn match puppetType "\<maillist\>" +syn match puppetType "\<mcx\>" +syn match puppetType "\<mount\>" +syn match puppetType "\<nagios_command\>" +syn match puppetType "\<nagios_contact\>" +syn match puppetType "\<nagios_contactgroup\>" +syn match puppetType "\<nagios_host\>" +syn match puppetType "\<nagios_hostdependency\>" +syn match puppetType "\<nagios_hostescalation\>" +syn match puppetType "\<nagios_hostextinfo\>" +syn match puppetType "\<nagios_hostgroup\>" +syn match puppetType "\<nagios_service\>" +syn match puppetType "\<nagios_servicedependency\>" +syn match puppetType "\<nagios_serviceescalation\>" +syn match puppetType "\<nagios_serviceextinfo\>" +syn match puppetType "\<nagios_servicegroup\>" +syn match puppetType "\<nagios_timeperiod\>" +syn match puppetType "\<notify\>" +syn match puppetType "\<package\>" +syn match puppetType "\<resources\>" +syn match puppetType "\<router\>" +syn match puppetType "\<schedule\>" +syn match puppetType "\<scheduled_task\>" +syn match puppetType "\<selboolean\>" +syn match puppetType "\<selmodule\>" +syn match puppetType "\<service\>" +syn match puppetType "\<ssh_authorized_key\>" +syn match puppetType "\<sshkey\>" +syn match puppetType "\<stage\>" +syn match puppetType "\<tidy\>" +syn match puppetType "\<user\>" +syn match puppetType "\<vlan\>" +syn match puppetType "\<whit\>" +syn match puppetType "\<yumrepo\>" +syn match puppetType "\<zfs\>" +syn match puppetType "\<zone\>" +syn match puppetType "\<zpool\>" + +" Normal String {{{1 +syn region puppetString matchgroup=puppetStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@puppetStringSpecial +syn region puppetString matchgroup=puppetStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=puppetQuoteEscape + +" Normal Regular Expression {{{1 +syn region puppetRegexp matchgroup=puppetRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/" skip="\\\\\|\\/" contains=@puppetRegexpSpecial +syn region puppetRegexp matchgroup=puppetRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/" skip="\\\\\|\\/" contains=@puppetRegexpSpecial + +" Here Document {{{1 +syn region puppetHeredocStart matchgroup=puppetStringDelimiter start=+@(\s*\%("[^"]\+"\|\w\+\)\%(/[nrtsuL$\\]*\)\=)+ end=+$+ oneline contains=ALLBUT,@puppetNotTop + +syn region puppetString start=+@(\s*"\z([^"]\+\)"\%(/[nrtsuL$\\]*\)\=+hs=s+2 matchgroup=puppetStringDelimiter end=+^\s*|\=\s*-\=\s*\zs\z1$+ contains=puppetHeredocStart,@puppetStringSpecial keepend +syn region puppetString start=+@(\s*\z(\w\+\)\%(/[nrtsuL$\\]*\)\=+hs=s+2 matchgroup=puppetStringDelimiter end=+^\s*|\=\s*-\=\s*\zs\z1$+ contains=puppetHeredocStart keepend " comments last overriding everything else -syn match puppetComment "\s*#.*$" contains=puppetTodo,@Spell -syn region puppetMultilineComment start="/\*" end="\*/" contains=puppetTodo,@Spell -syn keyword puppetTodo TODO NOTE FIXME XXX BUG HACK contained -syn keyword puppetTodo TODO: NOTE: FIXME: XXX: BUG: HACK: contained +syn match puppetComment "\s*#.*$" contains=puppetTodo,@Spell +syn region puppetComment start="/\*" end="\*/" contains=puppetTodo,@Spell extend +syn keyword puppetTodo TODO NOTE FIXME XXX BUG HACK contained " Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_puppet_syn_inits") - if version < 508 - let did_puppet_syn_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink puppetVariable Identifier - HiLink puppetType Type - HiLink puppetKeyword Keyword - HiLink puppetComment Comment - HiLink puppetMultilineComment Comment - HiLink puppetString String - HiLink puppetRegex Constant - HiLink puppetRegexParen Delimiter - HiLink puppetRegexBrace Delimiter - HiLink puppetRegexBrack Delimiter - HiLink puppetRegexAngBrack Delimiter - HiLink puppetRegexTick Delimiter - HiLink puppetRegexOr Delimiter - HiLink puppetRegexSubName Identifier - HiLink puppetRegexSpecChar SpecialChar - HiLink puppetRegexComment Comment - HiLink puppetParamKeyword Keyword - HiLink puppetParamDigits String - HiLink puppetNotVariable String - HiLink puppetParamSpecial Boolean - HiLink puppetSpecial Special - HiLink puppetTodo Todo - HiLink puppetBrack Delimiter - HiLink puppetTypeBrack Delimiter - HiLink puppetBrace Delimiter - HiLink puppetTypeBrace Delimiter - HiLink puppetParen Delimiter - HiLink puppetDelimiter Delimiter - HiLink puppetControl Statement - HiLink puppetDefType Define - HiLink puppetDefName Type - HiLink puppetNodeRe Type - HiLink puppetTypeName Statement - HiLink puppetTypeDefault Type - HiLink puppetParamName Identifier - HiLink puppetArgument Identifier - HiLink puppetFunction Function - HiLink puppetClass Include - - delcommand HiLink -endif +command -nargs=+ HiLink hi def link <args> + +HiLink puppetRegexp puppetConstant +HiLink puppetStdLibFunction puppetFunction +HiLink puppetNoInterpolation puppetString +HiLink puppetFunction Function +HiLink puppetOperator Operator +HiLink puppetString String +HiLink puppetWord String +HiLink puppetFloat Float +HiLink puppetInteger Number +HiLink puppetBoolean Boolean +HiLink puppetName puppetIdentifier +HiLink puppetNameBad Error +HiLink puppetVariable puppetIdentifier +HiLink puppetIdentifier Identifier +HiLink puppetType Type +HiLink puppetConditional Conditional +HiLink puppetConstant Constant +HiLink puppetControl Statement +HiLink puppetKeyword Keyword +HiLink puppetStringDelimiter Delimiter +HiLink puppetDelimiter Delimiter +HiLink puppetTodo Todo +HiLink puppetComment Comment + +delcommand HiLink let b:current_syntax = "puppet" diff --git a/syntax/rust.vim b/syntax/rust.vim index 18e804c1..e9f41d19 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -17,7 +17,13 @@ endif " Syntax definitions {{{1 " Basic keywords {{{2 syn keyword rustConditional match if else -syn keyword rustRepeat for loop while +syn keyword rustRepeat loop while +" `:syn match` must be used to prioritize highlighting `for` keyword. +syn match rustRepeat /\<for\>/ +" Highlight `for` keyword in `impl ... for ... {}` statement. This line must +" be put after previous `syn match` line to overwrite it. +syn match rustKeyword /\%(\<impl\>.\+\)\@<=\<for\>/ +syn keyword rustRepeat in syn keyword rustTypedef type nextgroup=rustIdentifier skipwhite skipempty syn keyword rustStructure struct enum nextgroup=rustIdentifier skipwhite skipempty syn keyword rustUnion union nextgroup=rustIdentifier skipwhite skipempty contained @@ -35,7 +41,7 @@ syn keyword rustKeyword continue syn keyword rustKeyword crate syn keyword rustKeyword extern nextgroup=rustExternCrate,rustObsoleteExternMod skipwhite skipempty syn keyword rustKeyword fn nextgroup=rustFuncName skipwhite skipempty -syn keyword rustKeyword in impl let +syn keyword rustKeyword impl let syn keyword rustKeyword macro syn keyword rustKeyword pub nextgroup=rustPubScope skipwhite skipempty syn keyword rustKeyword return @@ -202,6 +208,7 @@ syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[ "rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" syn match rustLabel display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*:" +syn match rustLabel display "\%(\<\%(break\|continue\)\s*\)\@<=\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" syn match rustCharacterInvalid display contained /b\?'\zs[\n\r\t']\ze'/ " The groups negated here add up to 0-255 but nothing else (they do not seem to go beyond ASCII). syn match rustCharacterInvalidUnicode display contained /b'\zs[^[:cntrl:][:graph:][:alnum:][:space:]]\ze'/ diff --git a/syntax/terraform.vim b/syntax/terraform.vim index 204743d9..9efcfee0 100644 --- a/syntax/terraform.vim +++ b/syntax/terraform.vim @@ -109,6 +109,7 @@ syn keyword terraDataTypeBI \ alicloud_forward_entries \ alicloud_gpdb_instances \ alicloud_images + \ alicloud_instance_type_families \ alicloud_instance_types \ alicloud_instances \ alicloud_key_pairs @@ -155,6 +156,7 @@ syn keyword terraDataTypeBI \ alicloud_slb_backend_servers \ alicloud_slb_ca_certificates \ alicloud_slb_listeners + \ alicloud_slb_master_slave_server_groups \ alicloud_slb_rules \ alicloud_slb_server_certificates \ alicloud_slb_server_groups @@ -244,6 +246,9 @@ syn keyword terraDataTypeBI \ avi_wafpolicypsmgroup \ avi_wafprofile \ avi_webhook + \ aviatrix_account + \ aviatrix_caller_identity + \ aviatrix_gateway \ aws_acm_certificate \ aws_acmpca_certificate_authority \ aws_alb @@ -307,6 +312,7 @@ syn keyword terraDataTypeBI \ aws_elastic_beanstalk_solution_stack \ aws_elasticache_cluster \ aws_elasticache_replication_group + \ aws_elasticsearch_domain \ aws_elb \ aws_elb_hosted_zone_id \ aws_elb_service_account @@ -357,6 +363,8 @@ syn keyword terraDataTypeBI \ aws_region \ aws_route \ aws_route53_delegation_set + \ aws_route53_resolver_rule + \ aws_route53_resolver_rules \ aws_route53_zone \ aws_route_table \ aws_route_tables @@ -441,6 +449,7 @@ syn keyword terraDataTypeBI \ azurerm_monitor_diagnostic_categories \ azurerm_monitor_log_profile \ azurerm_mssql_elasticpool + \ azurerm_network_ddos_protection_plan \ azurerm_network_interface \ azurerm_network_security_group \ azurerm_network_watcher @@ -448,6 +457,7 @@ syn keyword terraDataTypeBI \ azurerm_notification_hub_namespace \ azurerm_platform_image \ azurerm_policy_definition + \ azurerm_proximity_placement_group \ azurerm_public_ip \ azurerm_public_ips \ azurerm_recovery_services_protection_policy_vm @@ -458,12 +468,15 @@ syn keyword terraDataTypeBI \ azurerm_route_table \ azurerm_scheduler_job_collection \ azurerm_servicebus_namespace + \ azurerm_servicebus_namespace_authorization_rule \ azurerm_shared_image \ azurerm_shared_image_gallery \ azurerm_shared_image_version \ azurerm_snapshot + \ azurerm_sql_database \ azurerm_sql_server \ azurerm_storage_account + \ azurerm_storage_account_blob_container_sas \ azurerm_storage_account_sas \ azurerm_stream_analytics_job \ azurerm_subnet @@ -532,6 +545,7 @@ syn keyword terraDataTypeBI \ dns_txt_record_set \ docker_network \ docker_registry_image + \ exoscale_compute_template \ external \ fastly_ip_ranges \ filter @@ -595,6 +609,7 @@ syn keyword terraDataTypeBI \ google_compute_instance_group \ google_compute_lb_ip_ranges \ google_compute_network + \ google_compute_network_endpoint_group \ google_compute_node_types \ google_compute_region_instance_group \ google_compute_regions @@ -616,6 +631,7 @@ syn keyword terraDataTypeBI \ google_kms_crypto_key_version \ google_kms_key_ring \ google_kms_secret + \ google_kms_secret_ciphertext \ google_netblock_ip_ranges \ google_organization \ google_project @@ -633,6 +649,7 @@ syn keyword terraDataTypeBI \ grafana_data_source \ gridscale_ipv4 \ gridscale_ipv6 + \ gridscale_loadbalancer \ gridscale_network \ gridscale_sshkey \ gridscale_storage @@ -718,6 +735,20 @@ syn keyword terraDataTypeBI \ logentries_logset \ logicmonitor_collectors \ logicmonitor_device_group + \ mongodbatlas_cloud_provider_snapshot + \ mongodbatlas_cloud_provider_snapshot_restore_job + \ mongodbatlas_cloud_provider_snapshot_restore_jobs + \ mongodbatlas_cloud_provider_snapshots + \ mongodbatlas_cluster + \ mongodbatlas_clusters + \ mongodbatlas_database_user + \ mongodbatlas_database_users + \ mongodbatlas_network_container + \ mongodbatlas_network_containers + \ mongodbatlas_network_peering + \ mongodbatlas_network_peerings + \ mongodbatlas_project + \ mongodbatlas_projects \ ncloud_access_control_group \ ncloud_access_control_groups \ ncloud_access_control_rule @@ -793,6 +824,9 @@ syn keyword terraDataTypeBI \ oci_core_boot_volume_backup \ oci_core_boot_volume_backups \ oci_core_boot_volumes + \ oci_core_cluster_network + \ oci_core_cluster_network_instances + \ oci_core_cluster_networks \ oci_core_console_histories \ oci_core_console_history_data \ oci_core_cpes @@ -803,6 +837,11 @@ syn keyword terraDataTypeBI \ oci_core_cross_connect_port_speed_shapes \ oci_core_cross_connect_status \ oci_core_cross_connects + \ oci_core_dedicated_vm_host + \ oci_core_dedicated_vm_host_instance_shapes + \ oci_core_dedicated_vm_host_shapes + \ oci_core_dedicated_vm_hosts + \ oci_core_dedicated_vm_hosts_instances \ oci_core_dhcp_options \ oci_core_drg_attachments \ oci_core_drgs @@ -969,8 +1008,12 @@ syn keyword terraDataTypeBI \ oci_kms_keys \ oci_kms_vault \ oci_kms_vaults + \ oci_limits_limit_definitions + \ oci_limits_limit_values \ oci_limits_quota \ oci_limits_quotas + \ oci_limits_resource_availability + \ oci_limits_services \ oci_load_balancer_backend_health \ oci_load_balancer_backend_set_health \ oci_load_balancer_backend_sets @@ -1009,9 +1052,14 @@ syn keyword terraDataTypeBI \ oci_ons_subscription \ oci_ons_subscriptions \ oci_streaming_stream + \ oci_streaming_stream_archiver \ oci_streaming_streams + \ oci_waas_address_list + \ oci_waas_address_lists \ oci_waas_certificate \ oci_waas_certificates + \ oci_waas_custom_protection_rule + \ oci_waas_custom_protection_rules \ oci_waas_edge_subnets \ oci_waas_waas_policies \ oci_waas_waas_policy @@ -1039,8 +1087,11 @@ syn keyword terraDataTypeBI \ openstack_identity_group_v3 \ openstack_identity_project_v3 \ openstack_identity_role_v3 + \ openstack_identity_service_v3 \ openstack_identity_user_v3 \ openstack_images_image_v2 + \ openstack_keymanager_container_v1 + \ openstack_keymanager_secret_v1 \ openstack_networking_addressscope_v2 \ openstack_networking_floatingip_v2 \ openstack_networking_network_v2 @@ -1101,7 +1152,6 @@ syn keyword terraDataTypeBI \ opentelekomcloud_vpc_subnet_ids_v1 \ opentelekomcloud_vpc_subnet_v1 \ opentelekomcloud_vpc_v1 - \ opsgenie_user \ oraclepaas_database_service_instance \ ovh_cloud_region \ ovh_cloud_regions @@ -1130,7 +1180,9 @@ syn keyword terraDataTypeBI \ profitbricks_location \ profitbricks_resource \ profitbricks_snapshot + \ rancher2_app \ rancher2_catalog + \ rancher2_certificate \ rancher2_cloud_credential \ rancher2_cluster \ rancher2_cluster_driver @@ -1138,13 +1190,17 @@ syn keyword terraDataTypeBI \ rancher2_cluster_role_template_binding \ rancher2_etcd_backup \ rancher2_global_role_binding + \ rancher2_multi_cluster_app \ rancher2_namespace \ rancher2_node_driver \ rancher2_node_pool + \ rancher2_node_template \ rancher2_project \ rancher2_project_logging \ rancher2_project_role_template_binding \ rancher2_registry + \ rancher2_role_template + \ rancher2_secret \ rancher2_setting \ rancher2_user \ rancher_certificate @@ -1210,6 +1266,11 @@ syn keyword terraDataTypeBI \ tencentcloud_cbs_storages \ tencentcloud_ccn_bandwidth_limits \ tencentcloud_ccn_instances + \ tencentcloud_clb_attachments + \ tencentcloud_clb_instances + \ tencentcloud_clb_listener_rules + \ tencentcloud_clb_listeners + \ tencentcloud_clb_redirections \ tencentcloud_container_cluster_instances \ tencentcloud_container_clusters \ tencentcloud_cos_bucket_object @@ -1218,21 +1279,34 @@ syn keyword terraDataTypeBI \ tencentcloud_dc_gateway_instances \ tencentcloud_dc_instances \ tencentcloud_dcx_instances + \ tencentcloud_dnats \ tencentcloud_eip + \ tencentcloud_gaap_certificates + \ tencentcloud_gaap_http_domains + \ tencentcloud_gaap_http_rules + \ tencentcloud_gaap_layer4_listeners + \ tencentcloud_gaap_layer7_listeners + \ tencentcloud_gaap_proxies + \ tencentcloud_gaap_realservers + \ tencentcloud_gaap_security_policies + \ tencentcloud_gaap_security_rules \ tencentcloud_image \ tencentcloud_instance_types + \ tencentcloud_kubernetes_clusters \ tencentcloud_mongodb_instances \ tencentcloud_mongodb_zone_config \ tencentcloud_mysql_backup_list \ tencentcloud_mysql_instance \ tencentcloud_mysql_parameter_list \ tencentcloud_mysql_zone_config + \ tencentcloud_nat_gateways \ tencentcloud_nats \ tencentcloud_redis_instances \ tencentcloud_redis_zone_config \ tencentcloud_route_table \ tencentcloud_security_group \ tencentcloud_security_groups + \ tencentcloud_ssl_certificates \ tencentcloud_subnet \ tencentcloud_vpc \ tencentcloud_vpc_instances @@ -1291,6 +1365,8 @@ syn keyword terraDataTypeBI \ yandex_iam_role \ yandex_iam_service_account \ yandex_iam_user + \ yandex_lb_network_load_balancer + \ yandex_lb_target_group \ yandex_resourcemanager_cloud \ yandex_resourcemanager_folder \ yandex_vpc_network @@ -1408,6 +1484,7 @@ syn keyword terraResourceTypeBI \ alicloud_ess_alarm \ alicloud_ess_attachment \ alicloud_ess_lifecycle_hook + \ alicloud_ess_notification \ alicloud_ess_scaling_configuration \ alicloud_ess_scaling_group \ alicloud_ess_scaling_rule @@ -1488,6 +1565,7 @@ syn keyword terraResourceTypeBI \ alicloud_slb_backend_server \ alicloud_slb_ca_certificate \ alicloud_slb_listener + \ alicloud_slb_master_slave_server_group \ alicloud_slb_rule \ alicloud_slb_server_certificate \ alicloud_slb_server_group @@ -1578,6 +1656,32 @@ syn keyword terraResourceTypeBI \ avi_wafpolicypsmgroup \ avi_wafprofile \ avi_webhook + \ aviatrix_account + \ aviatrix_account_user + \ aviatrix_arm_peer + \ aviatrix_aws_peer + \ aviatrix_aws_tgw + \ aviatrix_aws_tgw_vpc_attachment + \ aviatrix_aws_tgw_vpn_conn + \ aviatrix_controller_config + \ aviatrix_firewall + \ aviatrix_firewall_tag + \ aviatrix_fqdn + \ aviatrix_gateway + \ aviatrix_saml_endpoint + \ aviatrix_site2cloud + \ aviatrix_spoke_gateway + \ aviatrix_spoke_vpc + \ aviatrix_trans_peer + \ aviatrix_transit_gateway + \ aviatrix_transit_gateway_peering + \ aviatrix_transit_vpc + \ aviatrix_tunnel + \ aviatrix_vgw_conn + \ aviatrix_vpc + \ aviatrix_vpn_profile + \ aviatrix_vpn_user + \ aviatrix_vpn_user_accelerator \ aws_acm_certificate \ aws_acm_certificate_validation \ aws_acmpca_certificate_authority @@ -1690,6 +1794,8 @@ syn keyword terraResourceTypeBI \ aws_config_configuration_recorder \ aws_config_configuration_recorder_status \ aws_config_delivery_channel + \ aws_config_organization_custom_rule + \ aws_config_organization_managed_rule \ aws_cur_report_definition \ aws_customer_gateway \ aws_datapipeline_pipeline @@ -1744,6 +1850,7 @@ syn keyword terraResourceTypeBI \ aws_dx_lag \ aws_dx_private_virtual_interface \ aws_dx_public_virtual_interface + \ aws_dx_transit_virtual_interface \ aws_dynamodb_global_table \ aws_dynamodb_table \ aws_dynamodb_table_item @@ -1795,6 +1902,8 @@ syn keyword terraResourceTypeBI \ aws_emr_security_configuration \ aws_flow_log \ aws_fms_admin_account + \ aws_fsx_lustre_file_system + \ aws_fsx_windows_file_system \ aws_gamelift_alias \ aws_gamelift_build \ aws_gamelift_fleet @@ -1948,6 +2057,7 @@ syn keyword terraResourceTypeBI \ aws_ram_principal_association \ aws_ram_resource_association \ aws_ram_resource_share + \ aws_ram_resource_share_accepter \ aws_rds_cluster \ aws_rds_cluster_endpoint \ aws_rds_cluster_instance @@ -1958,6 +2068,8 @@ syn keyword terraResourceTypeBI \ aws_redshift_parameter_group \ aws_redshift_security_group \ aws_redshift_snapshot_copy_grant + \ aws_redshift_snapshot_schedule + \ aws_redshift_snapshot_schedule_association \ aws_redshift_subnet_group \ aws_resourcegroups_group \ aws_route @@ -2143,9 +2255,11 @@ syn keyword terraResourceTypeBI \ azurerm_api_management_user \ azurerm_app_service \ azurerm_app_service_active_slot + \ azurerm_app_service_certificate \ azurerm_app_service_custom_hostname_binding \ azurerm_app_service_plan \ azurerm_app_service_slot + \ azurerm_app_service_source_control_token \ azurerm_application_gateway \ azurerm_application_insights \ azurerm_application_insights_api_key @@ -2171,17 +2285,21 @@ syn keyword terraResourceTypeBI \ azurerm_batch_application \ azurerm_batch_certificate \ azurerm_batch_pool + \ azurerm_bot_channels_registration + \ azurerm_bot_connection \ azurerm_cdn_endpoint \ azurerm_cdn_profile \ azurerm_cognitive_account \ azurerm_connection_monitor \ azurerm_container_group \ azurerm_container_registry + \ azurerm_container_registry_webhook \ azurerm_container_service \ azurerm_cosmosdb_account \ azurerm_cosmosdb_cassandra_keyspace \ azurerm_cosmosdb_mongo_collection \ azurerm_cosmosdb_mongo_database + \ azurerm_cosmosdb_sql_container \ azurerm_cosmosdb_sql_database \ azurerm_cosmosdb_table \ azurerm_data_factory @@ -2232,6 +2350,7 @@ syn keyword terraResourceTypeBI \ azurerm_firewall_application_rule_collection \ azurerm_firewall_nat_rule_collection \ azurerm_firewall_network_rule_collection + \ azurerm_frontdoor \ azurerm_function_app \ azurerm_hdinsight_hadoop_cluster \ azurerm_hdinsight_hbase_cluster @@ -2253,6 +2372,8 @@ syn keyword terraResourceTypeBI \ azurerm_key_vault_key \ azurerm_key_vault_secret \ azurerm_kubernetes_cluster + \ azurerm_kusto_cluster + \ azurerm_kusto_database \ azurerm_lb \ azurerm_lb_backend_address_pool \ azurerm_lb_nat_pool @@ -2275,9 +2396,12 @@ syn keyword terraResourceTypeBI \ azurerm_management_group \ azurerm_management_lock \ azurerm_maps_account + \ azurerm_mariadb_configuration \ azurerm_mariadb_database \ azurerm_mariadb_firewall_rule \ azurerm_mariadb_server + \ azurerm_mariadb_virtual_network_rule + \ azurerm_marketplace_agreement \ azurerm_media_services_account \ azurerm_metric_alertrule \ azurerm_monitor_action_group @@ -2318,11 +2442,20 @@ syn keyword terraResourceTypeBI \ azurerm_postgresql_server \ azurerm_postgresql_virtual_network_rule \ azurerm_private_dns_a_record + \ azurerm_private_dns_cname_record \ azurerm_private_dns_zone + \ azurerm_private_dns_zone_virtual_network_link + \ azurerm_proximity_placement_group \ azurerm_public_ip \ azurerm_public_ip_prefix + \ azurerm_recovery_network_mapping + \ azurerm_recovery_replicated_vm + \ azurerm_recovery_services_fabric \ azurerm_recovery_services_protected_vm + \ azurerm_recovery_services_protection_container + \ azurerm_recovery_services_protection_container_mapping \ azurerm_recovery_services_protection_policy_vm + \ azurerm_recovery_services_replication_policy \ azurerm_recovery_services_vault \ azurerm_redis_cache \ azurerm_redis_firewall_rule @@ -2355,6 +2488,7 @@ syn keyword terraResourceTypeBI \ azurerm_sql_active_directory_administrator \ azurerm_sql_database \ azurerm_sql_elasticpool + \ azurerm_sql_failover_group \ azurerm_sql_firewall_rule \ azurerm_sql_server \ azurerm_sql_virtual_network_rule @@ -2372,6 +2506,7 @@ syn keyword terraResourceTypeBI \ azurerm_stream_analytics_output_eventhub \ azurerm_stream_analytics_output_mssql \ azurerm_stream_analytics_output_servicebus_queue + \ azurerm_stream_analytics_output_servicebus_topic \ azurerm_stream_analytics_stream_input_blob \ azurerm_stream_analytics_stream_input_eventhub \ azurerm_stream_analytics_stream_input_iothub @@ -2390,6 +2525,8 @@ syn keyword terraResourceTypeBI \ azurerm_virtual_network_gateway \ azurerm_virtual_network_gateway_connection \ azurerm_virtual_network_peering + \ azurerm_virtual_wan + \ azurerm_web_application_firewall_policy \ azurestack_availability_set \ azurestack_dns_a_record \ azurestack_dns_zone @@ -2419,6 +2556,7 @@ syn keyword terraResourceTypeBI \ azurestack_virtual_network \ azurestack_virtual_network_gateway \ azurestack_virtual_network_gateway_connection + \ bigip_as3 \ bigip_cm_device \ bigip_cm_devicegroup \ bigip_ltm_datagroup @@ -2432,12 +2570,14 @@ syn keyword terraResourceTypeBI \ bigip_ltm_policy \ bigip_ltm_pool \ bigip_ltm_pool_attachment + \ bigip_ltm_profile_client_ssl \ bigip_ltm_profile_fasthttp \ bigip_ltm_profile_fastl4 \ bigip_ltm_profile_http \ bigip_ltm_profile_http2 \ bigip_ltm_profile_httpcompress \ bigip_ltm_profile_oneconnect + \ bigip_ltm_profile_server_ssl \ bigip_ltm_profile_tcp \ bigip_ltm_snat \ bigip_ltm_snatpool @@ -2498,6 +2638,7 @@ syn keyword terraResourceTypeBI \ cloudflare_account_member \ cloudflare_argo \ cloudflare_custom_pages + \ cloudflare_custom_ssl \ cloudflare_filter \ cloudflare_firewall_rule \ cloudflare_load_balancer @@ -2564,6 +2705,7 @@ syn keyword terraResourceTypeBI \ consul_prepared_query \ consul_service \ datadog_dashboard + \ datadog_dashboard_list \ datadog_downtime \ datadog_integration_aws \ datadog_integration_gcp @@ -2572,6 +2714,7 @@ syn keyword terraResourceTypeBI \ datadog_metric_metadata \ datadog_monitor \ datadog_screenboard + \ datadog_service_level_objective \ datadog_synthetics_test \ datadog_timeboard \ datadog_user @@ -2613,6 +2756,21 @@ syn keyword terraResourceTypeBI \ docker_service \ docker_volume \ dyn_record + \ exoscale_affinity + \ exoscale_compute + \ exoscale_domain + \ exoscale_domain_record + \ exoscale_ipaddress + \ exoscale_network + \ exoscale_nic + \ exoscale_secondary_ipaddress + \ exoscale_security_group + \ exoscale_security_group_rule + \ exoscale_security_group_rules + \ exoscale_ssh_keypair + \ fastly_service_acl_entries_v1 + \ fastly_service_dictionary_items_v1 + \ fastly_service_dynamic_snippet_content_v1 \ fastly_service_v1 \ flexibleengine_antiddos_v1 \ flexibleengine_as_configuration_v1 @@ -2757,9 +2915,13 @@ syn keyword terraResourceTypeBI \ google_access_context_manager_access_policy \ google_access_context_manager_service_perimeter \ google_app_engine_application + \ google_app_engine_domain_mapping \ google_app_engine_firewall_rule + \ google_app_engine_standard_app_version + \ google_bigquery_data_transfer_config \ google_bigquery_dataset \ google_bigquery_table + \ google_bigtable_app_profile \ google_bigtable_instance \ google_bigtable_instance_iam_binding \ google_bigtable_instance_iam_member @@ -2775,6 +2937,9 @@ syn keyword terraResourceTypeBI \ google_cloud_scheduler_job \ google_cloudbuild_trigger \ google_cloudfunctions_function + \ google_cloudfunctions_function_iam_binding + \ google_cloudfunctions_function_iam_member + \ google_cloudfunctions_function_iam_policy \ google_cloudiot_registry \ google_composer_environment \ google_compute_address @@ -2847,6 +3012,7 @@ syn keyword terraResourceTypeBI \ google_container_cluster \ google_container_node_pool \ google_dataflow_job + \ google_dataproc_autoscaling_policy \ google_dataproc_cluster \ google_dataproc_cluster_iam_binding \ google_dataproc_cluster_iam_member @@ -2885,6 +3051,18 @@ syn keyword terraResourceTypeBI \ google_iap_tunnel_instance_iam_binding \ google_iap_tunnel_instance_iam_member \ google_iap_tunnel_instance_iam_policy + \ google_iap_web_backend_service_iam_binding + \ google_iap_web_backend_service_iam_member + \ google_iap_web_backend_service_iam_policy + \ google_iap_web_iam_binding + \ google_iap_web_iam_member + \ google_iap_web_iam_policy + \ google_iap_web_type_app_engine_iam_binding + \ google_iap_web_type_app_engine_iam_member + \ google_iap_web_type_app_engine_iam_policy + \ google_iap_web_type_compute_iam_binding + \ google_iap_web_type_compute_iam_member + \ google_iap_web_type_compute_iam_policy \ google_kms_crypto_key \ google_kms_crypto_key_iam_binding \ google_kms_crypto_key_iam_member @@ -2901,6 +3079,7 @@ syn keyword terraResourceTypeBI \ google_logging_organization_sink \ google_logging_project_exclusion \ google_logging_project_sink + \ google_ml_engine_model \ google_monitoring_alert_policy \ google_monitoring_group \ google_monitoring_notification_channel @@ -2932,6 +3111,7 @@ syn keyword terraResourceTypeBI \ google_resource_manager_lien \ google_runtimeconfig_config \ google_runtimeconfig_variable + \ google_scc_source \ google_security_scanner_scan_config \ google_service_account \ google_service_account_iam_binding @@ -2968,6 +3148,7 @@ syn keyword terraResourceTypeBI \ google_storage_object_acl \ google_storage_transfer_job \ google_tpu_node + \ google_vpc_access_connector \ grafana_alert_notification \ grafana_dashboard \ grafana_data_source @@ -2975,6 +3156,7 @@ syn keyword terraResourceTypeBI \ grafana_organization \ gridscale_ipv4 \ gridscale_ipv6 + \ gridscale_loadbalancer \ gridscale_network \ gridscale_server \ gridscale_sshkey @@ -3031,6 +3213,7 @@ syn keyword terraResourceTypeBI \ huaweicloud_compute_floatingip_associate_v2 \ huaweicloud_compute_floatingip_v2 \ huaweicloud_compute_instance_v2 + \ huaweicloud_compute_interface_attach_v2 \ huaweicloud_compute_keypair_v2 \ huaweicloud_compute_secgroup_v2 \ huaweicloud_compute_servergroup_v2 @@ -3048,9 +3231,11 @@ syn keyword terraResourceTypeBI \ huaweicloud_dms_group_v1 \ huaweicloud_dms_instance_v1 \ huaweicloud_dms_queue_v1 + \ huaweicloud_dns_ptrrecord_v2 \ huaweicloud_dns_recordset_v2 \ huaweicloud_dns_zone_v2 \ huaweicloud_dws_cluster + \ huaweicloud_ecs_instance_v1 \ huaweicloud_elb_backendecs \ huaweicloud_elb_healthcheck \ huaweicloud_elb_listener @@ -3102,6 +3287,7 @@ syn keyword terraResourceTypeBI \ huaweicloud_smn_topic_v2 \ huaweicloud_vbs_backup_policy_v2 \ huaweicloud_vbs_backup_v2 + \ huaweicloud_vpc_bandwidth_v2 \ huaweicloud_vpc_eip_v1 \ huaweicloud_vpc_peering_connection_accepter_v2 \ huaweicloud_vpc_peering_connection_v2 @@ -3147,6 +3333,7 @@ syn keyword terraResourceTypeBI \ jdcloud_route_table_rules \ jdcloud_subnet \ jdcloud_vpc + \ kubernetes_api_service \ kubernetes_cluster_role \ kubernetes_cluster_role_binding \ kubernetes_config_map @@ -3197,6 +3384,15 @@ syn keyword terraResourceTypeBI \ logicmonitor_device \ logicmonitor_device_group \ mailgun_domain + \ mongodbatlas_cloud_provider_snapshot + \ mongodbatlas_cloud_provider_snapshot_restore_job + \ mongodbatlas_cluster + \ mongodbatlas_database_user + \ mongodbatlas_encryption_at_rest + \ mongodbatlas_network_container + \ mongodbatlas_network_peering + \ mongodbatlas_project + \ mongodbatlas_project_ip_whitelist \ mysql_database \ mysql_grant \ mysql_role @@ -3317,10 +3513,12 @@ syn keyword terraResourceTypeBI \ oci_core_app_catalog_subscription \ oci_core_boot_volume \ oci_core_boot_volume_backup + \ oci_core_cluster_network \ oci_core_console_history \ oci_core_cpe \ oci_core_cross_connect \ oci_core_cross_connect_group + \ oci_core_dedicated_vm_host \ oci_core_default_dhcp_options \ oci_core_default_route_table \ oci_core_default_security_list @@ -3415,6 +3613,7 @@ syn keyword terraResourceTypeBI \ oci_kms_key_version \ oci_kms_vault \ oci_limits_quota + \ oci_limits_resource_availability \ oci_load_balancer \ oci_load_balancer_backend \ oci_load_balancer_backend_set @@ -3434,7 +3633,11 @@ syn keyword terraResourceTypeBI \ oci_ons_notification_topic \ oci_ons_subscription \ oci_streaming_stream + \ oci_streaming_stream_archiver + \ oci_waas_address_list \ oci_waas_certificate + \ oci_waas_custom_protection_rule + \ oci_waas_purge_cache \ oci_waas_waas_policy \ oneandone_baremetal \ oneandone_block_storage @@ -3483,6 +3686,8 @@ syn keyword terraResourceTypeBI \ opc_lbaas_server_pool \ opc_storage_container \ opc_storage_object + \ openstack_blockstorage_quotaset_v2 + \ openstack_blockstorage_quotaset_v3 \ openstack_blockstorage_volume_attach_v2 \ openstack_blockstorage_volume_attach_v3 \ openstack_blockstorage_volume_v1 @@ -3510,9 +3715,11 @@ syn keyword terraResourceTypeBI \ openstack_fw_policy_v1 \ openstack_fw_rule_v1 \ openstack_identity_application_credential_v3 + \ openstack_identity_endpoint_v3 \ openstack_identity_project_v3 \ openstack_identity_role_assignment_v3 \ openstack_identity_role_v3 + \ openstack_identity_service_v3 \ openstack_identity_user_v3 \ openstack_images_image_v2 \ openstack_keymanager_container_v1 @@ -3538,6 +3745,7 @@ syn keyword terraResourceTypeBI \ openstack_networking_qos_dscp_marking_rule_v2 \ openstack_networking_qos_minimum_bandwidth_rule_v2 \ openstack_networking_qos_policy_v2 + \ openstack_networking_rbac_policy_v2 \ openstack_networking_router_interface_v2 \ openstack_networking_router_route_v2 \ openstack_networking_router_v2 @@ -3586,6 +3794,7 @@ syn keyword terraResourceTypeBI \ opentelekomcloud_dms_queue_v1 \ opentelekomcloud_dns_recordset_v2 \ opentelekomcloud_dns_zone_v2 + \ opentelekomcloud_ecs_instance_v1 \ opentelekomcloud_elb_backend \ opentelekomcloud_elb_health \ opentelekomcloud_elb_listener @@ -3656,8 +3865,16 @@ syn keyword terraResourceTypeBI \ opentelekomcloud_waf_preciseprotection_rule_v1 \ opentelekomcloud_waf_webtamperprotection_rule_v1 \ opentelekomcloud_waf_whiteblackip_rule_v1 + \ opsgenie_api_integration + \ opsgenie_email_integration + \ opsgenie_escalation + \ opsgenie_heartbeat + \ opsgenie_maintenance + \ opsgenie_schedule + \ opsgenie_schedule_rotation \ opsgenie_team \ opsgenie_user + \ opsgenie_user_contact \ oraclepaas_application_container \ oraclepaas_database_access_rule \ oraclepaas_database_service_instance @@ -3698,6 +3915,7 @@ syn keyword terraResourceTypeBI \ packet_volume_attachment \ pagerduty_addon \ pagerduty_escalation_policy + \ pagerduty_event_rule \ pagerduty_extension \ pagerduty_maintenance_window \ pagerduty_schedule @@ -3711,6 +3929,9 @@ syn keyword terraResourceTypeBI \ panos_address_object \ panos_administrative_tag \ panos_aggregate_interface + \ panos_application_group + \ panos_application_object + \ panos_application_signature \ panos_bfd_profile \ panos_bgp \ panos_bgp_aggregate @@ -3728,9 +3949,11 @@ syn keyword terraResourceTypeBI \ panos_bgp_redist_rule \ panos_dag_tags \ panos_edl + \ panos_email_server_profile \ panos_ethernet_interface \ panos_general_settings \ panos_gre_tunnel + \ panos_http_server_profile \ panos_ike_crypto_profile \ panos_ike_gateway \ panos_ipsec_crypto_profile @@ -3740,6 +3963,7 @@ syn keyword terraResourceTypeBI \ panos_layer3_subinterface \ panos_license_api_key \ panos_licensing + \ panos_log_forwarding_profile \ panos_loopback_interface \ panos_management_profile \ panos_monitor_profile @@ -3750,6 +3974,9 @@ syn keyword terraResourceTypeBI \ panos_panorama_address_object \ panos_panorama_administrative_tag \ panos_panorama_aggregate_interface + \ panos_panorama_application_group + \ panos_panorama_application_object + \ panos_panorama_application_signature \ panos_panorama_bfd_profile \ panos_panorama_bgp \ panos_panorama_bgp_aggregate @@ -3768,11 +3995,13 @@ syn keyword terraResourceTypeBI \ panos_panorama_device_group \ panos_panorama_device_group_entry \ panos_panorama_edl + \ panos_panorama_email_server_profile \ panos_panorama_ethernet_interface \ panos_panorama_gcp_account \ panos_panorama_gke_cluster \ panos_panorama_gke_cluster_group \ panos_panorama_gre_tunnel + \ panos_panorama_http_server_profile \ panos_panorama_ike_crypto_profile \ panos_panorama_ike_gateway \ panos_panorama_ipsec_crypto_profile @@ -3780,6 +4009,7 @@ syn keyword terraResourceTypeBI \ panos_panorama_ipsec_tunnel_proxy_id_ipv4 \ panos_panorama_layer2_subinterface \ panos_panorama_layer3_subinterface + \ panos_panorama_log_forwarding_profile \ panos_panorama_loopback_interface \ panos_panorama_management_profile \ panos_panorama_monitor_profile @@ -3794,7 +4024,9 @@ syn keyword terraResourceTypeBI \ panos_panorama_security_rule_group \ panos_panorama_service_group \ panos_panorama_service_object + \ panos_panorama_snmptrap_server_profile \ panos_panorama_static_route_ipv4 + \ panos_panorama_syslog_server_profile \ panos_panorama_template \ panos_panorama_template_entry \ panos_panorama_template_stack @@ -3816,7 +4048,9 @@ syn keyword terraResourceTypeBI \ panos_security_rule_group \ panos_service_group \ panos_service_object + \ panos_snmptrap_server_profile \ panos_static_route_ipv4 + \ panos_syslog_server_profile \ panos_telemetry \ panos_tunnel_interface \ panos_virtual_router @@ -3855,6 +4089,7 @@ syn keyword terraResourceTypeBI \ rabbitmq_queue \ rabbitmq_user \ rabbitmq_vhost + \ rancher2_app \ rancher2_auth_config_activedirectory \ rancher2_auth_config_adfs \ rancher2_auth_config_azuread @@ -3864,6 +4099,7 @@ syn keyword terraResourceTypeBI \ rancher2_auth_config_ping \ rancher2_bootstrap \ rancher2_catalog + \ rancher2_certificate \ rancher2_cloud_credential \ rancher2_cluster \ rancher2_cluster_driver @@ -3871,6 +4107,7 @@ syn keyword terraResourceTypeBI \ rancher2_cluster_role_template_binding \ rancher2_etcd_backup \ rancher2_global_role_binding + \ rancher2_multi_cluster_app \ rancher2_namespace \ rancher2_node_driver \ rancher2_node_pool @@ -3879,6 +4116,8 @@ syn keyword terraResourceTypeBI \ rancher2_project_logging \ rancher2_project_role_template_binding \ rancher2_registry + \ rancher2_role_template + \ rancher2_secret \ rancher2_setting \ rancher2_user \ rancher_certificate @@ -3922,19 +4161,21 @@ syn keyword terraResourceTypeBI \ runscope_schedule \ runscope_step \ runscope_test + \ scaleway_account_ssh_key + \ scaleway_baremetal_server_beta \ scaleway_bucket - \ scaleway_compute_instance_ip - \ scaleway_compute_instance_placement_group - \ scaleway_compute_instance_security_group - \ scaleway_compute_instance_server - \ scaleway_compute_instance_volume + \ scaleway_instance_ip + \ scaleway_instance_placement_group + \ scaleway_instance_security_group + \ scaleway_instance_server + \ scaleway_instance_volume \ scaleway_ip \ scaleway_ip_reverse_dns + \ scaleway_object_bucket \ scaleway_security_group \ scaleway_security_group_rule \ scaleway_server \ scaleway_ssh_key - \ scaleway_storage_object_bucket \ scaleway_token \ scaleway_user_data \ scaleway_volume @@ -3957,8 +4198,9 @@ syn keyword terraResourceTypeBI \ signalfx_event_feed_chart \ signalfx_gcp_integration \ signalfx_heatmap_chart - \ signalfx_integration \ signalfx_list_chart + \ signalfx_opsgenie_integration + \ signalfx_org_token \ signalfx_pagerduty_integration \ signalfx_single_value_chart \ signalfx_slack_integration @@ -4045,6 +4287,11 @@ syn keyword terraResourceTypeBI \ tencentcloud_ccn \ tencentcloud_ccn_attachment \ tencentcloud_ccn_bandwidth_limit + \ tencentcloud_clb_attachment + \ tencentcloud_clb_instance + \ tencentcloud_clb_listener + \ tencentcloud_clb_listener_rule + \ tencentcloud_clb_redirection \ tencentcloud_container_cluster \ tencentcloud_container_cluster_instance \ tencentcloud_cos_bucket @@ -4055,8 +4302,19 @@ syn keyword terraResourceTypeBI \ tencentcloud_dnat \ tencentcloud_eip \ tencentcloud_eip_association + \ tencentcloud_gaap_certificate + \ tencentcloud_gaap_http_domain + \ tencentcloud_gaap_http_rule + \ tencentcloud_gaap_layer4_listener + \ tencentcloud_gaap_layer7_listener + \ tencentcloud_gaap_proxy + \ tencentcloud_gaap_realserver + \ tencentcloud_gaap_security_policy + \ tencentcloud_gaap_security_rule \ tencentcloud_instance \ tencentcloud_key_pair + \ tencentcloud_kubernetes_cluster + \ tencentcloud_kubernetes_scale_worker \ tencentcloud_lb \ tencentcloud_mongodb_instance \ tencentcloud_mongodb_sharding_instance @@ -4073,8 +4331,10 @@ syn keyword terraResourceTypeBI \ tencentcloud_route_table_entry \ tencentcloud_security_group \ tencentcloud_security_group_rule + \ tencentcloud_ssl_certificate \ tencentcloud_subnet \ tencentcloud_vpc + \ tfe_notification_configuration \ tfe_oauth_client \ tfe_organization \ tfe_organization_token @@ -4169,6 +4429,8 @@ syn keyword terraResourceTypeBI \ yandex_iam_service_account_iam_member \ yandex_iam_service_account_iam_policy \ yandex_iam_service_account_static_access_key + \ yandex_lb_network_load_balancer + \ yandex_lb_target_group \ yandex_resourcemanager_cloud \ yandex_resourcemanager_cloud_iam_binding \ yandex_resourcemanager_cloud_iam_member diff --git a/syntax/zig.vim b/syntax/zig.vim index 42a7e7e1..29f72353 100644 --- a/syntax/zig.vim +++ b/syntax/zig.vim @@ -37,9 +37,9 @@ syn match zigBuiltinFn "\v\@(embedFile|export|tagName|TagType|errorName)>" syn match zigBuiltinFn "\v\@(errorReturnTrace|fence|fieldParentPtr|field|unionInit)>" syn match zigBuiltinFn "\v\@(frameAddress|import|inlineCall|newStackCall|asyncCall|intToPtr|IntType)>" syn match zigBuiltinFn "\v\@(maxValue|memberCount|memberName|memberType)>" -syn match zigBuiltinFn "\v\@(memcpy|memset|minValue|mod|mulWithOverflow)>" +syn match zigBuiltinFn "\v\@(memcpy|memset|minValue|mod|mulWithOverflow|splat)>" syn match zigBuiltinFn "\v\@(noInlineCall|bitOffsetOf|byteOffsetOf|OpaqueType|panic|ptrCast)>" -syn match zigBuiltinFn "\v\@(ptrToInt|rem|returnAddress|setCold|Type)>" +syn match zigBuiltinFn "\v\@(ptrToInt|rem|returnAddress|setCold|Type|shuffle)>" syn match zigBuiltinFn "\v\@(setRuntimeSafety|setEvalBranchQuota|setFloatMode)>" syn match zigBuiltinFn "\v\@(setGlobalLinkage|setGlobalSection|shlExact|This|hasDecl|hasField)>" syn match zigBuiltinFn "\v\@(shlWithOverflow|shrExact|sizeOf|sqrt|byteSwap|subWithOverflow|intCast|floatCast|intToFloat|floatToInt|boolToInt|errSetCast)>" |