summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-09-04 15:44:43 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2019-09-04 15:44:43 +0200
commit664aa988f6d9cdb7b75218666fbe348c85ef8b29 (patch)
tree306173199576430e6133a1ed137bd80bbc2fb01b
parent3ddca5da461ebfaa82104f82e3cbf19d1c326ade (diff)
downloadvim-polyglot-664aa988f6d9cdb7b75218666fbe348c85ef8b29.tar.gz
vim-polyglot-664aa988f6d9cdb7b75218666fbe348c85ef8b29.zip
Update
-rw-r--r--after/ftplugin/javascript.vim6
-rw-r--r--after/ftplugin/typescript.vim4
-rw-r--r--after/indent/jsx.vim170
-rw-r--r--after/indent/typescript.vim170
-rw-r--r--after/syntax/javascript.vim66
-rw-r--r--after/syntax/jsx_pretty.vim216
-rw-r--r--after/syntax/typescript.vim241
-rw-r--r--autoload/go/config.vim10
-rw-r--r--autoload/jsx_pretty/indent.vim6
-rw-r--r--autoload/jsx_pretty/syntax.vim218
-rw-r--r--autoload/rust.vim4
-rw-r--r--autoload/rust/debugging.vim6
-rw-r--r--autoload/rust/tags.vim21
-rw-r--r--autoload/rustfmt.vim7
-rw-r--r--autoload/terraform.vim53
-rw-r--r--compiler/credo.vim2
-rw-r--r--compiler/mix.vim9
-rw-r--r--compiler/rustc.vim6
-rw-r--r--ftdetect/polyglot.vim21
-rw-r--r--ftplugin/Dockerfile.vim6
-rw-r--r--ftplugin/docker-compose.vim9
-rw-r--r--ftplugin/mustache.vim3
-rw-r--r--ftplugin/plantuml.vim4
-rw-r--r--ftplugin/rust.vim4
-rw-r--r--ftplugin/rust/tagbar.vim2
-rw-r--r--ftplugin/terraform.vim17
-rw-r--r--indent/handlebars.vim20
-rw-r--r--indent/javascript.vim4
-rw-r--r--indent/pgsql.vim10
-rw-r--r--indent/rust.vim6
-rw-r--r--indent/svelte.vim76
-rw-r--r--syntax/Dockerfile.vim5
-rw-r--r--syntax/docker-compose.vim13
-rw-r--r--syntax/elixir.vim25
-rw-r--r--syntax/go.vim2
-rw-r--r--syntax/markdown.vim4
-rw-r--r--syntax/meson.vim2
-rw-r--r--syntax/mustache.vim49
-rw-r--r--syntax/ocaml.vim3
-rw-r--r--syntax/pgsql.vim557
-rw-r--r--syntax/plantuml.vim290
-rw-r--r--syntax/ruby.vim1
-rw-r--r--syntax/rust.vim7
-rw-r--r--syntax/swift.vim6
-rw-r--r--syntax/terraform.vim664
-rw-r--r--syntax/toml.vim4
-rw-r--r--syntax/vifm.vim58
-rw-r--r--syntax/vue.vim75
-rw-r--r--syntax/zig.vim13
49 files changed, 1663 insertions, 1512 deletions
diff --git a/after/ftplugin/javascript.vim b/after/ftplugin/javascript.vim
index 093f0b7b..4a6346d9 100644
--- a/after/ftplugin/javascript.vim
+++ b/after/ftplugin/javascript.vim
@@ -83,6 +83,10 @@ fu! IsStyledDefinition(lnum)
endfu
if exists('&ofu')
- let b:prevofu=&ofu
+ if &ofu
+ " Do not keep track of previous omnifunc if it was not set in the first
+ " place
+ let b:prevofu=&ofu
+ endif
setl omnifunc=styledcomplete#CompleteSC
endif
diff --git a/after/ftplugin/typescript.vim b/after/ftplugin/typescript.vim
index 29ac50a6..21da03be 100644
--- a/after/ftplugin/typescript.vim
+++ b/after/ftplugin/typescript.vim
@@ -25,3 +25,7 @@ augroup jsx_comment
augroup end
setlocal suffixesadd+=.tsx
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'styled-components') != -1
+ finish
+endif
+
diff --git a/after/indent/jsx.vim b/after/indent/jsx.vim
index 9d8da5d1..3f25a7f1 100644
--- a/after/indent/jsx.vim
+++ b/after/indent/jsx.vim
@@ -2,172 +2,4 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'styled-component
finish
endif
-" Vim syntax file
-" Language: styled-components (js/ts)
-" Maintainer: Karl Fleischmann <fleischmann.karl@gmail.com>
-" URL: https://github.com/styled-components/vim-styled-components
-
-" initialize variable to check, if the indentation expression is run
-" multiple times in a row, which indicates an infinite recursion
-let s:is_recursion = 0
-
-" store current indentexpr for later
-let b:js_ts_indent=&indentexpr
-
-" set indentexpr for this filetype (styled-components)
-setlocal indentexpr=GetStyledIndent()
-
-" add the following keys to trigger reindenting, when in insert mode
-" - *; - Indent and insert on press of ';' key.
-" - *<:> - Indent and insert on press of ':' key.
-set indentkeys+=*;,*<:>,*<Return>
-
-fu! s:GetSyntaxNames(lnum, cnum)
- return map(synstack(a:lnum, a:cnum), 'synIDattr(v:val, "name")')
-endfu
-
-" re-implement SynSOL of vim-jsx
-" TODO: add dependency to the readme and remove duplicate implementation
-fu! s:SynSOL(lnum)
- return s:GetSyntaxNames(a:lnum, 1)
-endfu
-
-" re-implement SynEOL of vim-jsx
-" TODO: add dependency to the readme and remove duplicate implementation
-fu! s:SynEOL(lnum, offset)
- let l:lnum = prevnonblank(a:lnum)
- let l:col = strlen(getline(l:lnum))
-
- return s:GetSyntaxNames(l:lnum, l:col + a:offset)
-endfu
-
-
-"" Return whether the current line is a jsTemplateString
-fu! s:IsStyledDefinition(lnum)
- " iterate through all syntax items in the given line
- for item in s:SynSOL(a:lnum)
- " if syntax-item is a jsTemplateString return 1 - true
- " `==#` is a match case comparison of the item
- if item ==# 'styledDefinition'
- return 1
- endif
- endfor
-
- " fallback to 0 - false
- return 0
-endfu
-
-"" Count occurences of `str` at the beginning of the given `lnum` line
-fu! s:CountOccurencesInSOL(lnum, str)
- let l:occurence = 0
-
- " iterate through all items in the given line
- for item in s:SynSOL(a:lnum)
- " if the syntax-item equals the given str increment the counter
- " `==?` is a case isensitive equal operation
- if item ==? a:str
- let l:occurence += 1
- endif
- endfor
-
- " return the accumulated count of occurences
- return l:occurence
-endfu
-
-"" Count occurences of `str` at the end of the given `lnum` line
-fu! s:CountOccurencesInEOL(lnum, str, offset)
- let l:occurence = 0
-
- " iterate through all items in the given line
- for item in s:SynEOL(a:lnum, a:offset)
- " if the syntax-item equals the given str increment the counter
- " `==?` is a case insensitive equal operation
- if item == a:str
- let l:occurence += 1
- endif
- endfor
-
- " return the accumulated count of occurences
- return l:occurence
-endfu
-
-"" Get the indentation of the current line
-fu! GetStyledIndent()
- if s:IsStyledDefinition(v:lnum)
- let l:baseIndent = 0
-
- " find last non-styled line
- let l:cnum = v:lnum
- while s:IsStyledDefinition(l:cnum)
- let l:cnum -= 1
- endwhile
-
- " get indentation of the last non-styled line as base indentation
- let l:baseIndent = indent(l:cnum)
-
- " incrementally build indentation based on current indentation
- " - one shiftwidth for the styled definition region
- " - one shiftwidth per open nested definition region
- let l:styledIndent = &sw
- let l:styledIndent += min([
- \ s:CountOccurencesInSOL(v:lnum, 'styledNestedRegion'),
- \ s:CountOccurencesInEOL(v:lnum, 'styledNestedRegion', 0)
- \ ]) * &sw
-
- " decrease indentation by one shiftwidth, if the styled definition
- " region ends on the current line
- " - either directly via styled definition region, or
- " - if the very last
- if s:CountOccurencesInEOL(v:lnum, 'styledDefinition', 1) == 0
- let l:styledIndent -= &sw
- endif
-
- " return the base indentation
- " (for nested styles inside classes/objects/etc.) plus the actual
- " indentation inside the styled definition region
- return l:baseIndent + l:styledIndent
- elseif len(b:js_ts_indent)
- let l:result = 0
- let l:offset = 0
-
- " increase indentation by one shiftwidth, if the last line ended on a
- " styledXmlRegion and this line does not continue with it
- " this is a fix for an incorrectly indented xml prop after a
- " glamor-styled styledXmlRegion
- if s:CountOccurencesInEOL(v:lnum-1, 'styledXmlRegion', 0) == 1 &&
- \ s:CountOccurencesInSOL(v:lnum, 'styledXmlRegion') == 0
- let l:offset = &sw
- endif
-
- " make sure `GetStyledIndent` and `GetJsxIndent` don't infinitely
- " recurse by incrementing a counter variable, before evaluating the
- " stored indent expression
- if s:is_recursion == 0
- let s:is_recursion = 1
- let l:result = eval(b:js_ts_indent)
- endif
-
- " `is_recursion` being 0 at this point indicates, that
- " `eval(b:js_ts_indent)` did itself evaluate it's stored indentexpr
- " and thus it can be assumed, that the current line should be
- " indented as JS
- if s:is_recursion == 0
- " use one of `GetJavascriptIndent` or `GetJsIndent` if existing
- " fallback to cindent, if not
- if exists('*GetJavascriptIndent')
- let l:result = GetJavascriptIndent()
- elseif exists('*GetJsIndent')
- let l:result = GetJsIndent()
- else
- let l:result = cindent(v:lnum)
- endif
- endif
-
- " reset `is_recursion` counter and return the indentation value
- let s:is_recursion = 0
- return l:result + l:offset
- endif
-
- " if all else fails indent according to C-syntax
- return cindent(v:lnum)
-endfu
+runtime! indent/javascript.vim
diff --git a/after/indent/typescript.vim b/after/indent/typescript.vim
index 996c3d8c..4e281b22 100644
--- a/after/indent/typescript.vim
+++ b/after/indent/typescript.vim
@@ -36,172 +36,4 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'styled-component
finish
endif
-" Vim syntax file
-" Language: styled-components (js/ts)
-" Maintainer: Karl Fleischmann <fleischmann.karl@gmail.com>
-" URL: https://github.com/styled-components/vim-styled-components
-
-" initialize variable to check, if the indentation expression is run
-" multiple times in a row, which indicates an infinite recursion
-let s:is_recursion = 0
-
-" store current indentexpr for later
-let b:js_ts_indent=&indentexpr
-
-" set indentexpr for this filetype (styled-components)
-setlocal indentexpr=GetStyledIndent()
-
-" add the following keys to trigger reindenting, when in insert mode
-" - *; - Indent and insert on press of ';' key.
-" - *<:> - Indent and insert on press of ':' key.
-set indentkeys+=*;,*<:>,*<Return>
-
-fu! s:GetSyntaxNames(lnum, cnum)
- return map(synstack(a:lnum, a:cnum), 'synIDattr(v:val, "name")')
-endfu
-
-" re-implement SynSOL of vim-jsx
-" TODO: add dependency to the readme and remove duplicate implementation
-fu! s:SynSOL(lnum)
- return s:GetSyntaxNames(a:lnum, 1)
-endfu
-
-" re-implement SynEOL of vim-jsx
-" TODO: add dependency to the readme and remove duplicate implementation
-fu! s:SynEOL(lnum, offset)
- let l:lnum = prevnonblank(a:lnum)
- let l:col = strlen(getline(l:lnum))
-
- return s:GetSyntaxNames(l:lnum, l:col + a:offset)
-endfu
-
-
-"" Return whether the current line is a jsTemplateString
-fu! s:IsStyledDefinition(lnum)
- " iterate through all syntax items in the given line
- for item in s:SynSOL(a:lnum)
- " if syntax-item is a jsTemplateString return 1 - true
- " `==#` is a match case comparison of the item
- if item ==# 'styledDefinition'
- return 1
- endif
- endfor
-
- " fallback to 0 - false
- return 0
-endfu
-
-"" Count occurences of `str` at the beginning of the given `lnum` line
-fu! s:CountOccurencesInSOL(lnum, str)
- let l:occurence = 0
-
- " iterate through all items in the given line
- for item in s:SynSOL(a:lnum)
- " if the syntax-item equals the given str increment the counter
- " `==?` is a case isensitive equal operation
- if item ==? a:str
- let l:occurence += 1
- endif
- endfor
-
- " return the accumulated count of occurences
- return l:occurence
-endfu
-
-"" Count occurences of `str` at the end of the given `lnum` line
-fu! s:CountOccurencesInEOL(lnum, str, offset)
- let l:occurence = 0
-
- " iterate through all items in the given line
- for item in s:SynEOL(a:lnum, a:offset)
- " if the syntax-item equals the given str increment the counter
- " `==?` is a case insensitive equal operation
- if item == a:str
- let l:occurence += 1
- endif
- endfor
-
- " return the accumulated count of occurences
- return l:occurence
-endfu
-
-"" Get the indentation of the current line
-fu! GetStyledIndent()
- if s:IsStyledDefinition(v:lnum)
- let l:baseIndent = 0
-
- " find last non-styled line
- let l:cnum = v:lnum
- while s:IsStyledDefinition(l:cnum)
- let l:cnum -= 1
- endwhile
-
- " get indentation of the last non-styled line as base indentation
- let l:baseIndent = indent(l:cnum)
-
- " incrementally build indentation based on current indentation
- " - one shiftwidth for the styled definition region
- " - one shiftwidth per open nested definition region
- let l:styledIndent = &sw
- let l:styledIndent += min([
- \ s:CountOccurencesInSOL(v:lnum, 'styledNestedRegion'),
- \ s:CountOccurencesInEOL(v:lnum, 'styledNestedRegion', 0)
- \ ]) * &sw
-
- " decrease indentation by one shiftwidth, if the styled definition
- " region ends on the current line
- " - either directly via styled definition region, or
- " - if the very last
- if s:CountOccurencesInEOL(v:lnum, 'styledDefinition', 1) == 0
- let l:styledIndent -= &sw
- endif
-
- " return the base indentation
- " (for nested styles inside classes/objects/etc.) plus the actual
- " indentation inside the styled definition region
- return l:baseIndent + l:styledIndent
- elseif len(b:js_ts_indent)
- let l:result = 0
- let l:offset = 0
-
- " increase indentation by one shiftwidth, if the last line ended on a
- " styledXmlRegion and this line does not continue with it
- " this is a fix for an incorrectly indented xml prop after a
- " glamor-styled styledXmlRegion
- if s:CountOccurencesInEOL(v:lnum-1, 'styledXmlRegion', 0) == 1 &&
- \ s:CountOccurencesInSOL(v:lnum, 'styledXmlRegion') == 0
- let l:offset = &sw
- endif
-
- " make sure `GetStyledIndent` and `GetJsxIndent` don't infinitely
- " recurse by incrementing a counter variable, before evaluating the
- " stored indent expression
- if s:is_recursion == 0
- let s:is_recursion = 1
- let l:result = eval(b:js_ts_indent)
- endif
-
- " `is_recursion` being 0 at this point indicates, that
- " `eval(b:js_ts_indent)` did itself evaluate it's stored indentexpr
- " and thus it can be assumed, that the current line should be
- " indented as JS
- if s:is_recursion == 0
- " use one of `GetJavascriptIndent` or `GetJsIndent` if existing
- " fallback to cindent, if not
- if exists('*GetJavascriptIndent')
- let l:result = GetJavascriptIndent()
- elseif exists('*GetJsIndent')
- let l:result = GetJsIndent()
- else
- let l:result = cindent(v:lnum)
- endif
- endif
-
- " reset `is_recursion` counter and return the indentation value
- let s:is_recursion = 0
- return l:result + l:offset
- endif
-
- " if all else fails indent according to C-syntax
- return cindent(v:lnum)
-endfu
+runtime! indent/javascript.vim
diff --git a/after/syntax/javascript.vim b/after/syntax/javascript.vim
index 000ac954..27818b58 100644
--- a/after/syntax/javascript.vim
+++ b/after/syntax/javascript.vim
@@ -54,9 +54,7 @@ else " build-in javascript syntax
syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr,javaScript.*
endif
-" because this is autoloaded, when developing you're going to need to source
-" the autoload/jsx_pretty/*.vim file manually, or restart vim
-call jsx_pretty#syntax#highlight()
+runtime syntax/jsx_pretty.vim
let b:current_syntax = 'javascript.jsx'
@@ -169,55 +167,16 @@ syn match styledPrefix "\<styled\>\.\k\+"
\ transparent fold
\ nextgroup=styledDefinition
\ contains=cssTagName,javascriptTagRef
- \ containedin=jsFuncBlock
+ \ containedin=jsFuncBlock,jsParen,jsObject,jsObjectValue
syn match styledPrefix "\.\<attrs\>\s*(\%(\n\|\s\|.\)\{-})"
\ transparent fold extend
\ nextgroup=styledDefinition
\ contains=jsObject,jsParen
- \ containedin=jsFuncBlock
+ \ containedin=jsFuncBlock,jsParen,jsObject,jsObjectValue
syn match styledPrefix "\.\<extend\>"
\ transparent fold
\ nextgroup=styledDefinition
- \ containedin=jsFuncBlock
-
-" define custom API section, that contains typescript annotations
-" this is structurally similar to `jsFuncCall`, but allows type
-" annotations (delimited by brackets (e.g. "<>")) between `styled` and
-" the function call parenthesis
-syn match styledTypescriptPrefix
- \ "\<styled\><\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>(\%('\k\+'\|\"\k\+\"\|\k\+\))"
- \ transparent fold
- \ nextgroup=styledDefinition
- \ contains=cssTagName,
- \ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
- \ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
- \ styledTagNameString
-syn match styledTypescriptPrefix
- \ "\<styled\>\%((\%('\k\+'\|\"\k\+\"\|\k\+\))\|\.\k\+\)<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
- \ transparent fold
- \ nextgroup=styledDefinition
- \ contains=cssTagName,
- \ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
- \ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
- \ styledTagNameString
-syn match styledTypescriptPrefix "\.\<attrs\>\s*(\%(\n\|\s\|.\)\{-})<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
- \ transparent fold extend
- \ nextgroup=styledDefinition
- \ contains=cssTagName,
- \ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
- \ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
- \ styledTagNameString
-syn match styledTypescriptPrefix "\.\<extend\><\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
- \ transparent fold extend
- \ nextgroup=styledDefinition
- \ contains=cssTagName,
- \ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
- \ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
- \ styledTagNameString
+ \ containedin=jsFuncBlock,jsParen,jsObject,jsObjectValue
" define emotion css prop
" to bypass problems from top-level defined xml/js definitions, this
@@ -244,19 +203,13 @@ syn match cssError contained "{@<>"
" extend javascript matches to trigger styledDefinition highlighting
syn match jsTaggedTemplate extend
- \ "\<css\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
+ \ "\<css\>\|\.\<resolve\>\|\.\<global\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
\ nextgroup=styledDefinition
syn match jsFuncCall "\<styled\>\s*(.\+)" transparent
\ nextgroup=styledDefinition
syn match jsFuncCall "\<styled\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))"
\ contains=styledTagNameString
\ nextgroup=styledDefinition
-syn match jsFuncCall "\<styled\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
- \ contains=typescriptBraces,typescriptOpSymbols,typescriptEndColons,
- \ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
- \ styledTagNameString
- \ nextgroup=styledDefinition
syn match jsFuncCall "\.\<withComponent\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))"
\ contains=styledTagNameString
syn match jsFuncCall "\<dc\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))\%((\)\@="
@@ -279,8 +232,6 @@ syn region styledDefinition contained transparent fold extend
syn region styledDefinitionArgument contained transparent start=+(+ end=+)+
\ contains=styledDefinition
-syn cluster typescriptValue add=styledPrefix,jsFuncCall,styledTypescriptPrefix
-
""" yajs specific extensions
" define template tag keywords, that trigger styledDefinitions again to be
" contained in and also do contain the `javascriptTagRef` region
@@ -295,13 +246,6 @@ syn cluster javascriptExpression
\ add=styledPrefix,jsFuncCall,javascriptTagRefStyledPrefix
syn cluster javascriptAfterIdentifier add=styledPrefix,jsFuncCall
-""" yats specific extensions
-" extend typescriptIdentifierName to allow styledDefinitions in their
-" tagged templates
-syn match typescriptIdentifierName extend
- \ "\<css\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
- \ nextgroup=styledDefinition
-
" color the custom highlight elements
hi def link cssCustomKeyFrameSelector Constant
hi def link cssCustomPositioningPrefix StorageClass
diff --git a/after/syntax/jsx_pretty.vim b/after/syntax/jsx_pretty.vim
new file mode 100644
index 00000000..bc98202a
--- /dev/null
+++ b/after/syntax/jsx_pretty.vim
@@ -0,0 +1,216 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'jsx') != -1
+ finish
+endif
+
+let s:highlight_close_tag = get(g:, 'vim_jsx_pretty_highlight_close_tag', 0)
+
+" <tag id="sample">
+" ~~~~~~~~~~~~~~~~~
+" and self close tag
+" <tag id="sample" />
+" ~~~~~~~~~~~~~~~~~~~
+syntax region jsxTag
+ \ start=+<+
+ \ matchgroup=jsxOpenPunct
+ \ end=+>+
+ \ matchgroup=NONE
+ \ end=+\(/\_s*>\)\@=+
+ \ contained
+ \ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator
+ \ keepend
+ \ extend
+
+" <tag></tag>
+" ~~~~~~~~~~~
+" and fragment
+" <></>
+" ~~~~~
+" and self close tag
+" <tag />
+" ~~~~~~~
+syntax region jsxElement
+ \ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+
+ \ end=+/\_s*>+
+ \ end=+<\_s*/\_s*\z1\_s*>+
+ \ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell
+ \ keepend
+ \ extend
+ \ contained
+ \ fold
+
+" detect jsx region
+syntax region jsxRegion
+ \ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
+ \ end=++
+ \ contains=jsxElement
+
+" <tag key={this.props.key}>
+" ~~~~~~~~~~~~~~~~
+syntax region jsxEscapeJs
+ \ start=+{+
+ \ end=++
+ \ extend
+ \ contained
+ \ contains=jsBlock,javascriptBlock,javaScriptBlockBuildIn,typescriptBlock
+
+" <tag key={this.props.key}>
+" ~~~~
+" and fragment start tag
+" <>
+" ~~
+exe 'syntax region jsxOpenTag
+ \ matchgroup=jsxOpenPunct
+ \ start=+<+
+ \ end=+>+
+ \ matchgroup=NONE
+ \ end=+\>+
+ \ contained
+ \ contains=jsxTagName
+ \ nextgroup=jsxAttrib
+ \ skipwhite
+ \ skipempty ' .(s:highlight_close_tag ? 'transparent' : '')
+
+" <foo.bar>
+" ~
+syntax match jsxDot +\.+ contained display
+
+" <foo:bar>
+" ~
+syntax match jsxNamespace +:+ contained display
+
+" <tag id="sample">
+" ~
+syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite
+
+" <tag />
+" ~~
+syntax match jsxCloseString +/\_s*>+ contained
+
+" </tag>
+" ~~~~~~
+" and fragment close tag
+" </>
+" ~~~
+syntax region jsxCloseTag
+ \ matchgroup=jsxClosePunct
+ \ start=+<\_s*/+
+ \ end=+>+
+ \ contained
+ \ contains=jsxTagName
+
+" <tag key={this.props.key}>
+" ~~~
+syntax match jsxAttrib
+ \ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+
+ \ contained
+ \ nextgroup=jsxEqual
+ \ skipwhite
+ \ skipempty
+ \ contains=jsxAttribKeyword
+ \ display
+
+" <MyComponent ...>
+" ~~~~~~~~~~~
+" NOT
+" <someCamel ...>
+" ~~~~~
+exe 'syntax match jsxComponentName
+ \ +\<[A-Z][\$0-9A-Za-z]\+\>+
+ \ contained
+ \ display ' .(s:highlight_close_tag ? 'transparent' : '')
+
+" <tag key={this.props.key}>
+" ~~~
+exe 'syntax match jsxTagName
+ \ +\<[-:_\.\$0-9A-Za-z]\+\>+
+ \ contained
+ \ contains=jsxComponentName,jsxDot,jsxNamespace
+ \ nextgroup=jsxAttrib
+ \ skipempty
+ \ skipwhite
+ \ display ' .(s:highlight_close_tag ? 'transparent' : '')
+
+" <tag id="sample">
+" ~~~~~~~~
+" and
+" <tag id='sample'>
+" ~~~~~~~~
+syntax region jsxString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ contained contains=@Spell display
+
+let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'raw'])
+let s:enable_tagged_jsx = !empty(s:tags)
+
+" add support to JSX inside the tagged template string
+" https://github.com/developit/htm
+if s:enable_tagged_jsx
+ exe 'syntax region jsxTaggedRegion
+ \ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
+ \ end=+`+me=e-1
+ \ extend
+ \ contained
+ \ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
+ \ contains=jsxElement'
+
+ syntax region jsxEscapeJs
+ \ start=+\${+
+ \ end=++
+ \ extend
+ \ contained
+ \ contains=jsTemplateExpression,javascriptTemplateSubstitution,javaScriptEmbed,typescriptInterpolation
+
+ syntax region jsxOpenTag
+ \ matchgroup=jsxOpenPunct
+ \ start=+<\%(\${\)\@=+
+ \ matchgroup=NONE
+ \ end=++
+ \ contained
+ \ contains=jsxEscapeJs
+ \ nextgroup=jsxAttrib,jsxSpreadOperator
+ \ skipwhite
+ \ skipempty
+
+ syntax keyword jsxAttribKeyword class contained display
+
+ syntax match jsxSpreadOperator +\.\.\.+ contained display nextgroup=jsxEscapeJs skipwhite
+
+ syntax match jsxCloseTag +<//>+ display
+
+ syntax match jsxComment +<!--\_.\{-}-->+ display
+endif
+
+" Highlight the tag name
+highlight def link jsxTag Function
+highlight def link jsxTagName Identifier
+highlight def link jsxComponentName Function
+
+highlight def link jsxAttrib Type
+highlight def link jsxAttribKeyword jsxAttrib
+highlight def link jsxEqual Operator
+highlight def link jsxString String
+highlight def link jsxDot Operator
+highlight def link jsxNamespace Operator
+
+if s:highlight_close_tag
+ highlight def link jsxCloseString Identifier
+ highlight def link jsxOpenPunct jsxTag
+else
+ " Highlight the jsxCloseString (i.e. />), jsxPunct (i.e. <,>) and jsxCloseTag (i.e. <//>)
+ highlight def link jsxCloseString Comment
+ highlight def link jsxOpenPunct jsxPunct
+endif
+
+highlight def link jsxPunct jsxCloseString
+highlight def link jsxClosePunct jsxPunct
+highlight def link jsxCloseTag jsxCloseString
+
+highlight def link jsxComment Comment
+highlight def link jsxSpreadOperator Operator
+
+let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
+
+if s:vim_jsx_pretty_colorful_config == 1
+ highlight def link jsObjectKey Label
+ highlight def link jsArrowFuncArgs Type
+ highlight def link jsFuncArgs Type
+endif
+
diff --git a/after/syntax/typescript.vim b/after/syntax/typescript.vim
index d1b87c92..f39d755f 100644
--- a/after/syntax/typescript.vim
+++ b/after/syntax/typescript.vim
@@ -28,21 +28,21 @@ endif
" refine the typescript line comment
syntax region typescriptLineComment start=+//+ end=/$/ contains=@Spell,typescriptCommentTodo,typescriptRef extend keepend
-" add a typescriptBlock group for typescript
-syntax region typescriptBlock
- \ contained
- \ matchgroup=typescriptBraces
- \ start="{"
- \ end="}"
- \ extend
- \ contains=@typescriptAll,@typescriptExpression,typescriptBlock
- \ fold
+if !hlexists('typescriptTypeCast')
+ " add a typescriptBlock group for typescript
+ syntax region typescriptBlock
+ \ matchgroup=typescriptBraces
+ \ start="{"
+ \ end="}"
+ \ contained
+ \ extend
+ \ contains=@typescriptExpression,typescriptBlock
+ \ fold
+endif
-" because this is autoloaded, when developing you're going to need to source
-" the autoload/jsx_pretty/*.vim file manually, or restart vim
-call jsx_pretty#syntax#highlight()
+syntax cluster typescriptExpression add=jsxRegion,typescriptParens
-syntax cluster typescriptExpression add=jsxRegion
+runtime syntax/jsx_pretty.vim
let b:current_syntax = 'typescript.tsx'
@@ -52,119 +52,7 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'styled-component
finish
endif
-" Vim syntax file
-" Language: styled-components (js/ts)
-" Maintainer: Karl Fleischmann <fleischmann.karl@gmail.com>
-" URL: https://github.com/styled-components/vim-styled-components
-
-if exists("b:current_syntax")
- let s:current_syntax=b:current_syntax
- unlet b:current_syntax
-endif
-
-
-" fix for "-" before cssPositioningProp
-" - needs to be above CSS include to not match cssVendor definitions
-syn region cssCustomPositioningPrefix contained
- \ start='-' end='\%(\s\{-}:\)\@='
- \ contains=cssPositioningProp
-
-" introduce CSS cluster from built-in (or single third party syntax file)
-syn include @CSS syntax/css.vim
-
-" try to include CSS3 definitions from multiple files
-" this is only possible on vim version above 7
-if v:version >= 700
- try
- syn include @CSS3 syntax/css/*.vim
- catch
- endtry
-endif
-
-" TODO: include react-native keywords
-
-" define custom cssAttrRegion
-" - add ",", "`" and "{" to the end characters
-" - add "cssPseudoClassId" to it's containing elements
-" this will incorrectly highlight pseudo elements incorrectly used as
-" attributes but correctly highlight actual attributes
-syn region cssCustomAttrRegion contained
- \ start=":" end="\ze\%(;\|)\|{\|}\|`\)"
- \ contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,
- \ cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,
- \ cssError,cssAttrComma,cssNoise,cssPseudoClassId,
- \ jsTemplateExpression,
- \ typescriptInterpolation,typescriptTemplateSubstitution
-syn region cssCustomAttrRegion contained
- \ start="transition\s*:" end="\ze\%(;\|)\|{\|}\|`\)"
- \ contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,
- \ cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,
- \ cssVendor,cssError,cssAttrComma,cssNoise,cssPseudoClassId,
- \ jsTemplateExpression,
- \ typescriptInterpolation,typescriptTemplateSubstitution
-
-" define custom css elements to not utilize cssDefinition
-syn region cssCustomMediaBlock contained fold transparent matchgroup=cssBraces
- \ start="{" end="}"
- \ contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,
- \ cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,
- \ cssUnicodeEscape,cssVendor,cssTagName,cssClassName,
- \ cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,
- \ cssAttributeSelector
-syn region cssCustomPageWrap contained transparent matchgroup=cssBraces
- \ start="{" end="}"
- \ contains=cssPageMargin,cssPageProp,cssCustomAttrRegion,css.*Prop,
- \ cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,
- \ cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,
- \ cssHacks
-syn match cssCustomPageMargin contained skipwhite skipnl
- \ "@\%(\%(top\|left\|right\|bottom\)-\%(left\|center\|right\|middle\|bottom\)\)\%(-corner\)\="
-syn match cssCustomKeyFrameSelector "\%(\d*%\|\<from\>\|\<to\>\)" contained
- \ skipwhite skipnl
-
-" define css include customly to overwrite nextgroup
-syn region cssInclude start="@media\>" end="\ze{" skipwhite skipnl
- \ contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,
- \ cssMediaMediaAttr,cssVencor,cssMediaType,cssIncludeKeyword,
- \ cssMediaComma,cssComment
- \ nextgroup=cssCustomMediaBlock
-
-" define all non-contained css definitions
-syn cluster CSSTop
- \ contains=cssTagName,cssSelectorOp,cssAttributeSelector,cssClassName,
- \ cssBraces,cssIdentifier,cssIncludeKeyword,cssPage,cssKeyFrame,
- \ cssFontDescriptor,cssAttrComma,cssPseudoClass,cssUnicodeEscape
-
-" custom highlights for styled components
-" - "&" inside top level
-" - cssTagName inside of jsStrings inside of styledPrefix regions
-" TODO: override highlighting of cssTagName with more subtle one
-syn match styledAmpersand contained "&"
-syn region styledTagNameString matchgroup=jsString contained
- \ start=+'+ end=+'+ skip=+\\\%(\'\|$\)+
- \ contains=cssTagName
-syn region styledTagNameString matchgroup=jsString contained
- \ start=+"+ end=+"+ skip=+\\\%(\"\|$\)+
- \ contains=cssTagName
-syn region styledTagNameString matchgroup=jsString contained
- \ start=+`+ end=+`+ skip=+\\\%(\`\|$\)+
- \ contains=cssTagName
-
-" define custom API sections that trigger the styledDefinition highlighting
-syn match styledPrefix "\<styled\>\.\k\+"
- \ transparent fold
- \ nextgroup=styledDefinition
- \ contains=cssTagName,javascriptTagRef
- \ containedin=jsFuncBlock
-syn match styledPrefix "\.\<attrs\>\s*(\%(\n\|\s\|.\)\{-})"
- \ transparent fold extend
- \ nextgroup=styledDefinition
- \ contains=jsObject,jsParen
- \ containedin=jsFuncBlock
-syn match styledPrefix "\.\<extend\>"
- \ transparent fold
- \ nextgroup=styledDefinition
- \ containedin=jsFuncBlock
+runtime! syntax/javascript.vim
" define custom API section, that contains typescript annotations
" this is structurally similar to `jsFuncCall`, but allows type
@@ -172,132 +60,57 @@ syn match styledPrefix "\.\<extend\>"
" the function call parenthesis
syn match styledTypescriptPrefix
\ "\<styled\><\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>(\%('\k\+'\|\"\k\+\"\|\k\+\))"
- \ transparent fold
+ \ transparent fold extend
\ nextgroup=styledDefinition
\ contains=cssTagName,
\ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
\ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
+ \ typescriptType,foldBraces,
\ styledTagNameString
+ \ containedin=foldBraces
syn match styledTypescriptPrefix
\ "\<styled\>\%((\%('\k\+'\|\"\k\+\"\|\k\+\))\|\.\k\+\)<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
- \ transparent fold
+ \ transparent fold extend
\ nextgroup=styledDefinition
\ contains=cssTagName,
\ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
\ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
+ \ typescriptType,foldBraces,
\ styledTagNameString
+ \ containedin=foldBraces
syn match styledTypescriptPrefix "\.\<attrs\>\s*(\%(\n\|\s\|.\)\{-})<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
\ transparent fold extend
\ nextgroup=styledDefinition
\ contains=cssTagName,
\ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
\ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
+ \ typescriptType,foldBraces,
\ styledTagNameString
+ \ containedin=foldBraces
syn match styledTypescriptPrefix "\.\<extend\><\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
\ transparent fold extend
\ nextgroup=styledDefinition
\ contains=cssTagName,
\ typescriptBraces,typescriptOpSymbols,typescriptEndColons,
\ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
+ \ typescriptType,foldBraces,
\ styledTagNameString
+ \ containedin=foldBraces
-" define emotion css prop
-" to bypass problems from top-level defined xml/js definitions, this
-" plugin re-defines keywords/noise for highlighting inside of the custom
-" xmlAttrib definition
-syn keyword styledXmlRegionKeyword css contained
-syn match styledXmlRegionNoise "\%(=\|{\|}\)" contained
-" only include styledDefinitions inside of xmlAttribs, that are wrapped
-" in `css={}` regions, `keepend` is necessary to correctly break on the
-" higher-level xmlAttrib region end
-syn region styledXmlRegion
- \ start="\<css\>={" end="}"
- \ keepend fold
- \ containedin=xmlAttrib
- \ contains=styledXmlRegionKeyword,styledXmlRegionNoise,styledDefinition
-
-" define nested region for indenting
-syn region styledNestedRegion contained transparent
- \ matchgroup=cssBraces
- \ start="{" end="}"
-
-" re-define cssError to be highlighted correctly in styledNestedRegion
-syn match cssError contained "{@<>"
-
-" extend javascript matches to trigger styledDefinition highlighting
-syn match jsTaggedTemplate extend
- \ "\<css\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
- \ nextgroup=styledDefinition
-syn match jsFuncCall "\<styled\>\s*(.\+)" transparent
- \ nextgroup=styledDefinition
-syn match jsFuncCall "\<styled\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))"
- \ contains=styledTagNameString
- \ nextgroup=styledDefinition
syn match jsFuncCall "\<styled\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))<\%(\[\|\]\|{\|}\||\|&\|:\|;\|,\|?\|'\|\"\|\k\|\s\|\n\)\+>"
+ \ transparent fold
\ contains=typescriptBraces,typescriptOpSymbols,typescriptEndColons,
\ typescriptParens,typescriptStringS,@typescriptType,
- \ typescriptType,
+ \ typescriptType,foldBraces,
\ styledTagNameString
\ nextgroup=styledDefinition
-syn match jsFuncCall "\.\<withComponent\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))"
- \ contains=styledTagNameString
-syn match jsFuncCall "\<dc\>\s*(\%('\k\+'\|\"\k\+\"\|`\k\+`\))\%((\)\@="
- \ contains=styledTagNameString
- \ nextgroup=styledDefinitionArgument
-
-" inject css highlighting into custom jsTemplateString region
-" - use `extend` to not end all nested jsTemplateExpression on the first
-" closing one
-syn region styledDefinition contained transparent fold extend
- \ start="`" end="`" skip="\\\%(`\|$\)"
- \ contains=@CSSTop,
- \ css.*Prop,cssValue.*,cssColor,cssUrl,cssImportant,cssError,
- \ cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,
- \ cssHacks,
- \ cssCustom.*,
- \ jsComment,jsTemplateExpression,
- \ typescriptInterpolation,typescriptTemplateSubstitution,
- \ styledAmpersand,styledNestedRegion
-syn region styledDefinitionArgument contained transparent start=+(+ end=+)+
- \ contains=styledDefinition
+ \ containedin=foldBraces
syn cluster typescriptValue add=styledPrefix,jsFuncCall,styledTypescriptPrefix
-""" yajs specific extensions
-" define template tag keywords, that trigger styledDefinitions again to be
-" contained in and also do contain the `javascriptTagRef` region
-syn match javascriptTagRefStyledPrefix transparent fold
- \ "\<css\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
- \ containedin=javascriptTagRef
- \ contains=javascriptTagRef
- \ nextgroup=styledDefinition
-" extend the yajs clusters to include the previously and extraneously defined
-" styled-related matches
-syn cluster javascriptExpression
- \ add=styledPrefix,jsFuncCall,javascriptTagRefStyledPrefix
-syn cluster javascriptAfterIdentifier add=styledPrefix,jsFuncCall
-
""" yats specific extensions
" extend typescriptIdentifierName to allow styledDefinitions in their
" tagged templates
syn match typescriptIdentifierName extend
\ "\<css\>\|\<keyframes\>\|\<injectGlobal\>\|\<fontFace\>\|\<createGlobalStyle\>"
\ nextgroup=styledDefinition
-
-" color the custom highlight elements
-hi def link cssCustomKeyFrameSelector Constant
-hi def link cssCustomPositioningPrefix StorageClass
-hi def link styledAmpersand Special
-
-hi def link styledXmlRegionKeyword Type
-hi def link styledXmlRegionNoise Noise
-hi def link styledXmlRegion String
-
-
-if exists("s:current_syntax")
- let b:current_syntax=s:current_syntax
-endif
diff --git a/autoload/go/config.vim b/autoload/go/config.vim
index 787c4e2a..e3f16179 100644
--- a/autoload/go/config.vim
+++ b/autoload/go/config.vim
@@ -25,10 +25,12 @@ endfunction
function! go#config#SetBuildTags(value) abort
if a:value is ''
silent! unlet g:go_build_tags
+ call go#lsp#ResetWorkspaceDirectories()
return
endif
let g:go_build_tags = a:value
+ call go#lsp#ResetWorkspaceDirectories()
endfunction
function! go#config#TestTimeout() abort
@@ -51,6 +53,14 @@ function! go#config#TermMode() abort
return get(g:, 'go_term_mode', 'vsplit')
endfunction
+function! go#config#TermCloseOnExit() abort
+ return get(g:, 'go_term_close_on_exit', 1)
+endfunction
+
+function! go#config#SetTermCloseOnExit(value) abort
+ let g:go_term_close_on_exit = a:value
+endfunction
+
function! go#config#TermEnabled() abort
return has('nvim') && get(g:, 'go_term_enabled', 0)
endfunction
diff --git a/autoload/jsx_pretty/indent.vim b/autoload/jsx_pretty/indent.vim
index 428c366d..22ede621 100644
--- a/autoload/jsx_pretty/indent.vim
+++ b/autoload/jsx_pretty/indent.vim
@@ -90,6 +90,9 @@ function! jsx_pretty#indent#get(js_indent)
else
return prev_ind + s:sw()
endif
+ elseif !s:syn_xmlish(prev_syn_sol) && !s:syn_js_comment(prev_syn_sol) && s:syn_jsx_attrib(current_syn)
+ " For #79
+ return prev_ind + s:sw()
" {
" <div></div>
" ##} <--
@@ -176,7 +179,8 @@ function! jsx_pretty#indent#get(js_indent)
return prev_ind + s:sw()
endif
endif
- elseif s:syn_jsx_escapejs(current_syn_eol)
+ elseif line =~ '^`' && s:syn_jsx_escapejs(current_syn_eol)
+ " For `} of template syntax
let pair_line = searchpair('{', '', '}', 'bW')
return indent(pair_line)
elseif line =~ '^/[/*]' " js comment in jsx tag
diff --git a/autoload/jsx_pretty/syntax.vim b/autoload/jsx_pretty/syntax.vim
deleted file mode 100644
index eac1f92a..00000000
--- a/autoload/jsx_pretty/syntax.vim
+++ /dev/null
@@ -1,218 +0,0 @@
-if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'jsx') != -1
- finish
-endif
-
-function! jsx_pretty#syntax#highlight()
-
- let s:highlight_close_tag = get(g:, 'vim_jsx_pretty_highlight_close_tag', 0)
-
- " <tag id="sample">
- " ~~~~~~~~~~~~~~~~~
- " and self close tag
- " <tag id="sample" />
- " ~~~~~~~~~~~~~~~~~~~
- syntax region jsxTag
- \ start=+<+
- \ matchgroup=jsxOpenPunct
- \ end=+>+
- \ matchgroup=NONE
- \ end=+\(/\_s*>\)\@=+
- \ contained
- \ contains=jsxOpenTag,jsxEscapeJs,jsxAttrib,jsComment,@javascriptComments,javaScriptLineComment,javaScriptComment,typescriptLineComment,typescriptComment,jsxSpreadOperator
- \ keepend
- \ extend
-
- " <tag></tag>
- " ~~~~~~~~~~~
- " and fragment
- " <></>
- " ~~~~~
- " and self close tag
- " <tag />
- " ~~~~~~~
- syntax region jsxElement
- \ start=+<\_s*\(>\|\${\|\z(\<[-:_\.\$0-9A-Za-z]\+\>\)\)+
- \ end=+/\_s*>+
- \ end=+<\_s*/\_s*\z1\_s*>+
- \ contains=jsxElement,jsxEscapeJs,jsxTag,jsxComment,jsxCloseString,jsxCloseTag,@Spell
- \ keepend
- \ extend
- \ contained
- \ fold
-
- " detect jsx region
- syntax region jsxRegion
- \ start=+\(\(\_[([,?:=+\-*/<>{}]\|&&\|||\|=>\|\<return\|\<default\|\<await\|\<yield\)\_s*\)\@<=<\_s*\(>\|\z(\(script\)\@!\<[_\$A-Za-z][-:_\.\$0-9A-Za-z]*\>\)\(\_s*\([-+*)\]}&|?]\|/\([/*]\|\_s*>\)\@!\)\)\@!\)+
- \ end=++
- \ contains=jsxElement
-
- " <tag key={this.props.key}>
- " ~~~~~~~~~~~~~~~~
- syntax region jsxEscapeJs
- \ start=+{+
- \ end=++
- \ extend
- \ contained
- \ contains=jsBlock,javascriptBlock,javaScriptBlockBuildIn,typescriptBlock
-
- " <tag key={this.props.key}>
- " ~~~~
- " and fragment start tag
- " <>
- " ~~
- exe 'syntax region jsxOpenTag
- \ matchgroup=jsxOpenPunct
- \ start=+<+
- \ end=+>+
- \ matchgroup=NONE
- \ end=+\>+
- \ contained
- \ contains=jsxTagName
- \ nextgroup=jsxAttrib
- \ skipwhite
- \ skipempty ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <foo.bar>
- " ~
- syntax match jsxDot +\.+ contained display
-
- " <foo:bar>
- " ~
- syntax match jsxNamespace +:+ contained display
-
- " <tag id="sample">
- " ~
- syntax match jsxEqual +=+ contained display nextgroup=jsxString,jsxEscapeJs,jsxRegion skipwhite
-
- " <tag />
- " ~~
- syntax match jsxCloseString +/\_s*>+ contained
-
- " </tag>
- " ~~~~~~
- " and fragment close tag
- " </>
- " ~~~
- syntax region jsxCloseTag
- \ matchgroup=jsxClosePunct
- \ start=+<\_s*/+
- \ end=+>+
- \ contained
- \ contains=jsxTagName
-
- " <tag key={this.props.key}>
- " ~~~
- syntax match jsxAttrib
- \ +\<[-A-Za-z_][-:_\$0-9A-Za-z]*\>+
- \ contained
- \ nextgroup=jsxEqual
- \ skipwhite
- \ skipempty
- \ contains=jsxAttribKeyword
- \ display
-
- " <MyComponent ...>
- " ~~~~~~~~~~~
- " NOT
- " <someCamel ...>
- " ~~~~~
- exe 'syntax match jsxComponentName
- \ +\<[A-Z][\$0-9A-Za-z]\+\>+
- \ contained
- \ display ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <tag key={this.props.key}>
- " ~~~
- exe 'syntax match jsxTagName
- \ +\<[-:_\.\$0-9A-Za-z]\+\>+
- \ contained
- \ contains=jsxComponentName,jsxDot,jsxNamespace
- \ nextgroup=jsxAttrib
- \ skipempty
- \ skipwhite
- \ display ' .(s:highlight_close_tag ? 'transparent' : '')
-
- " <tag id="sample">
- " ~~~~~~~~
- " and
- " <tag id='sample'>
- " ~~~~~~~~
- syntax region jsxString start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ contained contains=@Spell display
-
- let s:tags = get(g:, 'vim_jsx_pretty_template_tags', ['html', 'raw'])
- let s:enable_tagged_jsx = !empty(s:tags)
-
- " add support to JSX inside the tagged template string
- " https://github.com/developit/htm
- if s:enable_tagged_jsx
- exe 'syntax region jsxTaggedRegion
- \ start=+\%('. join(s:tags, '\|') .'\)\@<=`+ms=s+1
- \ end=+`+me=e-1
- \ extend
- \ contained
- \ containedin=jsTemplateString,javascriptTemplate,javaScriptStringT,typescriptStringB
- \ contains=jsxElement'
-
- syntax region jsxEscapeJs
- \ start=+\${+
- \ end=++
- \ extend
- \ contained
- \ contains=jsTemplateExpression,javascriptTemplateSubstitution,javaScriptEmbed,typescriptInterpolation
-
- syntax region jsxOpenTag
- \ matchgroup=jsxOpenPunct
- \ start=+<\%(\${\)\@=+
- \ matchgroup=NONE
- \ end=++
- \ contained
- \ contains=jsxEscapeJs
- \ nextgroup=jsxAttrib,jsxSpreadOperator
- \ skipwhite
- \ skipempty
-
- syntax keyword jsxAttribKeyword class contained display
-
- syntax match jsxSpreadOperator +\.\.\.+ contained display nextgroup=jsxEscapeJs skipwhite
-
- syntax match jsxCloseTag +<//>+ display
-
- syntax match jsxComment +<!--\_.\{-}-->+ display
- endif
-
- " Highlight the tag name
- highlight def link jsxTag Function
- highlight def link jsxTagName Identifier
- highlight def link jsxComponentName Function
-
- highlight def link jsxAttrib Type
- highlight def link jsxAttribKeyword jsxAttrib
- highlight def link jsxEqual Operator
- highlight def link jsxString String
- highlight def link jsxDot Operator
- highlight def link jsxNamespace Operator
-
- " Highlight the jsxCloseString (i.e. />), jsxPunct (i.e. <,>) and jsxCloseTag (i.e. <//>)
- highlight def link jsxCloseString Comment
- highlight def link jsxPunct jsxCloseString
- highlight def link jsxOpenPunct jsxPunct
- highlight def link jsxClosePunct jsxPunct
- highlight def link jsxCloseTag jsxCloseString
-
- highlight def link jsxComment Comment
- highlight def link jsxSpreadOperator Operator
-
- if s:highlight_close_tag
- highlight! def link jsxOpenPunct jsxTag
- highlight! def link jsxCloseString Identifier
- endif
-
- let s:vim_jsx_pretty_colorful_config = get(g:, 'vim_jsx_pretty_colorful_config', 0)
-
- if s:vim_jsx_pretty_colorful_config == 1
- highlight def link jsObjectKey Label
- highlight def link jsArrowFuncArgs Type
- highlight def link jsFuncArgs Type
- endif
-
-endfunction
diff --git a/autoload/rust.vim b/autoload/rust.vim
index c513f03f..7aff515b 100644
--- a/autoload/rust.vim
+++ b/autoload/rust.vim
@@ -509,7 +509,7 @@ function! rust#Test(all, options) abort
return rust#Run(1, '--test ' . a:options)
endif
- if exists(':terminal')
+ if has('terminal') || has('nvim')
let cmd = 'terminal '
else
let cmd = '!'
@@ -530,7 +530,7 @@ function! rust#Test(all, options) abort
let func_name = s:SearchTestFunctionNameUnderCursor()
if func_name ==# ''
echohl ErrorMsg
- echo 'No test function was found under the cursor. Please add ! to command if you want to run all tests'
+ echomsg 'No test function was found under the cursor. Please add ! to command if you want to run all tests'
echohl None
return
endif
diff --git a/autoload/rust/debugging.vim b/autoload/rust/debugging.vim
index caeef712..6392a024 100644
--- a/autoload/rust/debugging.vim
+++ b/autoload/rust/debugging.vim
@@ -5,6 +5,7 @@ endif
" For debugging, inspired by https://github.com/w0rp/rust/blob/master/autoload/rust/debugging.vim
let s:global_variable_list = [
+ \ '_rustfmt_autosave_because_of_config',
\ 'ftplugin_rust_source_path',
\ 'loaded_syntastic_rust_cargo_checker',
\ 'loaded_syntastic_rust_filetype',
@@ -32,7 +33,6 @@ let s:global_variable_list = [
\ 'rustc_makeprg_no_percent',
\ 'rustc_path',
\ 'rustfmt_autosave',
- \ 'rustfmt_autosave_because_of_config',
\ 'rustfmt_autosave_if_config_present',
\ 'rustfmt_command',
\ 'rustfmt_emit_files',
@@ -48,7 +48,9 @@ endfunction
function! s:EchoGlobalVariables() abort
for l:key in s:global_variable_list
- call s:Echo('let g:' . l:key . ' = ' . string(get(g:, l:key, v:null)))
+ if l:key !~# '^_'
+ call s:Echo('let g:' . l:key . ' = ' . string(get(g:, l:key, v:null)))
+ endif
if has_key(b:, l:key)
call s:Echo('let b:' . l:key . ' = ' . string(b:[l:key]))
diff --git a/autoload/rust/tags.vim b/autoload/rust/tags.vim
new file mode 100644
index 00000000..74e2f9f0
--- /dev/null
+++ b/autoload/rust/tags.vim
@@ -0,0 +1,21 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'rust') != -1
+ finish
+endif
+
+" Tagbar support code, for the sake of not automatically overriding its
+" configuration in case Universal Ctags is detected.
+
+let s:ctags_is_uctags = 0
+let s:checked_ctags = 0
+
+function! rust#tags#IsUCtags() abort
+ if s:checked_ctags == 0
+ if system('ctags --version') =~? 'universal ctags'
+ let s:ctags_is_uctags = 1
+ endif
+ let s:checked_ctags = 1
+ endif
+ return s:ctags_is_uctags
+endfunction
+
+" vim: set et sw=4 sts=4 ts=8:
diff --git a/autoload/rustfmt.vim b/autoload/rustfmt.vim
index 908eb325..f469ac13 100644
--- a/autoload/rustfmt.vim
+++ b/autoload/rustfmt.vim
@@ -246,7 +246,12 @@ function! rustfmt#PreWrite()
if rust#GetConfigVar('rustfmt_autosave_if_config_present', 0)
if findfile('rustfmt.toml', '.;') !=# '' || findfile('.rustfmt.toml', '.;') !=# ''
let b:rustfmt_autosave = 1
- let b:rustfmt_autosave_because_of_config = 1
+ let b:_rustfmt_autosave_because_of_config = 1
+ endif
+ else
+ if has_key(b:, '_rustfmt_autosave_because_of_config')
+ unlet b:_rustfmt_autosave_because_of_config
+ unlet b:rustfmt_autosave
endif
endif
diff --git a/autoload/terraform.vim b/autoload/terraform.vim
index db1e3934..8554022e 100644
--- a/autoload/terraform.vim
+++ b/autoload/terraform.vim
@@ -2,56 +2,23 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'terraform') != -
finish
endif
-" Adapted from vim-hclfmt:
-" https://github.com/fatih/vim-hclfmt/blob/master/autoload/fmt.vim
function! terraform#fmt()
if !filereadable(expand('%:p'))
return
endif
let l:curw = winsaveview()
- let l:tmpfile = tempname() . '.tf'
- call writefile(getline(1, '$'), l:tmpfile)
- let output = system('terraform fmt -write ' . l:tmpfile)
- if v:shell_error == 0
- try | silent undojoin | catch | endtry
- call rename(l:tmpfile, resolve(expand('%')))
- silent edit!
- let &syntax = &syntax
- else
- echo output
- call delete(l:tmpfile)
+ " Make a fake change so that the undo point is right.
+ normal! ix
+ normal! "_x
+ silent execute '%!terraform fmt -no-color -'
+ if v:shell_error != 0
+ let output = getline(1, '$')
+ silent undo
+ echo join(output, "\n")
endif
call winrestview(l:curw)
endfunction
-function! terraform#folds()
- let thisline = getline(v:lnum)
- if match(thisline, '^resource') >= 0
- return '>1'
- elseif match(thisline, '^provider') >= 0
- return '>1'
- elseif match(thisline, '^module') >= 0
- return '>1'
- elseif match(thisline, '^variable') >= 0
- return '>1'
- elseif match(thisline, '^output') >= 0
- return '>1'
- elseif match(thisline, '^data') >= 0
- return '>1'
- elseif match(thisline, '^terraform') >= 0
- return '>1'
- elseif match(thisline, '^locals') >= 0
- return '>1'
- else
- return '='
- endif
-endfunction
-
-function! terraform#foldText()
- let foldsize = (v:foldend-v:foldstart)
- return getline(v:foldstart).' ('.foldsize.' lines)'
-endfunction
-
function! terraform#align()
let p = '^.*=[^>]*$'
if exists(':Tabularize') && getline('.') =~# '^.*=' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
@@ -77,7 +44,6 @@ function! terraform#commands(A, L, P)
\ 'output',
\ 'plan',
\ 'providers',
- \ 'push',
\ 'refresh',
\ 'show',
\ 'taint',
@@ -85,9 +51,10 @@ function! terraform#commands(A, L, P)
\ 'validate',
\ 'version',
\ 'workspace',
- \ '0.12checklist',
+ \ '0.12upgrade',
\ 'debug',
\ 'force-unlock',
+ \ 'push',
\ 'state'
\ ]
endfunction
diff --git a/compiler/credo.vim b/compiler/credo.vim
index 964050ec..100abb4e 100644
--- a/compiler/credo.vim
+++ b/compiler/credo.vim
@@ -11,5 +11,5 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
-CompilerSet errorformat=%f:%l:\ %t:\ %m
+CompilerSet errorformat=%f:%l:%c:\ %t:\ %m,%f:%l:\ %t:\ %m
CompilerSet makeprg=mix\ credo\ suggest\ --format=flycheck
diff --git a/compiler/mix.vim b/compiler/mix.vim
index fe01361f..17762815 100644
--- a/compiler/mix.vim
+++ b/compiler/mix.vim
@@ -11,5 +11,10 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
-CompilerSet errorformat=%A%t%*[^:]:\ %m,%C%f:%l:\ %m,%C%f:%l,%Z
-CompilerSet makeprg=mix
+CompilerSet makeprg=mix\ compile
+CompilerSet errorformat=
+ \%Wwarning:\ %m,
+ \%C%f:%l,%Z,
+ \%E==\ Compilation\ error\ in\ file\ %f\ ==,
+ \%C**\ (%\\w%\\+)\ %f:%l:\ %m,%Z
+
diff --git a/compiler/rustc.vim b/compiler/rustc.vim
index 8ef71b67..876dab5a 100644
--- a/compiler/rustc.vim
+++ b/compiler/rustc.vim
@@ -25,7 +25,11 @@ endif
if get(g:, 'rustc_makeprg_no_percent', 0)
CompilerSet makeprg=rustc
else
- CompilerSet makeprg=rustc\ \%
+ if has('patch-7.4.191')
+ CompilerSet makeprg=rustc\ \%:S
+ else
+ CompilerSet makeprg=rustc\ \%
+ endif
endif
" New errorformat (after nightly 2016/08/10)
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index 83a372fc..d326ac02 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -332,6 +332,8 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
augroup filetypedetect
" dockerfile, from Dockerfile.vim in ekalinin/Dockerfile.vim
+" vint: -ProhibitAutocmdWithNoGroup
+
" Dockerfile
autocmd BufRead,BufNewFile [Dd]ockerfile set ft=Dockerfile
autocmd BufRead,BufNewFile Dockerfile* set ft=Dockerfile
@@ -344,6 +346,8 @@ endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
augroup filetypedetect
" dockerfile, from docker-compose.vim in ekalinin/Dockerfile.vim
+" vint: -ProhibitAutocmdWithNoGroup
+
" docker-compose.yml
autocmd BufRead,BufNewFile docker-compose*.{yaml,yml}* set ft=yaml.docker-compose
augroup end
@@ -517,8 +521,8 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'handlebars') ==
augroup filetypedetect
" handlebars, from mustache.vim in mustache/vim-mustache-handlebars
if has("autocmd")
- au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
- au BufNewFile,BufRead *.handlebars,*.hbs set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
+ au BufNewFile,BufRead *.mustache,*.hogan,*.hulk,*.hjs set filetype=html.mustache syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim indent/handlebars.vim
+ au BufNewFile,BufRead *.handlebars,*.hdbs,*.hbs,*.hb set filetype=html.handlebars syntax=mustache | runtime! ftplugin/mustache.vim ftplugin/mustache*.vim ftplugin/mustache/*.vim
endif
augroup end
endif
@@ -619,11 +623,8 @@ fun! s:SelectJavascript()
endif
endfun
-augroup javascript_syntax_detection
- autocmd!
- autocmd BufNewFile,BufRead *.{js,mjs,jsm,es,es6},Jakefile setfiletype javascript
- autocmd BufNewFile,BufRead * call s:SelectJavascript()
-augroup END
+autocmd BufNewFile,BufRead *.{js,mjs,jsm,es,es6},Jakefile setfiletype javascript
+autocmd BufNewFile,BufRead * call s:SelectJavascript()
augroup end
endif
@@ -1233,7 +1234,10 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'rust') == -1
" vint: -ProhibitAutocmdWithNoGroup
autocmd BufRead,BufNewFile *.rs call s:set_rust_filetype()
-autocmd BufRead,BufNewFile Cargo.toml setf FALLBACK cfg
+
+if has('patch-8.0.613')
+ autocmd BufRead,BufNewFile Cargo.toml setf FALLBACK cfg
+endif
function! s:set_rust_filetype() abort
if &filetype !=# 'rust'
@@ -1437,6 +1441,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vifm') == -1
" vifm, from vifm.vim in vifm/vifm.vim
autocmd BufRead,BufNewFile vifmrc :set filetype=vifm
autocmd BufRead,BufNewFile *vifm/colors/* :set filetype=vifm
+autocmd BufRead,BufNewFile *.vifm :set filetype=vifm
augroup end
endif
diff --git a/ftplugin/Dockerfile.vim b/ftplugin/Dockerfile.vim
index 909739aa..977be845 100644
--- a/ftplugin/Dockerfile.vim
+++ b/ftplugin/Dockerfile.vim
@@ -2,6 +2,12 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'dockerfile') !=
finish
endif
+" Define comment string
+setlocal commentstring=#\ %s
+
+" Enable automatic comment insertion
+setlocal formatoptions+=cro
+
function! DockerfileReplaceInstruction(original, replacement)
let syn = synIDtrans(synID(line("."), col(".") - 1, 0))
if syn != hlID("Comment") && syn != hlID("Constant") && strlen(getline(".")) == 0
diff --git a/ftplugin/docker-compose.vim b/ftplugin/docker-compose.vim
new file mode 100644
index 00000000..45a103fc
--- /dev/null
+++ b/ftplugin/docker-compose.vim
@@ -0,0 +1,9 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'dockerfile') != -1
+ finish
+endif
+
+" Define comment string
+setlocal commentstring=#\ %s
+
+" Enable automatic comment insertion
+setlocal formatoptions+=cro
diff --git a/ftplugin/mustache.vim b/ftplugin/mustache.vim
index d8a351b7..c0eb6221 100644
--- a/ftplugin/mustache.vim
+++ b/ftplugin/mustache.vim
@@ -25,6 +25,9 @@ if exists("loaded_matchit") && exists("b:match_words")
\ . '\%({{\)\@<=/\s*\1\s*}}'
endif
+" Set template for comment
+setlocal commentstring={{!--\ %s\ --}}
+
if exists("g:mustache_abbreviations")
inoremap <buffer> {{{ {{{}}}<left><left><left>
inoremap <buffer> {{ {{}}<left><left>
diff --git a/ftplugin/plantuml.vim b/ftplugin/plantuml.vim
index 535fd0b9..46d26dac 100644
--- a/ftplugin/plantuml.vim
+++ b/ftplugin/plantuml.vim
@@ -28,7 +28,9 @@ if exists('loaded_matchit')
\ ',\<hnote\>:\<endhnote\>' .
\ ',\<title\>:\<endtitle\>' .
\ ',\<\while\>:\<endwhile\>' .
- \ ',@startuml:@enduml'
+ \ ',@startuml:@enduml' .
+ \ ',@startwbs:@endwbs' .
+ \ ',@startmindmap:@endmindmap'
endif
if get(g:, 'plantuml_set_makeprg', 1)
diff --git a/ftplugin/rust.vim b/ftplugin/rust.vim
index ad325e67..7f29cf38 100644
--- a/ftplugin/rust.vim
+++ b/ftplugin/rust.vim
@@ -39,7 +39,7 @@ if get(g:, 'rust_bang_comment_leader', 0)
" leaders. I'm fairly sure that's a Vim bug.
setlocal comments=s1:/*,mb:*,ex:*/,s0:/*,mb:\ ,ex:*/,:///,://!,://
else
- setlocal comments=s0:/*!,m:\ ,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,://
+ setlocal comments=s0:/*!,ex:*/,s1:/*,mb:*,ex:*/,:///,://!,://
endif
setlocal commentstring=//%s
setlocal formatoptions-=t formatoptions+=croqnl
@@ -195,7 +195,7 @@ augroup END
setlocal matchpairs+=<:>
" For matchit.vim (rustArrow stops `Fn() -> X` messing things up)
-let b:match_skip = 's:comment\|string\|rustArrow'
+let b:match_skip = 's:comment\|string\|rustCharacter\|rustArrow'
" vint: -ProhibitAbbreviationOption
let &cpo = s:save_cpo
diff --git a/ftplugin/rust/tagbar.vim b/ftplugin/rust/tagbar.vim
index 91bd3c31..3de5d8a9 100644
--- a/ftplugin/rust/tagbar.vim
+++ b/ftplugin/rust/tagbar.vim
@@ -5,7 +5,7 @@ endif
"
" Support for Tagbar -- https://github.com/majutsushi/tagbar
"
-if !exists(':Tagbar')
+if !exists(':Tagbar') || rust#tags#IsUCtags()
finish
endif
diff --git a/ftplugin/terraform.vim b/ftplugin/terraform.vim
index e8ed9fb3..9b4cc2bd 100644
--- a/ftplugin/terraform.vim
+++ b/ftplugin/terraform.vim
@@ -26,25 +26,14 @@ if !has('patch-7.4.1142')
endif
if get(g:, 'terraform_fold_sections', 0)
- setlocal foldmethod=expr
- setlocal foldexpr=terraform#folds()
- setlocal foldlevel=1
- setlocal foldtext=terraform#foldText()
- let b:undo_ftplugin .= ' foldmethod< foldexpr< foldlevel< foldtext<'
+ setlocal foldmethod=syntax
+ let b:undo_ftplugin .= ' foldmethod<'
endif
" Set the commentstring
-let &l:commentstring = get(g:, 'terraform_commentstring', '#%s')
+setlocal commentstring=#%s
let b:undo_ftplugin .= ' commentstring<'
-" Re-map the space bar to fold and unfold
-if get(g:, 'terraform_remap_spacebar', 0)
- nnoremap <buffer> <space> za
- onoremap <buffer> <space> <C-C>za
- vnoremap <buffer> <space> zf
- let b:undo_ftplugin .= '|unmap <buffer> <space>'
-endif
-
if get(g:, 'terraform_align', 0) && exists(':Tabularize')
inoremap <buffer> <silent> = =<Esc>:call terraform#align()<CR>a
let b:undo_ftplugin .= '|iunmap <buffer> ='
diff --git a/indent/handlebars.vim b/indent/handlebars.vim
index 3fbace93..2253a7a3 100644
--- a/indent/handlebars.vim
+++ b/indent/handlebars.vim
@@ -23,9 +23,6 @@ endif
unlet! b:did_indent
setlocal indentexpr=
-" keep track of whether or not we are in a block expression for indenting
-unlet! s:in_block_expr
-
runtime! indent/html.vim
unlet! b:did_indent
@@ -87,23 +84,19 @@ function! GetHandlebarsIndent(...)
" tag is on a separate line
" indent after block {{#block
- if prevLine =~# '\v\s*\{\{\#.*\s*'
- let s:in_block_expr = 1
+ if prevLine =~# '\v\s*\{\{[#^].*\s*'
let ind = ind + sw
endif
" but not if the block ends on the same line
if prevLine =~# '\v\s*\{\{\#(.+)(\s+|\}\}).*\{\{\/\1'
- let s:in_block_expr = 0
let ind = ind - sw
endif
" unindent after block close {{/block}}
if currentLine =~# '\v^\s*\{\{\/\S*\}\}\s*'
- let s:in_block_expr = 0
let ind = ind - sw
endif
" indent after component block {{a-component
if prevLine =~# '\v\s*\{\{\w'
- let s:in_block_expr = 0
let ind = ind + sw
endif
" but not if the component block ends on the same line
@@ -111,9 +104,16 @@ function! GetHandlebarsIndent(...)
let ind = ind - sw
endif
" unindent }} lines, and following lines if not inside a block expression
+ let savedPos = getpos('.')
if currentLine =~# '\v^\s*\}\}\s*$' || (currentLine !~# '\v^\s*\{\{\/' && prevLine =~# '\v^\s*[^\{\} \t]+\}\}\s*$')
- if !s:in_block_expr
- let ind = ind - sw
+ let closingLnum = search('}}\s*$', 'Wbc', lnum)
+ let [openingLnum, col] = searchpairpos('{{', '', '}}', 'Wb')
+ if openingLnum > 0 && closingLnum > 0
+ if strpart(getline(openingLnum), col - 1, 3) !~ '{{[#^]'
+ let ind = ind - sw
+ endif
+ else
+ call setpos('.', savedPos)
endif
endif
" unindent {{else}}
diff --git a/indent/javascript.vim b/indent/javascript.vim
index 176a45b9..49154dbb 100644
--- a/indent/javascript.vim
+++ b/indent/javascript.vim
@@ -396,7 +396,9 @@ function GetJavascriptIndent()
if idx != -1
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
elseif getline(v:lnum) !~ '^\S' && s:stack[-1] =~? 'block\|^jsobject$'
- call s:GetPair('{','}','bW','s:SkipFunc()')
+ if !s:GetPair('{','}','bW','s:SkipFunc()') && s:stack[-1] ==# 'jsObject'
+ return indent(l:lnum)
+ endif
else
call s:AlternatePair()
endif
diff --git a/indent/pgsql.vim b/indent/pgsql.vim
index 7db0187c..9c99b0c5 100644
--- a/indent/pgsql.vim
+++ b/indent/pgsql.vim
@@ -24,7 +24,7 @@ setlocal indentkeys-=:
setlocal indentkeys-=0#
setlocal indentkeys-=e
-if has('patch-7.3.694') || (v:version == 703 && has('patch694'))
+if exists('*shiftwidth')
fun! s:shiftwidth()
return shiftwidth()
endf
@@ -41,16 +41,12 @@ endif
" SQL is generally case insensitive, so this files assumes that
" These keywords are something that would trigger an indent LEFT, not
" an indent right, since the SQLBlockStart is used for those keywords
-setlocal indentkeys+==~end,=~else,=~elseif,=~elsif,0=~when,0=)
+setlocal indentkeys+==~begin,=~end,=~else,=~elseif,=~elsif,0=~when,=~exception,0=)
" GetSQLIndent is executed whenever one of the expressions
" in the indentkeys is typed
setlocal indentexpr=GetSQLIndent()
-" Only define the functions once.
-if exists("*GetSQLIndent")
- finish
-endif
let s:keepcpo= &cpo
set cpo&vim
@@ -340,7 +336,7 @@ function! GetSQLIndent()
" Check current line; search for simplistic matching start-of-block
let line = getline(v:lnum)
- if line =~? '^\s*els'
+ if line =~? '^\s*els' || line =~? '^\s*begin' || line =~? '^\s*exception'
" Any line when you type else will automatically back up one
" ident level (ie else, elseif, elsif)
let ind = ind - s:shiftwidth()
diff --git a/indent/rust.vim b/indent/rust.vim
index ee7f6cf6..68178070 100644
--- a/indent/rust.vim
+++ b/indent/rust.vim
@@ -15,8 +15,8 @@ endif
let b:did_indent = 1
setlocal cindent
-setlocal cinoptions=L0,(0,Ws,J1,j1,m1
-setlocal cinkeys=0{,0},!^F,o,O,0[,0]
+setlocal cinoptions=L0,(s,Ws,J1,j1,m1
+setlocal cinkeys=0{,0},!^F,o,O,0[,0],0(,0)
" Don't think cinwords will actually do anything at all... never mind
setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,extern,macro
@@ -24,7 +24,7 @@ setlocal cinwords=for,if,else,while,loop,impl,mod,unsafe,trait,struct,enum,fn,ex
setlocal nolisp " Make sure lisp indenting doesn't supersede us
setlocal autoindent " indentexpr isn't much help otherwise
" Also do indentkeys, otherwise # gets shoved to column 0 :-/
-setlocal indentkeys=0{,0},!^F,o,O,0[,0]
+setlocal indentkeys=0{,0},!^F,o,O,0[,0],0(,0)
setlocal indentexpr=GetRustIndent(v:lnum)
diff --git a/indent/svelte.vim b/indent/svelte.vim
index 0b3c732f..ef0569ed 100644
--- a/indent/svelte.vim
+++ b/indent/svelte.vim
@@ -18,6 +18,14 @@ unlet! b:did_indent
let s:html_indent = &l:indentexpr
let b:did_indent = 1
+if !exists('g:svelte_indent_script')
+ let g:svelte_indent_script = 1
+endif
+
+if !exists('g:svelte_indent_style')
+ let g:svelte_indent_style = 1
+endif
+
setlocal indentexpr=GetSvelteIndent()
setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],!^F,;,=:else,=:then,=:catch,=/if,=/each,=/await
@@ -44,9 +52,21 @@ function! GetSvelteIndent()
let previous_line = getline(previous_line_number)
let previous_line_indent = indent(previous_line_number)
- " The inside of scripts an styles should be indented.
- if previous_line =~ '^<\(script\|style\)'
- return shiftwidth()
+ " The inside of scripts an styles should be indented unless disabled.
+ if previous_line =~ '^\s*<script'
+ if g:svelte_indent_script
+ return previous_line_indent + shiftwidth()
+ else
+ return previous_line_indent
+ endif
+ endif
+
+ if previous_line =~ '^\s*<style'
+ if g:svelte_indent_style
+ return previous_line_indent + shiftwidth()
+ else
+ return previous_line_indent
+ endif
endif
execute "let indent = " . s:html_indent
@@ -57,31 +77,6 @@ function! GetSvelteIndent()
return previous_line_indent
endif
- " "#if" or "#each"
- if previous_line =~ '^\s*{\s*#\(if\|each\|await\)'
- return previous_line_indent + shiftwidth()
- endif
-
- " ":else" or ":then"
- if previous_line =~ '^\s*{\s*:\(else\|catch\|then\)'
- return previous_line_indent + shiftwidth()
- endif
-
- " Custom element juggling for abnormal self-closing tags (<Widget />),
- " capitalized component tags (<Widget></Widget>), and custom svelte tags
- " (<svelte:head></svelte:head>).
- if synID(previous_line_number, match(previous_line, '\S') + 1, 0) == hlID('htmlTag')
- \ && synID(current_line_number, match(current_line, '\S') + 1, 0) != hlID('htmlEndTag')
- let indents_match = indent == previous_line_indent
- let previous_closes = previous_line =~ '/>$'
-
- if indents_match && !previous_closes && previous_line =~ '<\(\u\|\l\+:\l\+\)'
- return previous_line_indent + shiftwidth()
- elseif !indents_match && previous_closes
- return previous_line_indent
- endif
- endif
-
" "/await" or ":catch" or ":then"
if current_line =~ '^\s*{\s*\/await' || current_line =~ '^\s*{\s*:\(catch\|then\)'
let await_start = searchpair('{\s*#await\>', '', '{\s*\/await\>', 'bW')
@@ -124,5 +119,30 @@ function! GetSvelteIndent()
endif
endif
+ " "#if" or "#each"
+ if previous_line =~ '^\s*{\s*#\(if\|each\|await\)'
+ return previous_line_indent + shiftwidth()
+ endif
+
+ " ":else" or ":then"
+ if previous_line =~ '^\s*{\s*:\(else\|catch\|then\)'
+ return previous_line_indent + shiftwidth()
+ endif
+
+ " Custom element juggling for abnormal self-closing tags (<Widget />),
+ " capitalized component tags (<Widget></Widget>), and custom svelte tags
+ " (<svelte:head></svelte:head>).
+ if synID(previous_line_number, match(previous_line, '\S') + 1, 0) == hlID('htmlTag')
+ \ && synID(current_line_number, match(current_line, '\S') + 1, 0) != hlID('htmlEndTag')
+ let indents_match = indent == previous_line_indent
+ let previous_closes = previous_line =~ '/>$'
+
+ if indents_match && !previous_closes && previous_line =~ '<\(\u\|\l\+:\l\+\)'
+ return previous_line_indent + shiftwidth()
+ elseif !indents_match && previous_closes
+ return previous_line_indent
+ endif
+ endif
+
return indent
endfunction
diff --git a/syntax/Dockerfile.vim b/syntax/Dockerfile.vim
index 0ec26bcd..d9e26353 100644
--- a/syntax/Dockerfile.vim
+++ b/syntax/Dockerfile.vim
@@ -61,8 +61,3 @@ hi link dockerfileTodo Todo
hi link bashStatement Function
let b:current_syntax = "dockerfile"
-
-set commentstring=#\ %s
-
-" Enable automatic comment insertion
-setlocal fo+=cro
diff --git a/syntax/docker-compose.vim b/syntax/docker-compose.vim
index abc7ca78..0fadc6f1 100644
--- a/syntax/docker-compose.vim
+++ b/syntax/docker-compose.vim
@@ -6,10 +6,10 @@ endif
" Language: Dockerfile
" Maintainer: Eugene Kalinin
" Latest Revision: 11 September 2013
-" Source: http://docs.docker.io/en/latest/use/builder/
+" Source: https://docs.docker.com/compose/
-if exists("b:current_syntax")
- finish
+if !exists('main_syntax')
+ let main_syntax = 'yaml'
endif
" case sensitivity (fix #17)
@@ -20,7 +20,7 @@ syn keyword dockercomposeKeywords build context dockerfile args cap_add cap_drop
syn keyword dockercomposeKeywords command cgroup_parent container_name devices depends_on
syn keyword dockercomposeKeywords dns dns_search tmpfs entrypoint env_file environment
syn keyword dockercomposeKeywords expose extends extends external_links extra_hosts
-syn keyword dockercomposeKeywords group_add image isolation labels links
+syn keyword dockercomposeKeywords group_add image isolation labels links
syn keyword dockercomposeKeywords log_opt net network_mode networks aliases
syn keyword dockercomposeKeywords ipv4_address ipv6_address link_local_ips pid ports
syn keyword dockercomposeKeywords security_opt stop_signal ulimits volumes volume_driver
@@ -82,8 +82,3 @@ hi link dockercomposeTodo Todo
hi link bashStatement Function
let b:current_syntax = "dockercompose"
-
-set commentstring=#\ %s
-
-" Enable automatic comment insertion
-setlocal fo+=cro
diff --git a/syntax/elixir.vim b/syntax/elixir.vim
index 9ad39e4a..778850cf 100644
--- a/syntax/elixir.vim
+++ b/syntax/elixir.vim
@@ -2,16 +2,16 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'elixir') != -1
finish
endif
-if exists("b:current_syntax")
- finish
+if !exists("main_syntax")
+ if exists("b:current_syntax")
+ finish
+ endif
+ let main_syntax = "elixir"
endif
let s:cpo_save = &cpo
set cpo&vim
-" syncing starts 2000 lines before top line so docstrings don't screw things up
-syn sync minlines=2000
-
syn cluster elixirNotTop contains=@elixirRegexSpecial,@elixirStringContained,@elixirDeclaration,elixirTodo,elixirArguments,elixirBlockDefinition,elixirUnusedVariable,elixirStructDelimiter
syn cluster elixirRegexSpecial contains=elixirRegexEscape,elixirRegexCharClass,elixirRegexQuantifier,elixirRegexEscapePunctuation
syn cluster elixirStringContained contains=elixirInterpolation,elixirRegexEscape,elixirRegexCharClass
@@ -112,12 +112,14 @@ syn region elixirSigil matchgroup=elixirSigilDelimiter start=+\~\a\z('''\)+ end=
" LiveView Sigils surrounded with ~L"""
syntax include @HTML syntax/html.vim
+unlet b:current_syntax
syntax region elixirLiveViewSigil matchgroup=elixirSigilDelimiter keepend start=+\~L\z("""\)+ end=+^\s*\z1+ skip=+\\"+ contains=@HTML fold
" Documentation
if exists('g:elixir_use_markdown_for_docs') && g:elixir_use_markdown_for_docs
syn include @markdown syntax/markdown.vim
+ unlet b:current_syntax
syn cluster elixirDocStringContained contains=@markdown,@Spell,elixirInterpolation
else
let g:elixir_use_markdown_for_docs = 0
@@ -172,9 +174,12 @@ syn match elixirExceptionDeclaration "[^[:space:];#<]\+" contained
syn match elixirCallbackDeclaration "[^[:space:];#<,()\[\]]\+" contained contains=elixirFunctionDeclaration skipwhite skipnl
" ExUnit
-syn match elixirExUnitMacro "\(^\s*\)\@<=\<\(test\|describe\|setup\|setup_all\|on_exit\|doctest\)\>"
-syn match elixirExUnitAssert "\(^\s*\)\@<=\<\(assert\|assert_in_delta\|assert_raise\|assert_receive\|assert_received\|catch_error\)\>"
-syn match elixirExUnitAssert "\(^\s*\)\@<=\<\(catch_exit\|catch_throw\|flunk\|refute\|refute_in_delta\|refute_receive\|refute_received\)\>"
+syn match elixirExUnitMacro "\C\(^\s*\)\@<=\<\(test\|describe\|setup\|setup_all\|on_exit\|doctest\)\>"
+syn match elixirExUnitAssert "\C\(^\s*\)\@<=\<\(assert\|assert_in_delta\|assert_raise\|assert_receive\|assert_received\|catch_error\)\>"
+syn match elixirExUnitAssert "\C\(^\s*\)\@<=\<\(catch_exit\|catch_throw\|flunk\|refute\|refute_in_delta\|refute_receive\|refute_received\)\>"
+
+" syncing starts 2000 lines before top line so docstrings don't screw things up
+syn sync minlines=2000
hi def link elixirBlockDefinition Define
hi def link elixirDefine Define
@@ -234,5 +239,9 @@ hi def link elixirPrivateRecordDeclaration elixirRecordDeclaration
let b:current_syntax = "elixir"
+if main_syntax == "elixir"
+ unlet main_syntax
+endif
+
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/syntax/go.vim b/syntax/go.vim
index ca63c46c..86c09b68 100644
--- a/syntax/go.vim
+++ b/syntax/go.vim
@@ -121,7 +121,7 @@ if go#config#HighlightFormatStrings()
\@<=%[-#0 +]*\
\%(\%(\%(\[\d\+\]\)\=\*\)\|\d\+\)\=\
\%(\.\%(\%(\%(\[\d\+\]\)\=\*\)\|\d\+\)\=\)\=\
- \%(\[\d\+\]\)\=[vTtbcdoqxXUeEfFgGsp]/ contained containedin=goString,goRawString
+ \%(\[\d\+\]\)\=[vTtbcdoqxXUeEfFgGspw]/ contained containedin=goString,goRawString
hi def link goFormatSpecifier goSpecialString
endif
diff --git a/syntax/markdown.vim b/syntax/markdown.vim
index e7d27b09..d28da0e2 100644
--- a/syntax/markdown.vim
+++ b/syntax/markdown.vim
@@ -155,11 +155,11 @@ endif
" Strike through
if get(g:, 'vim_markdown_strikethrough', 0)
- syn region mkdStrike matchgroup=mkdStrike start="\%(\~\~\)" end="\%(\~\~\)"
+ execute 'syn region mkdStrike matchgroup=htmlStrike start="\%(\~\~\)" end="\%(\~\~\)"' . s:concealends
HtmlHiLink mkdStrike htmlStrike
endif
-syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,htmlStrike
+syn cluster mkdNonListItem contains=@htmlTop,htmlItalic,htmlBold,htmlBoldItalic,mkdFootnotes,mkdInlineURL,mkdLink,mkdLinkDef,mkdLineBreak,mkdBlockquote,mkdCode,mkdRule,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,mkdMath,mkdStrike
"highlighting for Markdown groups
HtmlHiLink mkdString String
diff --git a/syntax/meson.vim b/syntax/meson.vim
index 1d73e60e..7bd562c0 100644
--- a/syntax/meson.vim
+++ b/syntax/meson.vim
@@ -73,6 +73,7 @@ syn keyword mesonBuiltin
\ add_project_arguments
\ add_project_link_arguments
\ add_test_setup
+ \ alias_target
\ assert
\ benchmark
\ both_libraries
@@ -101,6 +102,7 @@ syn keyword mesonBuiltin
\ install_headers
\ install_man
\ install_subdir
+ \ is_disabler
\ is_variable
\ jar
\ join_paths
diff --git a/syntax/mustache.vim b/syntax/mustache.vim
index 81b9f95b..204b4fb9 100644
--- a/syntax/mustache.vim
+++ b/syntax/mustache.vim
@@ -6,8 +6,8 @@ endif
" Language: Mustache, Handlebars
" Maintainer: Juvenn Woo <machese@gmail.com>
" Screenshot: http://imgur.com/6F408
-" Version: 5
-" Last Change: Nov 23rd 2018
+" Version: 6
+" Last Change: Jul 16 2019
" Remark:
" It lexically hilights embedded mustaches (exclusively) in html file.
" While it was written for Ruby-based Mustache template system, it should
@@ -45,21 +45,34 @@ endif
syntax match mustacheError '}}}\?'
syntax match mustacheInsideError '{{[{$#<>=!\/]\?'
-syntax region mustacheInside start=/{{[^!][$#^/]\?/ end=/}}}\?/ keepend containedin=TOP,@htmlMustacheContainer
-syntax match mustacheOperators '=\|\.\|/' contained containedin=mustacheInside,mustacheParam
-syntax region mustacheHtmlValue start=/={{[^!][$#^/]\?/rs=s+1,hs=s+1 end=/}}/ oneline keepend contained containedin=htmlTag contains=mustacheInside
-syntax region mustachePartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
-syntax region mustacheMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer
-syntax match mustacheHandlebars '{{\|}}' contained containedin=mustacheInside,@htmlMustacheContainer
-syntax match mustacheUnescape '{{{\|}}}' contained containedin=mustacheInside,@htmlMustacheContainer
-syntax match mustacheConditionals '\([/#]\?if\|unless\|else\)' contained containedin=mustacheInside
-syntax match mustacheHelpers '[/#]\?\(with\|link\-to\|each\(\-in\)\?\)' contained containedin=mustacheInside
-syntax match mustacheHelpers 'else \(if\|unless\|with\|link\-to\|each\(\-in\)\?\)' contained containedin=mustacheInside
-syntax match mustacheParam /[a-z@_-]\+=/he=e-1 contained containedin=mustacheInside
-syntax region mustacheComment start=/{{!/rs=s+2 skip=/{{.\{-}}}/ end=/}}/re=e-2 contains=Todo contained containedin=TOP,mustacheInside,@htmlMustacheContainer
-syntax region mustacheBlockComment start=/{{!--/rs=s+2 skip=/{{.\{-}}}/ end=/--}}/re=e-2 contains=Todo contained extend containedin=TOP,mustacheInside,@htmlMustacheContainer
-syntax region mustacheQString start=/'/ skip=/\\'/ end=/'/ contained containedin=mustacheInside
-syntax region mustacheDQString start=/"/ skip=/\\"/ end=/"/ contained containedin=mustacheInside
+
+" Ember angle bracket syntax syntax starts with a capital letter:
+" https://github.com/emberjs/rfcs/blob/master/text/0311-angle-bracket-invocation.md
+syntax case match
+syntax region mustacheAngleComponent start=/<\/\?[[:upper:]]/ end=/>/ keepend containedin=TOP,@htmlMustacheContainer
+syntax case ignore
+syntax match mustacheAngleBrackets '</\?\|/\?>' contained containedin=mustacheAngleComponent
+syntax match mustacheAngleComponentName '</[[:alnum:]]\+'hs=s+2 contained containedin=mustacheAngleBrackets
+syntax match mustacheAngleComponentName '<[[:alnum:]]\+'hs=s+1 contained containedin=mustacheAngleBrackets
+
+syntax region mustacheHbsComponent start=/{{[^!][$#^/]\?/ end=/}}}\?/ keepend containedin=TOP,@htmlMustacheContainer
+
+syntax cluster mustacheInside add=mustacheHbsComponent,mustacheAngleComponent
+
+syntax match mustacheOperators '=\|\.\|/^>' contained containedin=@mustacheInside,mustacheParam
+syntax region mustacheHtmlValue start=/={{[^!][$#^/]\?/rs=s+1,hs=s+1 end=/}}/ oneline keepend contained containedin=htmlTag contains=@mustacheInside
+syntax region mustachePartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=@mustacheInside,@htmlMustacheContainer
+syntax region mustacheMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=@mustacheInside,@htmlMustacheContainer
+syntax match mustacheHandlebars '{{\|}}' contained containedin=@mustacheInside
+syntax match mustacheUnescape '{{{\|}}}' contained containedin=@mustacheInside
+syntax match mustacheConditionals '\([/#]\?\<\(if\|unless\)\|\<else\)\>' contained containedin=@mustacheInside
+syntax match mustacheHelpers '[/#]\?\<\(with\|link\-to\|each\(\-in\)\?\|let\)\>' contained containedin=@mustacheInside
+syntax match mustacheHelpers 'else \(if\|unless\|with\|link\-to\|each\(\-in\)\?\)' contained containedin=@mustacheInside
+syntax match mustacheParam /[a-z@_-]\+=/he=e-1 contained containedin=@mustacheInside
+syntax region mustacheComment start=/{{!/rs=s+2 skip=/{{.\{-}}}/ end=/}}/re=e-2 contains=Todo contained containedin=TOP,@mustacheInside,@htmlMustacheContainer
+syntax region mustacheBlockComment start=/{{!--/rs=s+2 skip=/{{.\{-}}}/ end=/--}}/re=e-2 contains=Todo contained extend containedin=TOP,@mustacheInside,@htmlMustacheContainer
+syntax region mustacheQString start=/'/ skip=/\\'/ end=/'/ contained containedin=@mustacheInside
+syntax region mustacheDQString start=/"/ skip=/\\"/ end=/"/ contained containedin=@mustacheInside
" Clustering
syntax cluster htmlMustacheContainer add=htmlHead,htmlTitle,htmlString,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,htmlLink,htmlBold,htmlUnderline,htmlItalic,htmlValue
@@ -73,6 +86,7 @@ HtmlHiLink mustacheVariableUnescape Number
HtmlHiLink mustachePartial Number
HtmlHiLink mustacheMarkerSet Number
HtmlHiLink mustacheParam htmlArg
+HtmlHiLink mustacheAngleComponentName htmlTag
HtmlHiLink mustacheComment Comment
HtmlHiLink mustacheBlockComment Comment
@@ -80,6 +94,7 @@ HtmlHiLink mustacheError Error
HtmlHiLink mustacheInsideError Error
HtmlHiLink mustacheHandlebars Special
+HtmlHiLink mustacheAngleBrackets htmlTagName
HtmlHiLink mustacheUnescape Identifier
HtmlHiLink mustacheOperators Operator
HtmlHiLink mustacheConditionals Conditional
diff --git a/syntax/ocaml.vim b/syntax/ocaml.vim
index ea98a4aa..80f2551f 100644
--- a/syntax/ocaml.vim
+++ b/syntax/ocaml.vim
@@ -33,6 +33,9 @@ endif
" ' can be used in OCaml identifiers
setlocal iskeyword+='
+" ` is part of the name of polymorphic variants
+setlocal iskeyword+=`
+
" OCaml is case sensitive.
syn case match
diff --git a/syntax/pgsql.vim b/syntax/pgsql.vim
index 8367ed65..18c7f9ec 100644
--- a/syntax/pgsql.vim
+++ b/syntax/pgsql.vim
@@ -5,11 +5,11 @@ endif
" Vim syntax file
" Language: SQL (PostgreSQL dialect), PL/pgSQL, PL/…, PostGIS, …
" Maintainer: Lifepillar
-" Version: 2.2.0
+" Version: 2.2.2
" License: This file is placed in the public domain.
-" Based on PostgreSQL 11.2
-" Automatically generated on 2019-02-25 at 08:57:58
+" Based on PostgreSQL 11.4
+" Automatically generated on 2019-08-08 at 11:23:38
if exists("b:current_syntax")
finish
@@ -26,10 +26,10 @@ syn region sqlIsPsql start=/^\s*\\/ end=/\n/ oneline contains=sqlPsqlCommand,
syn keyword sqlSpecial contained false null true
" Statements
-syn keyword sqlStatement contained abort alter analyze begin checkpoint close cluster comment commit
-syn keyword sqlStatement contained constraints copy create deallocate declare delete discard do drop end
-syn keyword sqlStatement contained execute explain fetch grant import insert label listen load lock move
-syn keyword sqlStatement contained notify prepare prepared reassign refresh reindex release reset
+syn keyword sqlStatement contained abort add alter analyze begin checkpoint close cluster comment
+syn keyword sqlStatement contained commit constraints copy create deallocate declare delete discard do drop
+syn keyword sqlStatement contained end execute explain fetch grant import insert label listen load lock
+syn keyword sqlStatement contained move notify prepare prepared reassign refresh reindex release reset
syn keyword sqlStatement contained revoke rollback savepoint security select select set show start
syn keyword sqlStatement contained transaction truncate unlisten update vacuum values work
" Types
@@ -68,55 +68,68 @@ syn keyword sqlType contained txid_snapshot unionarg upc us_gaz us_gaz_id_seq us
syn keyword sqlType contained us_rules us_rules_id_seq uuid valid_detail
syn keyword sqlType contained validatetopology_returntype varbit varchar void xid xml yes_or_no zcta5 zcta5_gid_seq
syn keyword sqlType contained zip_lookup zip_lookup_all zip_lookup_base zip_state zip_state_loc
-syn match sqlType /pg_toast_\d\+/
+syn match sqlType /\<pg_toast_\d\+\>/
+syn match sqlType /\<time\%[stamp]\s\+with\%[out]\>/
+syn match sqlKeyword /\<with\s\+grant\>/
+syn match sqlKeyword /\<on\s\+\%(tables\|sequences\|routines\)\>/
+syn match sqlType /\<text\>/
+syn match sqlKeyword /\<text\s\+search\>/
" Additional types
-syn keyword sqlType contained array bigint bigserial bit boolean char character cube decimal
+syn keyword sqlType contained array at bigint bigserial bit boolean char character cube decimal
syn keyword sqlType contained double int integer interval numeric precision real serial serial2
-syn keyword sqlType contained serial4 serial8 smallint smallserial text timestamp varchar varying xml
-syn keyword sqlType contained zone
+syn keyword sqlType contained serial4 serial8 smallint smallserial timestamp varchar varying xml zone
" Keywords
-syn keyword sqlKeyword contained absolute access action add admin after aggregate all also always
-syn keyword sqlKeyword contained analyse and any as asc assertion assignment asymmetric at attach
-syn keyword sqlKeyword contained attribute authorization backward before between binary both by cache call
-syn keyword sqlKeyword contained called cascade cascaded case cast catalog chain characteristics check
-syn keyword sqlKeyword contained class coalesce collate collation column columns comments committed
-syn keyword sqlKeyword contained concurrently configuration conflict connection constraint
-syn keyword sqlKeyword contained content continue conversion cost cross csv current current_catalog
-syn keyword sqlKeyword contained current_date current_role current_schema current_time
-syn keyword sqlKeyword contained current_timestamp current_user cursor cycle data database day dec default defaults
+syn keyword sqlKeyword contained absolute access action admin after aggregate all also always
+syn keyword sqlKeyword contained analyse and any as asc assertion assignment asymmetric attach attribute
+syn keyword sqlKeyword contained authorization backward basetype before between binary both by
+syn keyword sqlKeyword contained bypassrls cache call called cascade cascaded case cast catalog century chain
+syn keyword sqlKeyword contained characteristics check class coalesce collate collation column
+syn keyword sqlKeyword contained columns combinefunc comments committed concurrently configuration
+syn keyword sqlKeyword contained conflict connection constraint content continue conversion cost
+syn keyword sqlKeyword contained createdb createrole cross csv current current_catalog current_date
+syn keyword sqlKeyword contained current_role current_schema current_time current_timestamp
+syn keyword sqlKeyword contained current_user cursor cycle data database day dec decade default defaults
syn keyword sqlKeyword contained deferrable deferred definer delimiter delimiters depends desc
-syn keyword sqlKeyword contained detach dictionary disable distinct document domain each else enable
-syn keyword sqlKeyword contained encoding encrypted enum escape event except exclude excluding exclusive
-syn keyword sqlKeyword contained exists extension external extract false family filter first float
+syn keyword sqlKeyword contained deserialfunc detach dictionary disable distinct document domain dow doy each
+syn keyword sqlKeyword contained else enable encoding encrypted enum epoch escape event except exclude
+syn keyword sqlKeyword contained excluding exclusive exists extension external extract false family
+syn keyword sqlKeyword contained filter finalfunc finalfunc_extra finalfunc_modify first float
syn keyword sqlKeyword contained following for force foreign forward freeze from full function functions
syn keyword sqlKeyword contained generated global granted greatest group grouping groups handler
-syn keyword sqlKeyword contained having header hold hour identity if ilike immediate immutable implicit
-syn keyword sqlKeyword contained in include including increment index indexes inherit inherits
-syn keyword sqlKeyword contained initially inline inner inout input insensitive instead intersect into
-syn keyword sqlKeyword contained invoker is isnull isolation join key language large last lateral leading
-syn keyword sqlKeyword contained leakproof least left level like limit local localtime localtimestamp
-syn keyword sqlKeyword contained location locked logged mapping match materialized maxvalue method
-syn keyword sqlKeyword contained minute minvalue mode month name names national natural nchar new next
-syn keyword sqlKeyword contained no none not nothing notnull nowait null nullif nulls object of off
-syn keyword sqlKeyword contained offset oids old on only operator option options or order ordinality others
-syn keyword sqlKeyword contained out outer over overlaps overlay overriding owned owner parallel
-syn keyword sqlKeyword contained parser partial partition passing password placing plans policy position
-syn keyword sqlKeyword contained preceding preserve primary prior privileges procedural procedure
-syn keyword sqlKeyword contained procedures program publication quote range read recheck recursive ref
-syn keyword sqlKeyword contained references referencing relative rename repeatable replace replica
-syn keyword sqlKeyword contained restart restrict returning returns right role rollup routine
-syn keyword sqlKeyword contained routines row rows rule schema schemas scroll search second sequence
-syn keyword sqlKeyword contained sequences serializable server session session_user setof sets share
-syn keyword sqlKeyword contained similar simple skip snapshot some sql stable standalone statement
-syn keyword sqlKeyword contained statistics stdin stdout storage strict strip subscription substring
-syn keyword sqlKeyword contained symmetric sysid system table tables tablesample tablespace temp template
-syn keyword sqlKeyword contained temporary then ties to trailing transform treat trigger trim true
+syn keyword sqlKeyword contained having header hold hour hypothetical identity if ilike immediate
+syn keyword sqlKeyword contained immutable implicit in include including increment index indexes inherit
+syn keyword sqlKeyword contained inherits initcond initially inline inner inout input insensitive
+syn keyword sqlKeyword contained instead intersect into invoker is isnull isodow isolation isoyear join key
+syn keyword sqlKeyword contained language large last lateral lc_collate lc_ctype leading leakproof
+syn keyword sqlKeyword contained least left level like limit local locale localtime localtimestamp
+syn keyword sqlKeyword contained location locked logged login mapping match materialized maxvalue
+syn keyword sqlKeyword contained method mfinalfunc mfinalfunc_extra mfinalfunc_modify microseconds
+syn keyword sqlKeyword contained millennium milliseconds minitcond minute minvalue minvfunc mode month
+syn keyword sqlKeyword contained msfunc msspace mstype name names national natural nchar new next no
+syn keyword sqlKeyword contained nobypassrls nocreatedb nocreaterole noinherit nologin none
+syn keyword sqlKeyword contained noreplication nosuperuser not nothing notnull nowait null nullif nulls
+syn keyword sqlKeyword contained object of off offset oids old on only operator option options or order
+syn keyword sqlKeyword contained ordinality others out outer over overlaps overlay overriding owned owner
+syn keyword sqlKeyword contained parallel parser partial partition passing password permissive
+syn keyword sqlKeyword contained placing plans policy position preceding preserve primary prior privileges
+syn keyword sqlKeyword contained procedural procedure procedures program provider public
+syn keyword sqlKeyword contained publication quarter quote range read read_write readonly recheck recursive
+syn keyword sqlKeyword contained ref references referencing relative rename repeatable replace
+syn keyword sqlKeyword contained replica replication restart restrict restricted restrictive returning
+syn keyword sqlKeyword contained returns right role rollup routine routines row rows rule safe schema
+syn keyword sqlKeyword contained schemas scroll search second sequence sequences serialfunc
+syn keyword sqlKeyword contained serializable server session session_user setof sets sfunc share shareable
+syn keyword sqlKeyword contained similar simple skip snapshot some sortop sql sspace stable standalone
+syn keyword sqlKeyword contained statement statistics stdin stdout storage strict strip stype
+syn keyword sqlKeyword contained subscription substring superuser symmetric sysid system table tables
+syn keyword sqlKeyword contained tablesample tablespace temp template temporary then ties timezone
+syn keyword sqlKeyword contained timezone_hour timezone_minute to trailing transform treat trigger trim true
syn keyword sqlKeyword contained trusted type types unbounded uncommitted unencrypted union unique
-syn keyword sqlKeyword contained unknown unlogged until user using valid validate validator value variadic
-syn keyword sqlKeyword contained verbose version view views volatile when where whitespace window with
-syn keyword sqlKeyword contained within without wrapper write xmlattributes xmlconcat xmlelement
-syn keyword sqlKeyword contained xmlexists xmlforest xmlnamespaces xmlparse xmlpi xmlroot
-syn keyword sqlKeyword contained xmlserialize xmltable year yes
+syn keyword sqlKeyword contained unknown unlogged unsafe until usage user using valid validate
+syn keyword sqlKeyword contained validator value variadic verbose version view views volatile week when where
+syn keyword sqlKeyword contained whitespace window with within without wrapper write xmlattributes
+syn keyword sqlKeyword contained xmlconcat xmlelement xmlexists xmlforest xmlnamespaces xmlparse
+syn keyword sqlKeyword contained xmlpi xmlroot xmlserialize xmltable year yes
syn keyword sqlConstant contained information_schema pg_catalog
" Built-in functions
syn keyword sqlFunction contained RI_FKey_cascade_del RI_FKey_cascade_upd RI_FKey_check_ins
@@ -523,90 +536,89 @@ syn keyword sqlFunction contained pg_walfile_name pg_walfile_name_offset pg_xact
syn keyword sqlFunction contained phraseto_tsquery pi plainto_tsquery plperl_call_handler
syn keyword sqlFunction contained plperl_inline_handler plperl_validator plperlu_call_handler
syn keyword sqlFunction contained plperlu_inline_handler plperlu_validator plpgsql_call_handler
-syn keyword sqlFunction contained plpgsql_inline_handler plpgsql_validator plpython3_call_handler
-syn keyword sqlFunction contained plpython3_inline_handler plpython3_validator pltcl_call_handler
+syn keyword sqlFunction contained plpgsql_inline_handler plpgsql_validator pltcl_call_handler
syn keyword sqlFunction contained pltclu_call_handler point point_above point_add point_below point_distance
-syn keyword sqlFunction contained point_div point_eq point_horiz point_in point_left point_mul
-syn keyword sqlFunction contained point_ne point_out point_recv point_right point_send point_sub
-syn keyword sqlFunction contained point_vert poly_above poly_below poly_center poly_contain
-syn keyword sqlFunction contained poly_contain_pt poly_contained poly_distance poly_in poly_left poly_npoints
-syn keyword sqlFunction contained poly_out poly_overabove poly_overbelow poly_overlap
-syn keyword sqlFunction contained poly_overleft poly_overright poly_recv poly_right poly_same poly_send polygon
-syn keyword sqlFunction contained popen position positionjoinsel positionsel
-syn keyword sqlFunction contained postgresql_fdw_validator pow power prefixjoinsel prefixsel prsd_end prsd_headline
+syn keyword sqlFunction contained point_div point_eq point_horiz point_in point_left point_mul point_ne
+syn keyword sqlFunction contained point_out point_recv point_right point_send point_sub point_vert
+syn keyword sqlFunction contained poly_above poly_below poly_center poly_contain poly_contain_pt
+syn keyword sqlFunction contained poly_contained poly_distance poly_in poly_left poly_npoints
+syn keyword sqlFunction contained poly_out poly_overabove poly_overbelow poly_overlap poly_overleft
+syn keyword sqlFunction contained poly_overright poly_recv poly_right poly_same poly_send polygon popen
+syn keyword sqlFunction contained position positionjoinsel positionsel postgresql_fdw_validator
+syn keyword sqlFunction contained pow power prefixjoinsel prefixsel prsd_end prsd_headline
syn keyword sqlFunction contained prsd_lextype prsd_nexttoken prsd_start pt_contained_circle
-syn keyword sqlFunction contained pt_contained_poly query_to_xml query_to_xml_and_xmlschema
-syn keyword sqlFunction contained query_to_xmlschema querytree quote_ident quote_literal quote_nullable
-syn keyword sqlFunction contained radians radius random range_adjacent range_after range_before range_cmp
+syn keyword sqlFunction contained pt_contained_poly query_to_xml query_to_xml_and_xmlschema query_to_xmlschema
+syn keyword sqlFunction contained querytree quote_ident quote_literal quote_nullable radians
+syn keyword sqlFunction contained radius random range_adjacent range_after range_before range_cmp
syn keyword sqlFunction contained range_contained_by range_contains range_contains_elem range_eq
syn keyword sqlFunction contained range_ge range_gist_consistent range_gist_penalty
syn keyword sqlFunction contained range_gist_picksplit range_gist_same range_gist_union range_gt range_in
syn keyword sqlFunction contained range_intersect range_le range_lt range_merge range_minus range_ne
-syn keyword sqlFunction contained range_out range_overlaps range_overleft range_overright
-syn keyword sqlFunction contained range_recv range_send range_typanalyze range_union rangesel rank
-syn keyword sqlFunction contained rank_final record_eq record_ge record_gt record_image_eq record_image_ge
+syn keyword sqlFunction contained range_out range_overlaps range_overleft range_overright range_recv
+syn keyword sqlFunction contained range_send range_typanalyze range_union rangesel rank rank_final
+syn keyword sqlFunction contained record_eq record_ge record_gt record_image_eq record_image_ge
syn keyword sqlFunction contained record_image_gt record_image_le record_image_lt record_image_ne
syn keyword sqlFunction contained record_in record_le record_lt record_ne record_out record_recv
-syn keyword sqlFunction contained record_send regclass regclassin regclassout regclassrecv
-syn keyword sqlFunction contained regclasssend regconfigin regconfigout regconfigrecv regconfigsend
+syn keyword sqlFunction contained record_send regclass regclassin regclassout regclassrecv regclasssend
+syn keyword sqlFunction contained regconfigin regconfigout regconfigrecv regconfigsend
syn keyword sqlFunction contained regdictionaryin regdictionaryout regdictionaryrecv regdictionarysend
syn keyword sqlFunction contained regexeqjoinsel regexeqsel regexnejoinsel regexnesel regexp_match
syn keyword sqlFunction contained regexp_matches regexp_replace regexp_split_to_array
syn keyword sqlFunction contained regexp_split_to_table regnamespacein regnamespaceout regnamespacerecv
syn keyword sqlFunction contained regnamespacesend regoperatorin regoperatorout regoperatorrecv
syn keyword sqlFunction contained regoperatorsend regoperin regoperout regoperrecv regopersend
-syn keyword sqlFunction contained regprocedurein regprocedureout regprocedurerecv regproceduresend
-syn keyword sqlFunction contained regprocin regprocout regprocrecv regprocsend regr_avgx regr_avgy
-syn keyword sqlFunction contained regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy
-syn keyword sqlFunction contained regr_syy regrolein regroleout regrolerecv regrolesend regtypein
-syn keyword sqlFunction contained regtypeout regtyperecv regtypesend reltime reltimeeq reltimege reltimegt
+syn keyword sqlFunction contained regprocedurein regprocedureout regprocedurerecv regproceduresend regprocin
+syn keyword sqlFunction contained regprocout regprocrecv regprocsend regr_avgx regr_avgy regr_count
+syn keyword sqlFunction contained regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy
+syn keyword sqlFunction contained regrolein regroleout regrolerecv regrolesend regtypein regtypeout
+syn keyword sqlFunction contained regtyperecv regtypesend reltime reltimeeq reltimege reltimegt
syn keyword sqlFunction contained reltimein reltimele reltimelt reltimene reltimeout reltimerecv
syn keyword sqlFunction contained reltimesend repeat replace reverse right round row_number
syn keyword sqlFunction contained row_security_active row_to_json rpad rtrim satisfies_hash_partition
-syn keyword sqlFunction contained scalargejoinsel scalargesel scalargtjoinsel scalargtsel
-syn keyword sqlFunction contained scalarlejoinsel scalarlesel scalarltjoinsel scalarltsel scale schema_to_xml
-syn keyword sqlFunction contained schema_to_xml_and_xmlschema schema_to_xmlschema session_user
-syn keyword sqlFunction contained set_bit set_byte set_config set_masklen setseed setval setweight
-syn keyword sqlFunction contained sha224 sha256 sha384 sha512 shell_in shell_out
-syn keyword sqlFunction contained shift_jis_2004_to_euc_jis_2004 shift_jis_2004_to_utf8 shobj_description sign
-syn keyword sqlFunction contained similar_escape sin sind sjis_to_euc_jp sjis_to_mic sjis_to_utf8 slope
-syn keyword sqlFunction contained smgreq smgrin smgrne smgrout spg_bbox_quad_config spg_box_quad_choose
+syn keyword sqlFunction contained scalargejoinsel scalargesel scalargtjoinsel scalargtsel scalarlejoinsel
+syn keyword sqlFunction contained scalarlesel scalarltjoinsel scalarltsel scale schema_to_xml
+syn keyword sqlFunction contained schema_to_xml_and_xmlschema schema_to_xmlschema session_user set_bit
+syn keyword sqlFunction contained set_byte set_config set_masklen setseed setval setweight sha224
+syn keyword sqlFunction contained sha256 sha384 sha512 shell_in shell_out
+syn keyword sqlFunction contained shift_jis_2004_to_euc_jis_2004 shift_jis_2004_to_utf8 shobj_description sign similar_escape
+syn keyword sqlFunction contained sin sind sjis_to_euc_jp sjis_to_mic sjis_to_utf8 slope smgreq
+syn keyword sqlFunction contained smgrin smgrne smgrout spg_bbox_quad_config spg_box_quad_choose
syn keyword sqlFunction contained spg_box_quad_config spg_box_quad_inner_consistent
-syn keyword sqlFunction contained spg_box_quad_leaf_consistent spg_box_quad_picksplit spg_kd_choose
-syn keyword sqlFunction contained spg_kd_config spg_kd_inner_consistent spg_kd_picksplit
-syn keyword sqlFunction contained spg_poly_quad_compress spg_quad_choose spg_quad_config
-syn keyword sqlFunction contained spg_quad_inner_consistent spg_quad_leaf_consistent spg_quad_picksplit
-syn keyword sqlFunction contained spg_range_quad_choose spg_range_quad_config
-syn keyword sqlFunction contained spg_range_quad_inner_consistent spg_range_quad_leaf_consistent spg_range_quad_picksplit
+syn keyword sqlFunction contained spg_box_quad_leaf_consistent spg_box_quad_picksplit spg_kd_choose spg_kd_config
+syn keyword sqlFunction contained spg_kd_inner_consistent spg_kd_picksplit
+syn keyword sqlFunction contained spg_poly_quad_compress spg_quad_choose spg_quad_config spg_quad_inner_consistent
+syn keyword sqlFunction contained spg_quad_leaf_consistent spg_quad_picksplit
+syn keyword sqlFunction contained spg_range_quad_choose spg_range_quad_config spg_range_quad_inner_consistent
+syn keyword sqlFunction contained spg_range_quad_leaf_consistent spg_range_quad_picksplit
syn keyword sqlFunction contained spg_text_choose spg_text_config spg_text_inner_consistent
syn keyword sqlFunction contained spg_text_leaf_consistent spg_text_picksplit spghandler split_part sqrt
syn keyword sqlFunction contained starts_with statement_timestamp stddev stddev_pop stddev_samp
-syn keyword sqlFunction contained string_agg string_agg_finalfn string_agg_transfn string_to_array
-syn keyword sqlFunction contained strip strpos substr substring sum
-syn keyword sqlFunction contained suppress_redundant_updates_trigger system table_to_xml table_to_xml_and_xmlschema
-syn keyword sqlFunction contained table_to_xmlschema tan tand text text_ge text_gt text_larger text_le text_lt
+syn keyword sqlFunction contained string_agg string_agg_finalfn string_agg_transfn string_to_array strip
+syn keyword sqlFunction contained strpos substr substring sum suppress_redundant_updates_trigger
+syn keyword sqlFunction contained system table_to_xml table_to_xml_and_xmlschema table_to_xmlschema
+syn keyword sqlFunction contained tan tand text text_ge text_gt text_larger text_le text_lt
syn keyword sqlFunction contained text_pattern_ge text_pattern_gt text_pattern_le text_pattern_lt
syn keyword sqlFunction contained text_smaller textanycat textcat texteq texticlike texticnlike
-syn keyword sqlFunction contained texticregexeq texticregexne textin textlen textlike textne textnlike
-syn keyword sqlFunction contained textout textrecv textregexeq textregexne textsend thesaurus_init
-syn keyword sqlFunction contained thesaurus_lexize tideq tidge tidgt tidin tidlarger tidle tidlt tidne
-syn keyword sqlFunction contained tidout tidrecv tidsend tidsmaller time time_cmp time_eq time_ge
-syn keyword sqlFunction contained time_gt time_hash time_hash_extended time_in time_larger time_le
-syn keyword sqlFunction contained time_lt time_mi_interval time_mi_time time_ne time_out
-syn keyword sqlFunction contained time_pl_interval time_recv time_send time_smaller time_transform timedate_pl
-syn keyword sqlFunction contained timemi timenow timeofday timepl timestamp timestamp_cmp
-syn keyword sqlFunction contained timestamp_cmp_date timestamp_cmp_timestamptz timestamp_eq
-syn keyword sqlFunction contained timestamp_eq_date timestamp_eq_timestamptz timestamp_ge timestamp_ge_date
+syn keyword sqlFunction contained texticregexeq texticregexne textin textlen textlike textne textnlike textout
+syn keyword sqlFunction contained textrecv textregexeq textregexne textsend thesaurus_init
+syn keyword sqlFunction contained thesaurus_lexize tideq tidge tidgt tidin tidlarger tidle tidlt tidne tidout
+syn keyword sqlFunction contained tidrecv tidsend tidsmaller time time_cmp time_eq time_ge time_gt
+syn keyword sqlFunction contained time_hash time_hash_extended time_in time_larger time_le time_lt
+syn keyword sqlFunction contained time_mi_interval time_mi_time time_ne time_out time_pl_interval
+syn keyword sqlFunction contained time_recv time_send time_smaller time_transform timedate_pl timemi
+syn keyword sqlFunction contained timenow timeofday timepl timestamp timestamp_cmp
+syn keyword sqlFunction contained timestamp_cmp_date timestamp_cmp_timestamptz timestamp_eq timestamp_eq_date
+syn keyword sqlFunction contained timestamp_eq_timestamptz timestamp_ge timestamp_ge_date
syn keyword sqlFunction contained timestamp_ge_timestamptz timestamp_gt timestamp_gt_date
-syn keyword sqlFunction contained timestamp_gt_timestamptz timestamp_hash timestamp_hash_extended
-syn keyword sqlFunction contained timestamp_in timestamp_izone_transform timestamp_larger timestamp_le
+syn keyword sqlFunction contained timestamp_gt_timestamptz timestamp_hash timestamp_hash_extended timestamp_in
+syn keyword sqlFunction contained timestamp_izone_transform timestamp_larger timestamp_le
syn keyword sqlFunction contained timestamp_le_date timestamp_le_timestamptz timestamp_lt
syn keyword sqlFunction contained timestamp_lt_date timestamp_lt_timestamptz timestamp_mi
-syn keyword sqlFunction contained timestamp_mi_interval timestamp_ne timestamp_ne_date
-syn keyword sqlFunction contained timestamp_ne_timestamptz timestamp_out timestamp_pl_interval timestamp_recv
-syn keyword sqlFunction contained timestamp_send timestamp_smaller timestamp_sortsupport
-syn keyword sqlFunction contained timestamp_transform timestamp_zone_transform timestamptypmodin
-syn keyword sqlFunction contained timestamptypmodout timestamptz timestamptz_cmp timestamptz_cmp_date
+syn keyword sqlFunction contained timestamp_mi_interval timestamp_ne timestamp_ne_date timestamp_ne_timestamptz
+syn keyword sqlFunction contained timestamp_out timestamp_pl_interval timestamp_recv timestamp_send
+syn keyword sqlFunction contained timestamp_smaller timestamp_sortsupport timestamp_transform
+syn keyword sqlFunction contained timestamp_zone_transform timestamptypmodin timestamptypmodout
+syn keyword sqlFunction contained timestamptz timestamptz_cmp timestamptz_cmp_date
syn keyword sqlFunction contained timestamptz_cmp_timestamp timestamptz_eq timestamptz_eq_date
syn keyword sqlFunction contained timestamptz_eq_timestamp timestamptz_ge timestamptz_ge_date
syn keyword sqlFunction contained timestamptz_ge_timestamp timestamptz_gt timestamptz_gt_date
@@ -615,78 +627,77 @@ syn keyword sqlFunction contained timestamptz_le_date timestamptz_le_timestamp t
syn keyword sqlFunction contained timestamptz_lt_date timestamptz_lt_timestamp timestamptz_mi
syn keyword sqlFunction contained timestamptz_mi_interval timestamptz_ne timestamptz_ne_date
syn keyword sqlFunction contained timestamptz_ne_timestamp timestamptz_out timestamptz_pl_interval
-syn keyword sqlFunction contained timestamptz_recv timestamptz_send timestamptz_smaller
-syn keyword sqlFunction contained timestamptztypmodin timestamptztypmodout timetypmodin timetypmodout timetz
-syn keyword sqlFunction contained timetz_cmp timetz_eq timetz_ge timetz_gt timetz_hash
-syn keyword sqlFunction contained timetz_hash_extended timetz_in timetz_larger timetz_le timetz_lt
-syn keyword sqlFunction contained timetz_mi_interval timetz_ne timetz_out timetz_pl_interval timetz_recv
-syn keyword sqlFunction contained timetz_send timetz_smaller timetzdate_pl timetztypmodin timetztypmodout
-syn keyword sqlFunction contained timezone tinterval tintervalct tintervalend tintervaleq
-syn keyword sqlFunction contained tintervalge tintervalgt tintervalin tintervalle tintervalleneq
-syn keyword sqlFunction contained tintervallenge tintervallengt tintervallenle tintervallenlt
-syn keyword sqlFunction contained tintervallenne tintervallt tintervalne tintervalout tintervalov
-syn keyword sqlFunction contained tintervalrecv tintervalrel tintervalsame tintervalsend tintervalstart
-syn keyword sqlFunction contained to_ascii to_char to_date to_hex to_json to_jsonb to_number to_regclass
-syn keyword sqlFunction contained to_regnamespace to_regoper to_regoperator to_regproc
-syn keyword sqlFunction contained to_regprocedure to_regrole to_regtype to_timestamp to_tsquery to_tsvector
-syn keyword sqlFunction contained transaction_timestamp translate trigger_in trigger_out trunc
-syn keyword sqlFunction contained ts_debug ts_delete ts_filter ts_headline ts_lexize ts_match_qv
-syn keyword sqlFunction contained ts_match_tq ts_match_tt ts_match_vq ts_parse ts_rank ts_rank_cd
-syn keyword sqlFunction contained ts_rewrite ts_stat ts_token_type ts_typanalyze tsm_handler_in
-syn keyword sqlFunction contained tsm_handler_out tsmatchjoinsel tsmatchsel tsq_mcontained tsq_mcontains
+syn keyword sqlFunction contained timestamptz_recv timestamptz_send timestamptz_smaller timestamptztypmodin
+syn keyword sqlFunction contained timestamptztypmodout timetypmodin timetypmodout timetz timetz_cmp
+syn keyword sqlFunction contained timetz_eq timetz_ge timetz_gt timetz_hash timetz_hash_extended
+syn keyword sqlFunction contained timetz_in timetz_larger timetz_le timetz_lt timetz_mi_interval
+syn keyword sqlFunction contained timetz_ne timetz_out timetz_pl_interval timetz_recv timetz_send
+syn keyword sqlFunction contained timetz_smaller timetzdate_pl timetztypmodin timetztypmodout
+syn keyword sqlFunction contained timezone tinterval tintervalct tintervalend tintervaleq tintervalge
+syn keyword sqlFunction contained tintervalgt tintervalin tintervalle tintervalleneq tintervallenge
+syn keyword sqlFunction contained tintervallengt tintervallenle tintervallenlt tintervallenne
+syn keyword sqlFunction contained tintervallt tintervalne tintervalout tintervalov tintervalrecv
+syn keyword sqlFunction contained tintervalrel tintervalsame tintervalsend tintervalstart to_ascii
+syn keyword sqlFunction contained to_char to_date to_hex to_json to_jsonb to_number to_regclass
+syn keyword sqlFunction contained to_regnamespace to_regoper to_regoperator to_regproc to_regprocedure
+syn keyword sqlFunction contained to_regrole to_regtype to_timestamp to_tsquery to_tsvector
+syn keyword sqlFunction contained transaction_timestamp translate trigger_in trigger_out trunc ts_debug
+syn keyword sqlFunction contained ts_delete ts_filter ts_headline ts_lexize ts_match_qv ts_match_tq
+syn keyword sqlFunction contained ts_match_tt ts_match_vq ts_parse ts_rank ts_rank_cd ts_rewrite
+syn keyword sqlFunction contained ts_stat ts_token_type ts_typanalyze tsm_handler_in tsm_handler_out
+syn keyword sqlFunction contained tsmatchjoinsel tsmatchsel tsq_mcontained tsq_mcontains
syn keyword sqlFunction contained tsquery_and tsquery_cmp tsquery_eq tsquery_ge tsquery_gt tsquery_le
-syn keyword sqlFunction contained tsquery_lt tsquery_ne tsquery_not tsquery_or tsquery_phrase
-syn keyword sqlFunction contained tsqueryin tsqueryout tsqueryrecv tsquerysend tsrange tsrange_subdiff
-syn keyword sqlFunction contained tstzrange tstzrange_subdiff tsvector_cmp tsvector_concat
-syn keyword sqlFunction contained tsvector_eq tsvector_ge tsvector_gt tsvector_le tsvector_lt tsvector_ne
+syn keyword sqlFunction contained tsquery_lt tsquery_ne tsquery_not tsquery_or tsquery_phrase tsqueryin
+syn keyword sqlFunction contained tsqueryout tsqueryrecv tsquerysend tsrange tsrange_subdiff
+syn keyword sqlFunction contained tstzrange tstzrange_subdiff tsvector_cmp tsvector_concat tsvector_eq
+syn keyword sqlFunction contained tsvector_ge tsvector_gt tsvector_le tsvector_lt tsvector_ne
syn keyword sqlFunction contained tsvector_to_array tsvector_update_trigger
syn keyword sqlFunction contained tsvector_update_trigger_column tsvectorin tsvectorout tsvectorrecv tsvectorsend
syn keyword sqlFunction contained txid_current txid_current_if_assigned txid_current_snapshot
-syn keyword sqlFunction contained txid_snapshot_in txid_snapshot_out txid_snapshot_recv
-syn keyword sqlFunction contained txid_snapshot_send txid_snapshot_xip txid_snapshot_xmax txid_snapshot_xmin
-syn keyword sqlFunction contained txid_status txid_visible_in_snapshot uhc_to_utf8
-syn keyword sqlFunction contained unique_key_recheck unknownin unknownout unknownrecv unknownsend unnest upper
-syn keyword sqlFunction contained upper_inc upper_inf utf8_to_ascii utf8_to_big5 utf8_to_euc_cn
+syn keyword sqlFunction contained txid_snapshot_in txid_snapshot_out txid_snapshot_recv txid_snapshot_send
+syn keyword sqlFunction contained txid_snapshot_xip txid_snapshot_xmax txid_snapshot_xmin
+syn keyword sqlFunction contained txid_status txid_visible_in_snapshot uhc_to_utf8 unique_key_recheck
+syn keyword sqlFunction contained unknownin unknownout unknownrecv unknownsend unnest upper upper_inc
+syn keyword sqlFunction contained upper_inf utf8_to_ascii utf8_to_big5 utf8_to_euc_cn
syn keyword sqlFunction contained utf8_to_euc_jis_2004 utf8_to_euc_jp utf8_to_euc_kr utf8_to_euc_tw
syn keyword sqlFunction contained utf8_to_gb18030 utf8_to_gbk utf8_to_iso8859 utf8_to_iso8859_1
syn keyword sqlFunction contained utf8_to_johab utf8_to_koi8r utf8_to_koi8u utf8_to_shift_jis_2004
-syn keyword sqlFunction contained utf8_to_sjis utf8_to_uhc utf8_to_win uuid_cmp uuid_eq uuid_ge
-syn keyword sqlFunction contained uuid_gt uuid_hash uuid_hash_extended uuid_in uuid_le uuid_lt uuid_ne
-syn keyword sqlFunction contained uuid_out uuid_recv uuid_send uuid_sortsupport var_pop var_samp
-syn keyword sqlFunction contained varbit varbit_in varbit_out varbit_recv varbit_send
-syn keyword sqlFunction contained varbit_transform varbitcmp varbiteq varbitge varbitgt varbitle varbitlt varbitne
-syn keyword sqlFunction contained varbittypmodin varbittypmodout varchar varchar_transform
-syn keyword sqlFunction contained varcharin varcharout varcharrecv varcharsend varchartypmodin
-syn keyword sqlFunction contained varchartypmodout variance version void_in void_out void_recv void_send
-syn keyword sqlFunction contained websearch_to_tsquery width width_bucket win1250_to_latin2
-syn keyword sqlFunction contained win1250_to_mic win1251_to_iso win1251_to_koi8r win1251_to_mic
-syn keyword sqlFunction contained win1251_to_win866 win866_to_iso win866_to_koi8r win866_to_mic
-syn keyword sqlFunction contained win866_to_win1251 win_to_utf8 xideq xideqint4 xidin xidneq xidneqint4 xidout
-syn keyword sqlFunction contained xidrecv xidsend xml xml_in xml_is_well_formed
-syn keyword sqlFunction contained xml_is_well_formed_content xml_is_well_formed_document xml_out xml_recv xml_send
-syn keyword sqlFunction contained xmlagg xmlcomment xmlconcat2 xmlexists xmlvalidate xpath
-syn keyword sqlFunction contained xpath_exists
+syn keyword sqlFunction contained utf8_to_sjis utf8_to_uhc utf8_to_win uuid_cmp uuid_eq uuid_ge uuid_gt
+syn keyword sqlFunction contained uuid_hash uuid_hash_extended uuid_in uuid_le uuid_lt uuid_ne
+syn keyword sqlFunction contained uuid_out uuid_recv uuid_send uuid_sortsupport var_pop var_samp varbit
+syn keyword sqlFunction contained varbit_in varbit_out varbit_recv varbit_send varbit_transform
+syn keyword sqlFunction contained varbitcmp varbiteq varbitge varbitgt varbitle varbitlt varbitne
+syn keyword sqlFunction contained varbittypmodin varbittypmodout varchar varchar_transform varcharin
+syn keyword sqlFunction contained varcharout varcharrecv varcharsend varchartypmodin varchartypmodout
+syn keyword sqlFunction contained variance version void_in void_out void_recv void_send
+syn keyword sqlFunction contained websearch_to_tsquery width width_bucket win1250_to_latin2 win1250_to_mic
+syn keyword sqlFunction contained win1251_to_iso win1251_to_koi8r win1251_to_mic win1251_to_win866
+syn keyword sqlFunction contained win866_to_iso win866_to_koi8r win866_to_mic win866_to_win1251
+syn keyword sqlFunction contained win_to_utf8 xideq xideqint4 xidin xidneq xidneqint4 xidout xidrecv
+syn keyword sqlFunction contained xidsend xml xml_in xml_is_well_formed xml_is_well_formed_content
+syn keyword sqlFunction contained xml_is_well_formed_document xml_out xml_recv xml_send xmlagg
+syn keyword sqlFunction contained xmlcomment xmlconcat2 xmlexists xmlvalidate xpath xpath_exists
" Extensions names
syn keyword sqlConstant contained address_standardizer address_standardizer_data_us adminpack
syn keyword sqlConstant contained amcheck autoinc bloom btree_gin btree_gist citext cube dblink
syn keyword sqlConstant contained dict_int dict_xsyn earthdistance file_fdw fuzzystrmatch hstore
-syn keyword sqlConstant contained hstore_plperl hstore_plperlu hstore_plpython3u insert_username intagg
-syn keyword sqlConstant contained intarray isn jsonb_plperl jsonb_plperlu jsonb_plpython3u lo ltree
-syn keyword sqlConstant contained ltree_plpython3u moddatetime pageinspect pg_buffercache
-syn keyword sqlConstant contained pg_freespacemap pg_prewarm pg_stat_statements pg_trgm pg_visibility
-syn keyword sqlConstant contained pgcrypto pgrouting pgrowlocks pgstattuple pgtap plperl plperlu plpgsql
-syn keyword sqlConstant contained plpython3u pltcl pltclu postgis postgis_sfcgal
+syn keyword sqlConstant contained hstore_plperl hstore_plperlu insert_username intagg intarray isn
+syn keyword sqlConstant contained jsonb_plperl jsonb_plperlu lo ltree moddatetime pageinspect
+syn keyword sqlConstant contained pg_buffercache pg_freespacemap pg_prewarm pg_stat_statements pg_trgm
+syn keyword sqlConstant contained pg_visibility pgcrypto pgrouting pgrowlocks pgstattuple pgtap plperl
+syn keyword sqlConstant contained plperlu plpgsql pltcl pltclu postgis postgis_sfcgal
syn keyword sqlConstant contained postgis_tiger_geocoder postgis_topology postgres_fdw refint seg sslinfo tablefunc
syn keyword sqlConstant contained tcn temporal_tables timetravel tsm_system_rows tsm_system_time
syn keyword sqlConstant contained unaccent xml2
" Legacy extensions names
-syn keyword sqlConstant contained chkpass hstore_plpython2u hstore_plpythonu ltree_plpython2u
-syn keyword sqlConstant contained ltree_plpythonu pldbgapi plpython2u plpythonu
+syn keyword sqlConstant contained chkpass hstore_plpython2u hstore_plpython3u hstore_plpythonu
+syn keyword sqlConstant contained jsonb_plpython3u ltree_plpython2u ltree_plpython3u
+syn keyword sqlConstant contained ltree_plpythonu pldbgapi plpython2u plpython3u plpythonu
" Extension: refint (v1.0)
if index(get(g:, 'pgsql_disabled_extensions', []), 'refint') == -1
syn keyword sqlFunction contained check_foreign_key check_primary_key
endif " refint
-" Extension: postgis (v2.5.1)
+" Extension: postgis (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis') == -1
syn keyword sqlFunction contained addauth addgeometrycolumn
syn keyword sqlFunction contained addoverviewconstraints addrasterconstraints box box2d
@@ -989,11 +1000,6 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'btree_gin') == -1
syn keyword sqlFunction contained gin_extract_value_timetz
syn keyword sqlFunction contained gin_extract_value_uuid gin_extract_value_varbit gin_numeric_cmp
endif " btree_gin
-" Extension: plpython3u (v1.0)
-if index(get(g:, 'pgsql_disabled_extensions', []), 'plpython3u') == -1
- syn keyword sqlFunction contained plpython3_call_handler plpython3_inline_handler
- syn keyword sqlFunction contained plpython3_validator
-endif " plpython3u
" Extension: ltree (v1.1)
if index(get(g:, 'pgsql_disabled_extensions', []), 'ltree') == -1
syn keyword sqlFunction contained index lca lquery_in lquery_out
@@ -1031,7 +1037,7 @@ endif " adminpack
if index(get(g:, 'pgsql_disabled_extensions', []), 'dict_xsyn') == -1
syn keyword sqlFunction contained dxsyn_init dxsyn_lexize
endif " dict_xsyn
-" Extension: address_standardizer (v2.5.1)
+" Extension: address_standardizer (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'address_standardizer') == -1
syn keyword sqlFunction contained parse_address standardize_address
syn keyword sqlType contained stdaddr
@@ -1089,7 +1095,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'cube') == -1
syn keyword sqlType contained cube
syn keyword sqlFunction contained g_cube_compress g_cube_decompress
endif " cube
-" Extension: postgis_tiger_geocoder (v2.5.1)
+" Extension: postgis_tiger_geocoder (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_tiger_geocoder') == -1
syn keyword sqlFunction contained count_words create_census_base_tables
syn keyword sqlFunction contained cull_null diff_zip
@@ -1176,10 +1182,6 @@ endif " lo
if index(get(g:, 'pgsql_disabled_extensions', []), 'pgrowlocks') == -1
syn keyword sqlFunction contained pgrowlocks
endif " pgrowlocks
-" Extension: jsonb_plpython3u (v1.0)
-if index(get(g:, 'pgsql_disabled_extensions', []), 'jsonb_plpython3u') == -1
- syn keyword sqlFunction contained jsonb_to_plpython3 plpython3_to_jsonb
-endif " jsonb_plpython3u
" Extension: sslinfo (v1.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'sslinfo') == -1
syn keyword sqlFunction contained ssl_cipher ssl_client_cert_present
@@ -1197,15 +1199,11 @@ endif " pgstattuple
if index(get(g:, 'pgsql_disabled_extensions', []), 'autoinc') == -1
syn keyword sqlFunction contained autoinc
endif " autoinc
-" Extension: address_standardizer_data_us (v2.5.1)
+" Extension: address_standardizer_data_us (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'address_standardizer_data_us') == -1
syn keyword sqlTable contained us_gaz us_lex us_rules
endif " address_standardizer_data_us
-" Extension: hstore_plpython3u (v1.0)
-if index(get(g:, 'pgsql_disabled_extensions', []), 'hstore_plpython3u') == -1
- syn keyword sqlFunction contained hstore_to_plpython3 plpython3_to_hstore
-endif " hstore_plpython3u
-" Extension: postgis_topology (v2.5.1)
+" Extension: postgis_topology (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_topology') == -1
syn keyword sqlFunction contained addedge addface addnode
syn keyword sqlFunction contained addtopogeometrycolumn addtosearchpath asgml
@@ -1516,10 +1514,6 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'fuzzystrmatch') == -1
syn keyword sqlFunction contained levenshtein levenshtein_less_equal
syn keyword sqlFunction contained metaphone soundex text_soundex
endif " fuzzystrmatch
-" Extension: ltree_plpython3u (v1.0)
-if index(get(g:, 'pgsql_disabled_extensions', []), 'ltree_plpython3u') == -1
- syn keyword sqlFunction contained ltree_to_plpython3
-endif " ltree_plpython3u
" Extension: pgrouting (v2.6.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'pgrouting') == -1
syn keyword sqlFunction contained pgr_alphashape pgr_analyzegraph
@@ -1566,7 +1560,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'pgcrypto') == -1
syn keyword sqlFunction contained pgp_sym_decrypt_bytea pgp_sym_encrypt
syn keyword sqlFunction contained pgp_sym_encrypt_bytea
endif " pgcrypto
-" Extension: postgis_sfcgal (v2.5.1)
+" Extension: postgis_sfcgal (v2.5.2)
if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_sfcgal') == -1
syn keyword sqlFunction contained postgis_sfcgal_scripts_installed
syn keyword sqlFunction contained postgis_sfcgal_version st_3darea st_3ddifference
@@ -1638,6 +1632,11 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'plpython2u') == -1
syn keyword sqlFunction contained plpython2_call_handler plpython2_inline_handler
syn keyword sqlFunction contained plpython2_validator
endif " plpython2u
+" Extension: plpython3u
+if index(get(g:, 'pgsql_disabled_extensions', []), 'plpython3u') == -1
+ syn keyword sqlFunction contained plpython3_call_handler plpython3_inline_handler
+ syn keyword sqlFunction contained plpython3_validator
+endif " plpython3u
" Extension: hstore_plpythonu
if index(get(g:, 'pgsql_disabled_extensions', []), 'hstore_plpythonu') == -1
syn keyword sqlFunction contained hstore_to_plpython plpython_to_hstore
@@ -1646,6 +1645,14 @@ endif " hstore_plpythonu
if index(get(g:, 'pgsql_disabled_extensions', []), 'hstore_plpython2u') == -1
syn keyword sqlFunction contained hstore_to_plpython2 plpython2_to_hstore
endif " hstore_plpython2u
+" Extension: hstore_plpython3u
+if index(get(g:, 'pgsql_disabled_extensions', []), 'hstore_plpython3u') == -1
+ syn keyword sqlFunction contained hstore_to_plpython3 plpython3_to_hstore
+endif " hstore_plpython3u
+" Extension: jsonb_plpython3u
+if index(get(g:, 'pgsql_disabled_extensions', []), 'jsonb_plpython3u') == -1
+ syn keyword sqlFunction contained jsonb_to_plpython3 plpython3_to_jsonb
+endif " jsonb_plpython3u
" Extension: ltree_plpythonu
if index(get(g:, 'pgsql_disabled_extensions', []), 'ltree_plpythonu') == -1
syn keyword sqlFunction contained ltree_to_plpython
@@ -1654,6 +1661,10 @@ endif " ltree_plpythonu
if index(get(g:, 'pgsql_disabled_extensions', []), 'ltree_plpython2u') == -1
syn keyword sqlFunction contained ltree_to_plpython2
endif " ltree_plpython2u
+" Extension: ltree_plpython3u
+if index(get(g:, 'pgsql_disabled_extensions', []), 'ltree_plpython3u') == -1
+ syn keyword sqlFunction contained ltree_to_plpython3
+endif " ltree_plpython3u
" Extension: pldbgapi
if index(get(g:, 'pgsql_disabled_extensions', []), 'pldbgapi') == -1
syn keyword sqlFunction contained pldbg_abort_target pldbg_attach_to_port pldbg_continue
@@ -1733,87 +1744,93 @@ syn keyword sqlErrorCode contained deadlock_detected dependent_objects_still_exi
syn keyword sqlErrorCode contained dependent_privilege_descriptors_still_exist deprecated_feature diagnostics_exception
syn keyword sqlErrorCode contained disk_full division_by_zero duplicate_alias duplicate_column
syn keyword sqlErrorCode contained duplicate_cursor duplicate_database duplicate_file
-syn keyword sqlErrorCode contained duplicate_function duplicate_object duplicate_prepared_statement
-syn keyword sqlErrorCode contained duplicate_schema duplicate_table dynamic_result_sets_returned
-syn keyword sqlErrorCode contained error_in_assignment escape_character_conflict
-syn keyword sqlErrorCode contained event_trigger_protocol_violated exclusion_violation external_routine_exception
-syn keyword sqlErrorCode contained external_routine_invocation_exception fdw_column_name_not_found
-syn keyword sqlErrorCode contained fdw_dynamic_parameter_value_needed fdw_error
-syn keyword sqlErrorCode contained fdw_function_sequence_error fdw_inconsistent_descriptor_information
-syn keyword sqlErrorCode contained fdw_invalid_attribute_value fdw_invalid_column_name fdw_invalid_column_number
-syn keyword sqlErrorCode contained fdw_invalid_data_type fdw_invalid_data_type_descriptors
-syn keyword sqlErrorCode contained fdw_invalid_descriptor_field_identifier fdw_invalid_handle
-syn keyword sqlErrorCode contained fdw_invalid_option_index fdw_invalid_option_name
-syn keyword sqlErrorCode contained fdw_invalid_string_format fdw_invalid_string_length_or_buffer_length
-syn keyword sqlErrorCode contained fdw_invalid_use_of_null_pointer fdw_no_schemas fdw_option_name_not_found
-syn keyword sqlErrorCode contained fdw_out_of_memory fdw_reply_handle fdw_schema_not_found
-syn keyword sqlErrorCode contained fdw_table_not_found fdw_too_many_handles
-syn keyword sqlErrorCode contained fdw_unable_to_create_execution fdw_unable_to_create_reply
-syn keyword sqlErrorCode contained fdw_unable_to_establish_connection feature_not_supported floating_point_exception
-syn keyword sqlErrorCode contained foreign_key_violation function_executed_no_return_statement
-syn keyword sqlErrorCode contained generated_always grouping_error
-syn keyword sqlErrorCode contained held_cursor_requires_same_isolation_level idle_in_transaction_session_timeout
-syn keyword sqlErrorCode contained implicit_zero_bit_padding in_failed_sql_transaction
+syn keyword sqlErrorCode contained duplicate_function duplicate_json_object_key_value duplicate_object
+syn keyword sqlErrorCode contained duplicate_prepared_statement duplicate_schema duplicate_table
+syn keyword sqlErrorCode contained dynamic_result_sets_returned error_in_assignment
+syn keyword sqlErrorCode contained escape_character_conflict event_trigger_protocol_violated exclusion_violation
+syn keyword sqlErrorCode contained external_routine_exception external_routine_invocation_exception
+syn keyword sqlErrorCode contained fdw_column_name_not_found fdw_dynamic_parameter_value_needed
+syn keyword sqlErrorCode contained fdw_error fdw_function_sequence_error
+syn keyword sqlErrorCode contained fdw_inconsistent_descriptor_information fdw_invalid_attribute_value
+syn keyword sqlErrorCode contained fdw_invalid_column_name fdw_invalid_column_number fdw_invalid_data_type
+syn keyword sqlErrorCode contained fdw_invalid_data_type_descriptors
+syn keyword sqlErrorCode contained fdw_invalid_descriptor_field_identifier fdw_invalid_handle fdw_invalid_option_index
+syn keyword sqlErrorCode contained fdw_invalid_option_name fdw_invalid_string_format
+syn keyword sqlErrorCode contained fdw_invalid_string_length_or_buffer_length fdw_invalid_use_of_null_pointer
+syn keyword sqlErrorCode contained fdw_no_schemas fdw_option_name_not_found fdw_out_of_memory
+syn keyword sqlErrorCode contained fdw_reply_handle fdw_schema_not_found fdw_table_not_found
+syn keyword sqlErrorCode contained fdw_too_many_handles fdw_unable_to_create_execution
+syn keyword sqlErrorCode contained fdw_unable_to_create_reply fdw_unable_to_establish_connection feature_not_supported
+syn keyword sqlErrorCode contained floating_point_exception foreign_key_violation
+syn keyword sqlErrorCode contained function_executed_no_return_statement generated_always grouping_error
+syn keyword sqlErrorCode contained held_cursor_requires_same_isolation_level
+syn keyword sqlErrorCode contained idle_in_transaction_session_timeout implicit_zero_bit_padding in_failed_sql_transaction
syn keyword sqlErrorCode contained inappropriate_access_mode_for_branch_transaction
-syn keyword sqlErrorCode contained inappropriate_isolation_level_for_branch_transaction indeterminate_collation indeterminate_datatype
-syn keyword sqlErrorCode contained index_corrupted indicator_overflow insufficient_privilege
-syn keyword sqlErrorCode contained insufficient_resources integrity_constraint_violation internal_error
-syn keyword sqlErrorCode contained interval_field_overflow invalid_argument_for_logarithm
-syn keyword sqlErrorCode contained invalid_argument_for_nth_value_function
-syn keyword sqlErrorCode contained invalid_argument_for_ntile_function invalid_argument_for_power_function
-syn keyword sqlErrorCode contained invalid_argument_for_width_bucket_function
-syn keyword sqlErrorCode contained invalid_authorization_specification invalid_binary_representation invalid_catalog_name
-syn keyword sqlErrorCode contained invalid_character_value_for_cast invalid_column_definition
-syn keyword sqlErrorCode contained invalid_column_reference invalid_cursor_definition invalid_cursor_name
-syn keyword sqlErrorCode contained invalid_cursor_state invalid_database_definition
-syn keyword sqlErrorCode contained invalid_datetime_format invalid_escape_character invalid_escape_octet
-syn keyword sqlErrorCode contained invalid_escape_sequence invalid_foreign_key
-syn keyword sqlErrorCode contained invalid_function_definition invalid_grant_operation invalid_grantor
-syn keyword sqlErrorCode contained invalid_indicator_parameter_value invalid_locator_specification invalid_name
-syn keyword sqlErrorCode contained invalid_object_definition invalid_parameter_value
+syn keyword sqlErrorCode contained inappropriate_isolation_level_for_branch_transaction
+syn keyword sqlErrorCode contained indeterminate_collation indeterminate_datatype index_corrupted indicator_overflow
+syn keyword sqlErrorCode contained insufficient_privilege insufficient_resources
+syn keyword sqlErrorCode contained integrity_constraint_violation internal_error interval_field_overflow
+syn keyword sqlErrorCode contained invalid_argument_for_logarithm
+syn keyword sqlErrorCode contained invalid_argument_for_nth_value_function invalid_argument_for_ntile_function
+syn keyword sqlErrorCode contained invalid_argument_for_power_function invalid_argument_for_width_bucket_function
+syn keyword sqlErrorCode contained invalid_authorization_specification
+syn keyword sqlErrorCode contained invalid_binary_representation invalid_catalog_name invalid_character_value_for_cast
+syn keyword sqlErrorCode contained invalid_column_definition invalid_column_reference
+syn keyword sqlErrorCode contained invalid_cursor_definition invalid_cursor_name invalid_cursor_state
+syn keyword sqlErrorCode contained invalid_database_definition invalid_datetime_format
+syn keyword sqlErrorCode contained invalid_escape_character invalid_escape_octet invalid_escape_sequence
+syn keyword sqlErrorCode contained invalid_foreign_key invalid_function_definition invalid_grant_operation
+syn keyword sqlErrorCode contained invalid_grantor invalid_indicator_parameter_value
+syn keyword sqlErrorCode contained invalid_json_subscript invalid_json_text invalid_locator_specification
+syn keyword sqlErrorCode contained invalid_name invalid_object_definition invalid_parameter_value
syn keyword sqlErrorCode contained invalid_password invalid_preceding_or_following_size
-syn keyword sqlErrorCode contained invalid_prepared_statement_definition invalid_recursion invalid_regular_expression
-syn keyword sqlErrorCode contained invalid_role_specification invalid_row_count_in_limit_clause
-syn keyword sqlErrorCode contained invalid_row_count_in_result_offset_clause
-syn keyword sqlErrorCode contained invalid_savepoint_specification invalid_schema_definition invalid_schema_name
-syn keyword sqlErrorCode contained invalid_sql_statement_name invalid_sqlstate_returned
-syn keyword sqlErrorCode contained invalid_table_definition invalid_tablesample_argument
+syn keyword sqlErrorCode contained invalid_prepared_statement_definition invalid_recursion
+syn keyword sqlErrorCode contained invalid_regular_expression invalid_role_specification
+syn keyword sqlErrorCode contained invalid_row_count_in_limit_clause invalid_row_count_in_result_offset_clause
+syn keyword sqlErrorCode contained invalid_savepoint_specification invalid_schema_definition
+syn keyword sqlErrorCode contained invalid_schema_name invalid_sql_statement_name
+syn keyword sqlErrorCode contained invalid_sqlstate_returned invalid_table_definition invalid_tablesample_argument
syn keyword sqlErrorCode contained invalid_tablesample_repeat invalid_text_representation
syn keyword sqlErrorCode contained invalid_time_zone_displacement_value invalid_transaction_initiation
syn keyword sqlErrorCode contained invalid_transaction_state invalid_transaction_termination
-syn keyword sqlErrorCode contained invalid_use_of_escape_character invalid_xml_comment invalid_xml_content
-syn keyword sqlErrorCode contained invalid_xml_document invalid_xml_processing_instruction io_error
-syn keyword sqlErrorCode contained locator_exception lock_file_exists lock_not_available
-syn keyword sqlErrorCode contained modifying_sql_data_not_permitted most_specific_type_mismatch name_too_long
+syn keyword sqlErrorCode contained invalid_use_of_escape_character invalid_xml_comment
+syn keyword sqlErrorCode contained invalid_xml_content invalid_xml_document invalid_xml_processing_instruction
+syn keyword sqlErrorCode contained io_error json_array_not_found json_member_not_found
+syn keyword sqlErrorCode contained json_number_not_found json_scalar_required locator_exception
+syn keyword sqlErrorCode contained lock_file_exists lock_not_available modifying_sql_data_not_permitted
+syn keyword sqlErrorCode contained more_than_one_json_item most_specific_type_mismatch name_too_long
syn keyword sqlErrorCode contained no_active_sql_transaction
syn keyword sqlErrorCode contained no_active_sql_transaction_for_branch_transaction no_additional_dynamic_result_sets_returned
-syn keyword sqlErrorCode contained no_data no_data_found nonstandard_use_of_escape_character
+syn keyword sqlErrorCode contained no_data no_data_found no_json_item non_numeric_json_item
+syn keyword sqlErrorCode contained non_unique_keys_in_json_object nonstandard_use_of_escape_character
syn keyword sqlErrorCode contained not_an_xml_document not_null_violation
syn keyword sqlErrorCode contained null_value_eliminated_in_set_function null_value_no_indicator_parameter
syn keyword sqlErrorCode contained null_value_not_allowed numeric_value_out_of_range object_in_use
-syn keyword sqlErrorCode contained object_not_in_prerequisite_state operator_intervention out_of_memory
-syn keyword sqlErrorCode contained plpgsql_error privilege_not_granted privilege_not_revoked
-syn keyword sqlErrorCode contained program_limit_exceeded prohibited_sql_statement_attempted
-syn keyword sqlErrorCode contained protocol_violation query_canceled raise_exception read_only_sql_transaction
-syn keyword sqlErrorCode contained reading_sql_data_not_permitted reserved_name restrict_violation
-syn keyword sqlErrorCode contained savepoint_exception
-syn keyword sqlErrorCode contained schema_and_data_statement_mixing_not_supported sequence_generator_limit_exceeded serialization_failure
-syn keyword sqlErrorCode contained snapshot_too_old sql_routine_exception
-syn keyword sqlErrorCode contained sql_statement_not_yet_complete sqlclient_unable_to_establish_sqlconnection
-syn keyword sqlErrorCode contained sqlserver_rejected_establishment_of_sqlconnection
-syn keyword sqlErrorCode contained srf_protocol_violated stacked_diagnostics_accessed_without_active_handler
-syn keyword sqlErrorCode contained statement_completion_unknown statement_too_complex
-syn keyword sqlErrorCode contained string_data_length_mismatch string_data_right_truncation substring_error
-syn keyword sqlErrorCode contained successful_completion syntax_error
-syn keyword sqlErrorCode contained syntax_error_or_access_rule_violation system_error too_many_arguments too_many_columns
-syn keyword sqlErrorCode contained too_many_connections too_many_rows
-syn keyword sqlErrorCode contained transaction_integrity_constraint_violation transaction_resolution_unknown transaction_rollback
+syn keyword sqlErrorCode contained object_not_found object_not_in_prerequisite_state operator_intervention
+syn keyword sqlErrorCode contained out_of_memory plpgsql_error privilege_not_granted
+syn keyword sqlErrorCode contained privilege_not_revoked program_limit_exceeded
+syn keyword sqlErrorCode contained prohibited_sql_statement_attempted protocol_violation query_canceled raise_exception
+syn keyword sqlErrorCode contained read_only_sql_transaction reading_sql_data_not_permitted reserved_name
+syn keyword sqlErrorCode contained restrict_violation savepoint_exception
+syn keyword sqlErrorCode contained schema_and_data_statement_mixing_not_supported sequence_generator_limit_exceeded
+syn keyword sqlErrorCode contained serialization_failure singleton_json_item_required
+syn keyword sqlErrorCode contained snapshot_too_old sql_routine_exception sql_statement_not_yet_complete
+syn keyword sqlErrorCode contained sqlclient_unable_to_establish_sqlconnection
+syn keyword sqlErrorCode contained sqlserver_rejected_establishment_of_sqlconnection srf_protocol_violated
+syn keyword sqlErrorCode contained stacked_diagnostics_accessed_without_active_handler
+syn keyword sqlErrorCode contained statement_completion_unknown statement_too_complex string_data_length_mismatch
+syn keyword sqlErrorCode contained string_data_right_truncation substring_error
+syn keyword sqlErrorCode contained successful_completion syntax_error syntax_error_or_access_rule_violation
+syn keyword sqlErrorCode contained system_error too_many_arguments too_many_columns too_many_connections
+syn keyword sqlErrorCode contained too_many_json_array_elements too_many_json_object_members
+syn keyword sqlErrorCode contained too_many_rows transaction_integrity_constraint_violation
+syn keyword sqlErrorCode contained transaction_resolution_unknown transaction_rollback
syn keyword sqlErrorCode contained trigger_protocol_violated triggered_action_exception
-syn keyword sqlErrorCode contained triggered_data_change_violation trim_error undefined_column
-syn keyword sqlErrorCode contained undefined_file undefined_function undefined_object undefined_parameter
-syn keyword sqlErrorCode contained undefined_table unique_violation unsafe_new_enum_value_usage
-syn keyword sqlErrorCode contained unterminated_c_string untranslatable_character warning
-syn keyword sqlErrorCode contained windowing_error with_check_option_violation wrong_object_type
+syn keyword sqlErrorCode contained triggered_data_change_violation trim_error undefined_column undefined_file
+syn keyword sqlErrorCode contained undefined_function undefined_object undefined_parameter undefined_table
+syn keyword sqlErrorCode contained unique_violation unsafe_new_enum_value_usage
+syn keyword sqlErrorCode contained unterminated_c_string untranslatable_character warning windowing_error
+syn keyword sqlErrorCode contained with_check_option_violation wrong_object_type
syn keyword sqlErrorCode contained zero_length_character_string
" Legacy keywords
@@ -1850,14 +1867,31 @@ syn match sqlOperator contained "\%(<->>>\|<<->>\|<<<->\|!\~\~\*\|\#<=\#\|\#>=\#
syn match sqlOperator contained "\%(!\~\~\|\#<\#\|\#<=\|\#<>\|\#>\#\|\#>=\|\#>>\|%>>\|&&&\|&/&\|&<|\|\*<=\|\*<>\|\*>=\|->>\|-|-\|<\#>\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
syn match sqlOperator contained "\%(<->\|<<%\|<<=\|<<@\|<<|\|<=>\|<?>\|<@>\|>>=\|?-|\|?<@\|?@>\|?||\|@-@\|@>>\|@@@\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
syn match sqlOperator contained "\%(\^<@\|\^@>\||&>\||=|\||>>\|||/\|\~<\~\|\~==\|\~>\~\|\~\~\*\|!!\|!\~\|\#\#\|\#-\|\#<\|\#=\|\#>\|%\#\|%%\|%>\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
-syn match sqlOperator contained "\%(&&\|&<\|&>\|\*<\|\*=\|\*>\|->\|<%\|<<\|<=\|<>\|<@\|<\^\|>=\|>>\|>\^\|?\#\|?&\|?-\|?@\|?|\|?\~\|@>\|@@\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
-syn match sqlOperator contained "\%(\^?\|\^@\|\^\~\||/\|||\|\~\*\|\~=\|\~>\|\~\~\|!\|\#\|%\|&\|\*\|+\|-\|/\|<\|=\|>\|?\|@\|\^\||\|\~\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
+syn match sqlOperator contained "\%(&&\|&<\|&>\|\*<\|\*=\|\*>\|->\|<%\|<<\|<=\|<>\|<@\|<\^\|=>\|>=\|>>\|>\^\|?\#\|?&\|?-\|?@\|?|\|?\~\|@>\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
+syn match sqlOperator contained "\%(@@\|\^?\|\^@\|\^\~\||/\|||\|\~\*\|\~=\|\~>\|\~\~\|!\|\#\|%\|&\|\*\|+\|-\|/\|<\|=\|>\|?\|@\|\^\||\|\~\)\ze\%([^!?~#^@<=>%&|*/+-]\|$\)"
" Comments
syn region sqlComment start="/\*" end="\*/" contains=sqlTodo,@Spell
syn match sqlComment "#\s.*$" contains=sqlTodo,@Spell
syn match sqlComment "--.*$" contains=sqlTodo,@Spell
+" CREATE TYPE statement
+syn region sqlCreateType start=+create\s\+type.*(+ end=+)+
+ \ contains=sqlIsKeyword,sqlCreateTypeKeyword,sqlIsOperator,sqlString,sqlComment,sqlNumber,sqlTodo
+syn keyword sqlCreateTypeKeyword contained input output receive send typmod_in typmod_out analyze internallength passedbyvalue
+syn keyword sqlCreateTypeKeyword contained alignment storage like category preferred default element delimiter collatable
+syn keyword sqlCreateTypeKeyword contained collate subtype subtype_opclass canonical subtype_diff
+
+" CREATE OPERATOR [CLASS] statements
+syn region sqlCreateOperator start=+create\s\+operator.*(+ end=+)+
+ \ contains=sqlIsKeyword,sqlCreateOperatorKeyword,sqlIsOperator,sqlString,sqlComment,sqlNumber,sqlTodo
+syn keyword sqlCreateOperatorKeyword contained function procedure leftarg rightarg commutator negator restrict join hashes merges
+
+" CREATE TEXT SEARCH statements
+syn region sqlCreateTextSearch start=+create\s\+text\s\+search.*(+ end=+)+
+ \ contains=sqlIsKeyword,sqlCreateTextSearchKeyword,sqlIsOperator,sqlString,sqlComment,sqlNumber,sqlTodo
+syn keyword sqlCreateTextSearchKeyword contained text parser copy template start gettoken end lextypes headline init lexize
+
" Options
syn keyword sqlOption contained client_min_messages search_path
@@ -1908,13 +1942,18 @@ syn match sqlPlpgsqlVariable "\<_[A-Za-z0-9][A-Za-z0-9_]*\>" contained
syn match sqlPlpgsqlVariable "\$\d\+" contained
" @ arguments
syn match sqlPlpgsqlVariable ".\zs@[A-z0-9_]\+" contained
+" PL/pgSQL operators
+syn match sqlPlpgsqlOperator ":=" contained
-syn region plpgsql matchgroup=sqlString start=+\$pgsql\$+ end=+\$pgsql\$+ keepend contains=ALL
-syn region plpgsql matchgroup=sqlString start=+\$body\$+ end=+\$body\$+ keepend contains=ALL
+syn region plpgsql matchgroup=sqlString start=+\$pgsql\$+ end=+\$pgsql\$+ keepend
+ \ contains=sqlIsKeyword,sqlIsFunction,sqlComment,sqlPlpgsqlKeyword,sqlPlpgsqlVariable,sqlPlpgsqlOperator,sqlNumber,sqlIsOperator,sqlString,sqlTodo
+syn region plpgsql matchgroup=sqlString start=+\$body\$+ end=+\$body\$+ keepend
+ \ contains=sqlIsKeyword,sqlIsFunction,sqlComment,sqlPlpgsqlKeyword,sqlPlpgsqlVariable,sqlPlpgsqlOperator,sqlNumber,sqlIsOperator,sqlString,sqlTodo
if get(g:, 'pgsql_dollar_strings', 0)
syn region sqlString start=+\$\$+ end=+\$\$+ contains=@Spell
else
- syn region plpgsql matchgroup=sqlString start=+\$\$+ end=+\$\$+ keepend contains=ALL
+ syn region plpgsql matchgroup=sqlString start=+\$\$+ end=+\$\$+ keepend
+ \ contains=sqlIsKeyword,sqlIsFunction,sqlComment,sqlPlpgsqlKeyword,sqlPlpgsqlVariable,sqlPlpgsqlOperator,sqlNumber,sqlIsOperator,sqlString,sqlTodo
endif
" PL/<any other language>
@@ -1938,6 +1977,7 @@ hi def link sqlIdentifier Identifier
hi def link sqlKeyword sqlSpecial
hi def link sqlPlpgsqlKeyword sqlSpecial
hi def link sqlPlpgsqlVariable Identifier
+hi def link sqlPlpgsqlOperator sqlOperator
hi def link sqlNumber Number
hi def link sqlOperator sqlStatement
hi def link sqlOption Define
@@ -1950,6 +1990,9 @@ hi def link sqlView sqlTable
hi def link sqlTodo Todo
hi def link sqlPsqlCommand SpecialKey
hi def link sqlPsqlKeyword Keyword
+hi def link sqlCreateTypeKeyword sqlKeyword
+hi def link sqlCreateOperatorKeyword sqlKeyword
+hi def link sqlCreateTextSearchKeyword sqlKeyword
let b:current_syntax = "sql"
diff --git a/syntax/plantuml.vim b/syntax/plantuml.vim
index d2ba5c3e..0ea30e98 100644
--- a/syntax/plantuml.vim
+++ b/syntax/plantuml.vim
@@ -22,25 +22,30 @@ let b:current_syntax = 'plantuml'
syntax sync minlines=100
-syntax match plantumlPreProc /\%(^@startuml\|^@enduml\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\)\s*.*/ contains=plantumlDir
+syntax match plantumlPreProc /\%(\%(^@start\|^@end\)\%(dot\|mindmap\|uml\|salt\|wbs\)\)\|!\%(define\|definelong\|else\|enddefinelong\|endif\|exit\|if\|ifdef\|ifndef\|include\|pragma\|undef\)\s*.*/ contains=plantumlDir
syntax region plantumlDir start=/\s\+/ms=s+1 end=/$/ contained
+" type
syntax keyword plantumlTypeKeyword abstract actor agent archimate artifact boundary card cloud component control
-syntax keyword plantumlTypeKeyword database entity enum file folder frame node object package participant
+syntax keyword plantumlTypeKeyword database diamond entity enum file folder frame node object package participant
syntax keyword plantumlTypeKeyword queue rectangle stack state storage usecase
-
+" class and interface are defined as plantumlClassKeyword
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 endsplit endwhile footbox
-syntax keyword plantumlKeyword footer fork group header hide hnote if is kill left legend link loop namespace
-syntax keyword plantumlKeyword newpage note of on opt over package page par partition ref repeat return right
-syntax keyword plantumlKeyword rnote rotate show skin skinparam split start stop title top up while
+" keyword
+" Exclude 'top to bottom direction'
+syntax keyword plantumlKeyword accross activate again allow_mixing allowmixing also alt as autonumber bottom
+syntax keyword plantumlKeyword box break caption center create critical deactivate destroy down else elseif end
+syntax keyword plantumlKeyword endif endwhile footbox footer fork group header hide hnote if is kill left
+syntax keyword plantumlKeyword legend link loop mainframe namespace newpage note of on opt order over package
+syntax keyword plantumlKeyword page par partition ref repeat return right rnote rotate show skin skinparam
+syntax keyword plantumlKeyword start stop title top up while
" Not in 'java - jar plantuml.jar - language' output
-syntax keyword plantumlKeyword then detach sprite
+syntax keyword plantumlKeyword then detach split sprite
syntax keyword plantumlCommentTODO XXX TODO FIXME NOTE contained
syntax match plantumlColor /#[0-9A-Fa-f]\{6\}\>/
+syntax case ignore
syntax keyword plantumlColor APPLICATION AliceBlue AntiqueWhite Aqua Aquamarine Azure BUSINESS Beige Bisque
syntax keyword plantumlColor Black BlanchedAlmond Blue BlueViolet Brown BurlyWood CadetBlue Chartreuse
syntax keyword plantumlColor Chocolate Coral CornflowerBlue Cornsilk Crimson Cyan DarkBlue DarkCyan
@@ -62,6 +67,7 @@ syntax keyword plantumlColor RosyBrown RoyalBlue STRATEGY SaddleBrown Salmon San
syntax keyword plantumlColor Sienna Silver SkyBlue SlateBlue SlateGray SlateGrey Snow SpringGreen SteelBlue
syntax keyword plantumlColor TECHNOLOGY Tan Teal Thistle Tomato Turquoise Violet Wheat White WhiteSmoke
syntax keyword plantumlColor Yellow YellowGreen
+syntax case match
" Arrows
syntax match plantumlArrow /.\@=\([.-]\)\1\+\ze\s*\%(\w\|(\)/
@@ -69,7 +75,7 @@ syntax match plantumlArrow /.\@=\([.-]\)\1\+\ze\s*\%(\w\|(\)/
syntax match plantumlClassRelationLR /\([-.]\)\1*\%(\w\{,5\}\1\+\)\?\%(|>\|>\|*\|o\|x\|#\|{\|+\|\^\)/ contains=plantumlArrowDirectedLine
syntax match plantumlClassRelationRL /\%(<|\|<\|*\|o\|x\|#\|}\|+\|\^\)\([-.]\)\1*\%(\w\{,5\}\1\+\)\?/ contains=plantumlArrowDirectedLine
-syntax match plantumlArrowLR /\[\?\([-.]\)\1*\%(\w\{,5}\1\+\)\?\(>\|\\\|\/\)\2\?[ox]\?\]\?\%(\[[^\]]*\]\)\?/ contains=plantumlText,plantumlArrowDirectedLine
+syntax match plantumlArrowLR /\[\?\([-.]\)\1*\%(\w\{,5}\1\+\)\?\%(\[[^\]]\+\]\)\?\1*\(>\|\\\|\/\)\2\?[ox]\?\]\?\%(\[[^\]]*\]\)\?/ contains=plantumlText,plantumlArrowDirectedLine
syntax match plantumlArrowRL /\[\?[ox]\?\(<\|\\\|\/\)\1\?\([-.]\)\2*\%(\w\{,5}\2\+\)\?\]\?\%(\[[^\]]*\]\)\?/ contains=plantumlText,plantumlArrowDirectedLine
syntax match plantumlArrowBoth /[ox]\?\(<\|\\\|\/\)\1\?\([-.]\)\2*\%(\w\{,5}\2\+\)\?\(>\|\\\|\/\)\3\?[ox]\?/ contains=plantumlArrowDirectedLine
syntax region plantumlText oneline start=/\[/ms=s+1 end=/\]/me=s-1 contained
@@ -77,15 +83,18 @@ syntax region plantumlText oneline start=/\[/ms=s+1 end=/\]/me=s-1 contained
syntax match plantumlArrowDirectedLine /\([-.]\)\%(l\%[eft]\|r\%[ight]\|up\?\|d\%[own]\)\1/ contained
" Note
-syntax region plantumlNoteMultiLine start=/\%(^\s*[rh]\?note\)\@<=\s\%([^:"]\+$\)\@=/ end=/^\%(\s*end \?[rh]\?note$\)\@=/ contains=plantumlSpecialString,plantumlNoteMultiLineStart
-syntax match plantumlNoteMultiLineStart /\%(^\s*[rh]\?note\)\@<=\s\%([^:]\+$\)/ contained contains=plantumlKeyword,plantumlColor,plantumlString
+syntax region plantumlNoteMultiLine start=/\%(^\s*[rh]\?note\)\@<=\s\%([^:"]\+$\)\@=/ end=/^\%(\s*end \?[rh]\?note$\)\@=/ contains=plantumlSpecialString,plantumlNoteMultiLineStart,plantumlTag
+syntax match plantumlNoteMultiLineStart /\%(^\s*[rh]\?note\)\@<=\s\%([^:]\+$\)/ contained contains=plantumlKeyword,plantumlColor,plantumlString,plantumlTag
" Class
-syntax region plantumlClass start=/\%(\%(class\|interface\|object\)\s[^{]\+\)\@<=\zs{/ end=/^\s*}/ contains=plantumlClassArrows,
-\ plantumlClassKeyword,
-\ @plantumlClassOp,
-\ plantumlClassSeparator,
-\ plantumlComment
+syntax region plantumlClass
+ \ start=/\%(\%(class\|interface\|object\)\s[^{]\+\)\@<=\zs{/
+ \ end=/^\s*}/
+ \ contains=plantumlClassArrows,
+ \ plantumlClassKeyword,
+ \ @plantumlClassOp,
+ \ plantumlClassSeparator,
+ \ plantumlComment
syntax match plantumlClassPublic /^\s*+\s*\w\+/ contained
syntax match plantumlClassPrivate /^\s*-\s*\w\+/ contained
@@ -94,9 +103,9 @@ syntax match plantumlClassPackPrivate /^\s*\~\s*\w\+/ contained
syntax match plantumlClassSeparator /__\%(.\+__\)\?\|==\%(.\+==\)\?\|--\%(.\+--\)\?\|\.\.\%(.\+\.\.\)\?/ contained
syntax cluster plantumlClassOp contains=plantumlClassPublic,
-\ plantumlClassPrivate,
-\ plantumlClassProtected,
-\ plantumlClassPackPrivate
+ \ plantumlClassPrivate,
+ \ plantumlClassProtected,
+ \ plantumlClassPackPrivate
" Strings
syntax match plantumlSpecialString /\\n/ contained
@@ -105,6 +114,9 @@ syntax region plantumlString start=/'/ skip=/\\\\\|\\'/ end=/'/ contains=plantum
syntax match plantumlComment /'.*$/ contains=plantumlCommentTODO
syntax region plantumlMultilineComment start=/\/'/ end=/'\// contains=plantumlCommentTODO
+syntax match plantumlTag /<\/\?[bi]>/
+syntax region plantumlTag start=/<\/\?\%(back\|color\|del\|font\|img\|s\|size\|strike\|u\|w\)/ end=/>/
+
" Labels with a colon
syntax match plantumlColonLine /\S\@<=\s*\zs:.\+$/ contains=plantumlSpecialString
@@ -126,6 +138,26 @@ syntax region plantumlText oneline matchgroup=plantumlSequenceDelay start=/^\.\{
" Usecase diagram
syntax match plantumlUsecaseActor /:.\{-1,}:/ contains=plantumlSpecialString
+" Mindmap diagram
+let s:mindmapHilightLinks = [
+ \ 'WarningMsg', 'Directory', 'Special', 'MoreMsg', 'Statement', 'Title',
+ \ 'Question', 'LineNr', 'ModeMsg', 'Title', 'MoreMsg', 'SignColumn',
+ \ 'Function', 'Todo'
+ \ ]
+
+syntax match plantumlMindmap1 /^[-+*][_<>]\?/ contained
+
+let i = 1
+let contained = []
+while i < len(s:mindmapHilightLinks)
+ execute "syntax match plantumlMindmap" . i . " /^\\%(\\s\\|[-+*]\\)\\{" . (i - 1) . "}[-+*][_<>]\\?/ contained"
+ execute "highlight default link plantumlMindmap" . i . " " . s:mindmapHilightLinks[i - 1]
+ call add(contained, "plantumlMindmap" . i)
+ let i = i + 1
+endwhile
+
+execute "syntax region plantumlMindmap oneline start=/^\\s*[-+*]_\\?/ end=/$/ contains=" . join(contained, ',')
+
" Skinparam keywords
syntax case ignore
syntax keyword plantumlSkinparamKeyword ActivityBackgroundColor ActivityBarColor ActivityBorderColor
@@ -136,85 +168,116 @@ syntax keyword plantumlSkinparamKeyword ActivityFontColor ActivityFontName Activ
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 AgentBackgroundColor AgentBorderColor AgentBorderThickness AgentFontColor
+syntax keyword plantumlSkinparamKeyword AgentFontName AgentFontSize AgentFontStyle AgentStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword AgentStereotypeFontName AgentStereotypeFontSize AgentStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword ArchimateBackgroundColor ArchimateBorderColor ArchimateBorderThickness
+syntax keyword plantumlSkinparamKeyword ArchimateFontColor ArchimateFontName ArchimateFontSize ArchimateFontStyle
+syntax keyword plantumlSkinparamKeyword ArchimateStereotypeFontColor ArchimateStereotypeFontName
+syntax keyword plantumlSkinparamKeyword ArchimateStereotypeFontSize ArchimateStereotypeFontStyle ArrowColor
+syntax keyword plantumlSkinparamKeyword ArrowFontColor ArrowFontName ArrowFontSize ArrowFontStyle ArrowLollipopColor
+syntax keyword plantumlSkinparamKeyword ArrowMessageAlignment ArrowThickness ArtifactBackgroundColor ArtifactBorderColor
+syntax keyword plantumlSkinparamKeyword ArtifactFontColor ArtifactFontName ArtifactFontSize ArtifactFontStyle
+syntax keyword plantumlSkinparamKeyword 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 BiddableBackgroundColor BiddableBorderColor BoundaryBackgroundColor
+syntax keyword plantumlSkinparamKeyword BoundaryBorderColor BoundaryFontColor BoundaryFontName BoundaryFontSize
+syntax keyword plantumlSkinparamKeyword BoundaryFontStyle BoundaryStereotypeFontColor BoundaryStereotypeFontName
+syntax keyword plantumlSkinparamKeyword BoundaryStereotypeFontSize BoundaryStereotypeFontStyle BoxPadding
+syntax keyword plantumlSkinparamKeyword CaptionFontColor CaptionFontName CaptionFontSize CaptionFontStyle
+syntax keyword plantumlSkinparamKeyword CardBackgroundColor CardBorderColor CardBorderThickness CardFontColor
+syntax keyword plantumlSkinparamKeyword CardFontName CardFontSize CardFontStyle CardStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword CardStereotypeFontName CardStereotypeFontSize CardStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword CircledCharacterFontColor CircledCharacterFontName CircledCharacterFontSize
+syntax keyword plantumlSkinparamKeyword CircledCharacterFontStyle CircledCharacterRadius ClassAttributeFontColor
+syntax keyword plantumlSkinparamKeyword ClassAttributeFontName ClassAttributeFontSize ClassAttributeFontStyle
+syntax keyword plantumlSkinparamKeyword ClassAttributeIconSize ClassBackgroundColor ClassBorderColor
+syntax keyword plantumlSkinparamKeyword ClassBorderThickness ClassFontColor ClassFontName ClassFontSize ClassFontStyle
+syntax keyword plantumlSkinparamKeyword ClassHeaderBackgroundColor ClassStereotypeFontColor ClassStereotypeFontName
+syntax keyword plantumlSkinparamKeyword ClassStereotypeFontSize ClassStereotypeFontStyle CloudBackgroundColor
+syntax keyword plantumlSkinparamKeyword CloudBorderColor CloudFontColor CloudFontName CloudFontSize CloudFontStyle
+syntax keyword plantumlSkinparamKeyword CloudStereotypeFontColor CloudStereotypeFontName CloudStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword CloudStereotypeFontStyle CollectionsBackgroundColor CollectionsBorderColor
+syntax keyword plantumlSkinparamKeyword ColorArrowSeparationSpace ComponentBackgroundColor ComponentBorderColor
+syntax keyword plantumlSkinparamKeyword ComponentBorderThickness 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 ConditionEndStyle ConditionStyle ControlBackgroundColor ControlBorderColor
+syntax keyword plantumlSkinparamKeyword ControlFontColor ControlFontName ControlFontSize ControlFontStyle
+syntax keyword plantumlSkinparamKeyword ControlStereotypeFontColor ControlStereotypeFontName ControlStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword ControlStereotypeFontStyle DatabaseBackgroundColor DatabaseBorderColor
+syntax keyword plantumlSkinparamKeyword DatabaseFontColor DatabaseFontName DatabaseFontSize DatabaseFontStyle
+syntax keyword plantumlSkinparamKeyword DatabaseStereotypeFontColor DatabaseStereotypeFontName
+syntax keyword plantumlSkinparamKeyword DatabaseStereotypeFontSize DatabaseStereotypeFontStyle DefaultFontColor
+syntax keyword plantumlSkinparamKeyword DefaultFontName DefaultFontSize DefaultFontStyle DefaultMonospacedFontName
+syntax keyword plantumlSkinparamKeyword DefaultTextAlignment DesignedBackgroundColor DesignedBorderColor
+syntax keyword plantumlSkinparamKeyword DesignedDomainBorderThickness DesignedDomainFontColor DesignedDomainFontName
+syntax keyword plantumlSkinparamKeyword DesignedDomainFontSize DesignedDomainFontStyle DesignedDomainStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword DesignedDomainStereotypeFontName DesignedDomainStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword DesignedDomainStereotypeFontStyle DiagramBorderColor DiagramBorderThickness
+syntax keyword plantumlSkinparamKeyword DomainBackgroundColor DomainBorderColor DomainBorderThickness DomainFontColor
+syntax keyword plantumlSkinparamKeyword DomainFontName DomainFontSize DomainFontStyle DomainStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword DomainStereotypeFontName DomainStereotypeFontSize DomainStereotypeFontStyle Dpi
+syntax keyword plantumlSkinparamKeyword EntityBackgroundColor EntityBorderColor EntityFontColor EntityFontName
+syntax keyword plantumlSkinparamKeyword EntityFontSize EntityFontStyle EntityStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword EntityStereotypeFontName EntityStereotypeFontSize EntityStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword EnumBackgroundColor 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 FixCircleLabelOverlapping FolderBackgroundColor FolderBorderColor
+syntax keyword plantumlSkinparamKeyword FolderFontColor FolderFontName FolderFontSize FolderFontStyle
+syntax keyword plantumlSkinparamKeyword FolderStereotypeFontColor FolderStereotypeFontName FolderStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword FolderStereotypeFontStyle FooterFontColor FooterFontName FooterFontSize
+syntax keyword plantumlSkinparamKeyword FooterFontStyle FrameBackgroundColor FrameBorderColor FrameFontColor
+syntax keyword plantumlSkinparamKeyword FrameFontName FrameFontSize FrameFontStyle FrameStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword FrameStereotypeFontName FrameStereotypeFontSize FrameStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword GenericDisplay Guillemet Handwritten HeaderFontColor HeaderFontName
+syntax keyword plantumlSkinparamKeyword HeaderFontSize HeaderFontStyle HyperlinkColor HyperlinkUnderline
+syntax keyword plantumlSkinparamKeyword IconIEMandatoryColor IconPackageBackgroundColor IconPackageColor
+syntax keyword plantumlSkinparamKeyword IconPrivateBackgroundColor IconPrivateColor IconProtectedBackgroundColor
+syntax keyword plantumlSkinparamKeyword IconProtectedColor IconPublicBackgroundColor IconPublicColor
+syntax keyword plantumlSkinparamKeyword 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 LegendFontSize LegendFontStyle LexicalBackgroundColor LexicalBorderColor
+syntax keyword plantumlSkinparamKeyword LifelineStrategy Linetype MachineBackgroundColor MachineBorderColor
+syntax keyword plantumlSkinparamKeyword MachineBorderThickness MachineFontColor MachineFontName MachineFontSize
+syntax keyword plantumlSkinparamKeyword MachineFontStyle MachineStereotypeFontColor MachineStereotypeFontName
+syntax keyword plantumlSkinparamKeyword MachineStereotypeFontSize MachineStereotypeFontStyle MaxAsciiMessageLength
+syntax keyword plantumlSkinparamKeyword MaxMessageSize MinClassWidth Monochrome NodeBackgroundColor NodeBorderColor
+syntax keyword plantumlSkinparamKeyword NodeFontColor 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 NoteFontName NoteFontSize NoteFontStyle NoteShadowing NoteTextAlignment
+syntax keyword plantumlSkinparamKeyword ObjectAttributeFontColor ObjectAttributeFontName ObjectAttributeFontSize
+syntax keyword plantumlSkinparamKeyword ObjectAttributeFontStyle ObjectBackgroundColor ObjectBorderColor
+syntax keyword plantumlSkinparamKeyword ObjectBorderThickness ObjectFontColor ObjectFontName ObjectFontSize
+syntax keyword plantumlSkinparamKeyword ObjectFontStyle ObjectStereotypeFontColor ObjectStereotypeFontName
+syntax keyword plantumlSkinparamKeyword ObjectStereotypeFontSize ObjectStereotypeFontStyle PackageBackgroundColor
+syntax keyword plantumlSkinparamKeyword PackageBorderColor PackageBorderThickness PackageFontColor PackageFontName
+syntax keyword plantumlSkinparamKeyword PackageFontSize PackageFontStyle PackageStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword PackageStereotypeFontName PackageStereotypeFontSize PackageStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword PackageStyle PackageTitleAlignment Padding PageBorderColor PageExternalColor
+syntax keyword plantumlSkinparamKeyword PageMargin ParticipantBackgroundColor ParticipantBorderColor
+syntax keyword plantumlSkinparamKeyword ParticipantFontColor ParticipantFontName ParticipantFontSize
+syntax keyword plantumlSkinparamKeyword ParticipantFontStyle ParticipantPadding ParticipantStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword ParticipantStereotypeFontName ParticipantStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword ParticipantStereotypeFontStyle PartitionBackgroundColor PartitionBorderColor
+syntax keyword plantumlSkinparamKeyword PartitionBorderThickness PartitionFontColor PartitionFontName PartitionFontSize
+syntax keyword plantumlSkinparamKeyword PartitionFontStyle PathHoverColor QueueBackgroundColor QueueBorderColor
+syntax keyword plantumlSkinparamKeyword 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 RectangleStereotypeFontSize RectangleStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword RequirementBackgroundColor RequirementBorderColor RequirementBorderThickness
+syntax keyword plantumlSkinparamKeyword RequirementFontColor RequirementFontName RequirementFontSize
+syntax keyword plantumlSkinparamKeyword RequirementFontStyle RequirementStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword RequirementStereotypeFontName RequirementStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword RequirementStereotypeFontStyle ResponseMessageBelowArrow RoundCorner
syntax keyword plantumlSkinparamKeyword SameClassWidth SequenceActorBorderThickness SequenceArrowThickness
syntax keyword plantumlSkinparamKeyword SequenceBoxBackgroundColor SequenceBoxBorderColor SequenceBoxFontColor
syntax keyword plantumlSkinparamKeyword SequenceBoxFontName SequenceBoxFontSize SequenceBoxFontStyle
@@ -228,35 +291,41 @@ syntax keyword plantumlSkinparamKeyword SequenceGroupFontSize SequenceGroupFontS
syntax keyword plantumlSkinparamKeyword SequenceGroupHeaderFontName SequenceGroupHeaderFontSize
syntax keyword plantumlSkinparamKeyword SequenceGroupHeaderFontStyle SequenceLifeLineBackgroundColor
syntax keyword plantumlSkinparamKeyword SequenceLifeLineBorderColor SequenceLifeLineBorderThickness
+syntax keyword plantumlSkinparamKeyword SequenceMessageAlignment SequenceMessageTextAlignment
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 SequenceParticipantBorderThickness SequenceReferenceAlignment
+syntax keyword plantumlSkinparamKeyword SequenceReferenceBackgroundColor SequenceReferenceBorderColor
+syntax keyword plantumlSkinparamKeyword SequenceReferenceBorderThickness SequenceReferenceFontColor
+syntax keyword plantumlSkinparamKeyword SequenceReferenceFontName SequenceReferenceFontSize SequenceReferenceFontStyle
+syntax keyword plantumlSkinparamKeyword SequenceReferenceHeaderBackgroundColor SequenceStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword SequenceStereotypeFontName SequenceStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword SequenceStereotypeFontStyle SequenceTitleFontColor SequenceTitleFontName
+syntax keyword plantumlSkinparamKeyword SequenceTitleFontSize SequenceTitleFontStyle Shadowing StackBackgroundColor
+syntax keyword plantumlSkinparamKeyword StackBorderColor StackFontColor StackFontName StackFontSize StackFontStyle
+syntax keyword plantumlSkinparamKeyword StackStereotypeFontColor StackStereotypeFontName StackStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword StackStereotypeFontStyle StateAttributeFontColor StateAttributeFontName
+syntax keyword plantumlSkinparamKeyword StateAttributeFontSize StateAttributeFontStyle StateBackgroundColor
+syntax keyword plantumlSkinparamKeyword StateBorderColor StateEndColor StateFontColor StateFontName StateFontSize
+syntax keyword plantumlSkinparamKeyword StateFontStyle StateMessageAlignment StateStartColor StereotypeABackgroundColor
+syntax keyword plantumlSkinparamKeyword StereotypeABorderColor StereotypeCBackgroundColor StereotypeCBorderColor
+syntax keyword plantumlSkinparamKeyword StereotypeEBackgroundColor StereotypeEBorderColor StereotypeIBackgroundColor
+syntax keyword plantumlSkinparamKeyword StereotypeIBorderColor StereotypeNBackgroundColor StereotypeNBorderColor
+syntax keyword plantumlSkinparamKeyword StereotypePosition StorageBackgroundColor StorageBorderColor StorageFontColor
+syntax keyword plantumlSkinparamKeyword StorageFontName StorageFontSize StorageFontStyle StorageStereotypeFontColor
+syntax keyword plantumlSkinparamKeyword StorageStereotypeFontName StorageStereotypeFontSize StorageStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword Style SvglinkTarget SwimlaneBorderColor SwimlaneBorderThickness
+syntax keyword plantumlSkinparamKeyword SwimlaneTitleBackgroundColor SwimlaneTitleFontColor SwimlaneTitleFontName
+syntax keyword plantumlSkinparamKeyword SwimlaneTitleFontSize SwimlaneTitleFontStyle SwimlaneWidth
+syntax keyword plantumlSkinparamKeyword SwimlaneWrapTitleWidth TabSize TimingFontColor TimingFontName TimingFontSize
+syntax keyword plantumlSkinparamKeyword TimingFontStyle TitleBackgroundColor TitleBorderColor TitleBorderRoundCorner
syntax keyword plantumlSkinparamKeyword TitleBorderThickness TitleFontColor TitleFontName TitleFontSize TitleFontStyle
-syntax keyword plantumlSkinparamKeyword UsecaseBackgroundColor UsecaseBorderColor UsecaseBorderThickness UsecaseFontColor
-syntax keyword plantumlSkinparamKeyword UsecaseFontName UsecaseFontSize UsecaseFontStyle UsecaseStereotypeFontColor
-syntax keyword plantumlSkinparamKeyword UsecaseStereotypeFontName UsecaseStereotypeFontSize UsecaseStereotypeFontStyle
+syntax keyword plantumlSkinparamKeyword UsecaseBackgroundColor UsecaseBorderColor UsecaseBorderThickness
+syntax keyword plantumlSkinparamKeyword UsecaseFontColor UsecaseFontName UsecaseFontSize UsecaseFontStyle
+syntax keyword plantumlSkinparamKeyword UsecaseStereotypeFontColor UsecaseStereotypeFontName UsecaseStereotypeFontSize
+syntax keyword plantumlSkinparamKeyword UsecaseStereotypeFontStyle WrapWidth
" Not in 'java - jar plantuml.jar - language' output
syntax keyword plantumlSkinparamKeyword activityArrowColor activityArrowFontColor activityArrowFontName
-syntax keyword plantumlSkinparamKeyword activityArrowFontSize activityArrowFontStyle BarColor BorderColor BoxPadding
+syntax keyword plantumlSkinparamKeyword activityArrowFontSize activityArrowFontStyle BarColor BorderColor
syntax keyword plantumlSkinparamKeyword CharacterFontColor CharacterFontName CharacterFontSize CharacterFontStyle
syntax keyword plantumlSkinparamKeyword CharacterRadius classArrowColor classArrowFontColor classArrowFontName
syntax keyword plantumlSkinparamKeyword classArrowFontSize classArrowFontStyle Color componentArrowColor
@@ -267,7 +336,7 @@ syntax keyword plantumlSkinparamKeyword DividerFontName DividerFontSize DividerF
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 LifeLineBackgroundColor LifeLineBorderColor
syntax keyword plantumlSkinparamKeyword sequenceActorBackgroundColor sequenceActorBorderColor sequenceActorFontColor
syntax keyword plantumlSkinparamKeyword sequenceActorFontName sequenceActorFontSize sequenceActorFontStyle
syntax keyword plantumlSkinparamKeyword sequenceArrowColor sequenceArrowFontColor sequenceArrowFontName
@@ -312,6 +381,7 @@ highlight default link plantumlClassPackPrivate Function
highlight default link plantumlClassSeparator Comment
highlight default link plantumlSequenceDivider Comment
highlight default link plantumlSequenceSpace Comment
+highlight default link plantumlTag Identifier
highlight default link plantumlSequenceDelay Identifier
highlight default link plantumlSpecialString Special
highlight default link plantumlString String
diff --git a/syntax/ruby.vim b/syntax/ruby.vim
index d0cc0366..6d5a8dbf 100644
--- a/syntax/ruby.vim
+++ b/syntax/ruby.vim
@@ -467,6 +467,7 @@ syn match rubyDefinedOperator "\%#=1\<defined?" display
" 1.9-style Hash Keys and Keyword Parameters {{{1
syn match rubySymbol "\%([{(|,]\_s*\)\@<=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]\=::\@!"he=e-1
syn match rubySymbol "[]})\"':]\@1<!\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="he=e-1
+syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="hs=s+1,he=e-1
" __END__ Directive {{{1
SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$"
diff --git a/syntax/rust.vim b/syntax/rust.vim
index a4fff5c2..0dae57c6 100644
--- a/syntax/rust.vim
+++ b/syntax/rust.vim
@@ -30,7 +30,7 @@ syn match rustExistentialContextual /\<existential\_s\+type/ transparent contain
syn match rustAssert "\<assert\(\w\)*!" contained
syn match rustPanic "\<panic\(\w\)*!" contained
-syn match rustKeyword "\<async\%(\s\|\n\)\@="
+syn match rustAsync "\<async\%(\s\|\n\)\@="
syn keyword rustKeyword break
syn keyword rustKeyword box nextgroup=rustBoxPlacement skipwhite skipempty
syn keyword rustKeyword continue
@@ -49,7 +49,8 @@ syn keyword rustKeyword use nextgroup=rustModPath skipwhite skipempty
" FIXME: Scoped impl's name is also fallen in this category
syn keyword rustKeyword mod trait nextgroup=rustIdentifier skipwhite skipempty
syn keyword rustStorage move mut ref static const
-syn match rustDefault /\<default\ze\_s\+\(impl\|fn\|type\|const\)\>/
+syn match rustDefault /\<default\ze\_s\+\(impl\|fn\|type\|const\)\>/
+syn keyword rustAwait await
syn keyword rustPubScopeCrate crate contained
syn match rustPubScopeDelim /[()]/ contained
@@ -348,6 +349,8 @@ hi def link rustExternCrate rustKeyword
hi def link rustObsoleteExternMod Error
hi def link rustBoxPlacementParens Delimiter
hi def link rustQuestionMark Special
+hi def link rustAsync rustKeyword
+hi def link rustAwait rustKeyword
" Other Suggestions:
" hi rustAttribute ctermfg=cyan
diff --git a/syntax/swift.vim b/syntax/swift.vim
index 89c7ad3b..f026d076 100644
--- a/syntax/swift.vim
+++ b/syntax/swift.vim
@@ -158,6 +158,7 @@ syntax keyword swiftKeywords
\ return
\ self
\ set
+ \ some
\ static
\ subscript
\ super
@@ -186,6 +187,9 @@ syntax match swiftMultiwordKeywords "indirect enum"
syntax region swiftEscapedReservedWord start="`" end="`" oneline
syntax keyword swiftAttributes
+ \ @_exported
+ \ @_functionBuilder
+ \ @_silgen_name
\ @assignment
\ @autoclosure
\ @available
@@ -193,6 +197,7 @@ syntax keyword swiftAttributes
\ @discardableResult
\ @escaping
\ @exported
+ \ @frozen
\ @IBAction
\ @IBDesignable
\ @IBInspectable
@@ -205,6 +210,7 @@ syntax keyword swiftAttributes
\ @NSCopying
\ @NSManaged
\ @objc
+ \ @propertyWrapper
\ @testable
\ @UIApplicationMain
\ @usableFromInline
diff --git a/syntax/terraform.vim b/syntax/terraform.vim
index 58c60203..fb202c77 100644
--- a/syntax/terraform.vim
+++ b/syntax/terraform.vim
@@ -22,6 +22,57 @@ syn keyword terraValueBool true false on off yes no
""" data
syn keyword terraDataTypeBI
+ \ aci_access_port_block
+ \ aci_access_port_selector
+ \ aci_application_epg
+ \ aci_application_profile
+ \ aci_attachable_access_entity_profile
+ \ aci_autonomous_system_profile
+ \ aci_bridge_domain
+ \ aci_cloud_applicationcontainer
+ \ aci_cloud_availability_zone
+ \ aci_cloud_aws_provider
+ \ aci_cloud_cidr_pool
+ \ aci_cloud_context_profile
+ \ aci_cloud_domain_profile
+ \ aci_cloud_e_pg
+ \ aci_cloud_endpoint_selector
+ \ aci_cloud_endpoint_selectorfor_external_e_pgs
+ \ aci_cloud_external_e_pg
+ \ aci_cloud_provider_profile
+ \ aci_cloud_providers_region
+ \ aci_cloud_subnet
+ \ aci_contract
+ \ aci_contract_subject
+ \ aci_end_point_retention_policy
+ \ aci_external_network_instance_profile
+ \ aci_filter
+ \ aci_filter_entry
+ \ aci_interface_fc_policy
+ \ aci_l2_interface_policy
+ \ aci_l3_ext_subnet
+ \ aci_l3_outside
+ \ aci_lacp_policy
+ \ aci_leaf_access_port_policy_group
+ \ aci_leaf_interface_profile
+ \ aci_leaf_profile
+ \ aci_lldp_interface_policy
+ \ aci_logical_interface_profile
+ \ aci_logical_node_profile
+ \ aci_miscabling_protocol_interface_policy
+ \ aci_ospf_interface_policy
+ \ aci_pcvpc_interface_policy_group
+ \ aci_port_security_policy
+ \ aci_subnet
+ \ aci_tenant
+ \ aci_vlan_encapsulationfor_vxlan_traffic
+ \ aci_vmm_domain
+ \ aci_vrf
+ \ akamai_authorities_set
+ \ akamai_contract
+ \ akamai_cp_code
+ \ akamai_dns_record_set
+ \ akamai_group
\ alicloud_account
\ alicloud_actiontrails
\ alicloud_api_gateway_apis
@@ -38,6 +89,8 @@ syn keyword terraDataTypeBI
\ alicloud_cr_repos
\ alicloud_cs_kubernetes_clusters
\ alicloud_cs_managed_kubernetes_clusters
+ \ alicloud_db_instance_classes
+ \ alicloud_db_instance_engines
\ alicloud_db_instances
\ alicloud_ddoscoo_instances
\ alicloud_disks
@@ -56,11 +109,14 @@ syn keyword terraDataTypeBI
\ alicloud_fc_services
\ alicloud_fc_triggers
\ alicloud_forward_entries
+ \ alicloud_gpdb_instances
\ alicloud_images
\ alicloud_instance_types
\ alicloud_instances
\ alicloud_key_pairs
\ alicloud_kms_keys
+ \ alicloud_kvstore_instance_classes
+ \ alicloud_kvstore_instance_engines
\ alicloud_kvstore_instances
\ alicloud_mns_queues
\ alicloud_mns_topic_subscriptions
@@ -74,6 +130,9 @@ syn keyword terraDataTypeBI
\ alicloud_nas_protocols
\ alicloud_nat_gateways
\ alicloud_network_interfaces
+ \ alicloud_ons_groups
+ \ alicloud_ons_instances
+ \ alicloud_ons_topics
\ alicloud_oss_bucket_objects
\ alicloud_oss_buckets
\ alicloud_ots_instance_attachments
@@ -95,6 +154,7 @@ syn keyword terraDataTypeBI
\ alicloud_security_groups
\ alicloud_slb_acls
\ alicloud_slb_attachments
+ \ alicloud_slb_backend_servers
\ alicloud_slb_ca_certificates
\ alicloud_slb_listeners
\ alicloud_slb_rules
@@ -113,6 +173,79 @@ syn keyword terraDataTypeBI
\ alicloud_zones
\ archive_file
\ atlas_artifact
+ \ avi_actiongroupconfig
+ \ avi_alertconfig
+ \ avi_alertemailconfig
+ \ avi_alertscriptconfig
+ \ avi_alertsyslogconfig
+ \ avi_analyticsprofile
+ \ avi_applicationpersistenceprofile
+ \ avi_applicationprofile
+ \ avi_authprofile
+ \ avi_autoscalelaunchconfig
+ \ avi_backup
+ \ avi_backupconfiguration
+ \ avi_certificatemanagementprofile
+ \ avi_cloud
+ \ avi_cloudconnectoruser
+ \ avi_cloudproperties
+ \ avi_cluster
+ \ avi_clusterclouddetails
+ \ avi_controllerproperties
+ \ avi_controllersite
+ \ avi_customipamdnsprofile
+ \ avi_dnspolicy
+ \ avi_errorpagebody
+ \ avi_errorpageprofile
+ \ avi_fileservice
+ \ avi_gslb
+ \ avi_gslbgeodbprofile
+ \ avi_gslbservice
+ \ avi_hardwaresecuritymodulegroup
+ \ avi_healthmonitor
+ \ avi_httppolicyset
+ \ avi_ipaddrgroup
+ \ avi_ipamdnsproviderprofile
+ \ avi_l4policyset
+ \ avi_microservicegroup
+ \ avi_natpolicy
+ \ avi_network
+ \ avi_networkprofile
+ \ avi_networksecuritypolicy
+ \ avi_networkservice
+ \ avi_pingaccessagent
+ \ avi_pkiprofile
+ \ avi_pool
+ \ avi_poolgroup
+ \ avi_poolgroupdeploymentpolicy
+ \ avi_prioritylabels
+ \ avi_protocolparser
+ \ avi_role
+ \ avi_scheduler
+ \ avi_securitypolicy
+ \ avi_seproperties
+ \ avi_server
+ \ avi_serverautoscalepolicy
+ \ avi_serviceengine
+ \ avi_serviceenginegroup
+ \ avi_snmptrapprofile
+ \ avi_sslkeyandcertificate
+ \ avi_sslprofile
+ \ avi_ssopolicy
+ \ avi_stringgroup
+ \ avi_systemconfiguration
+ \ avi_tenant
+ \ avi_trafficcloneprofile
+ \ avi_useraccountprofile
+ \ avi_virtualservice
+ \ avi_vrfcontext
+ \ avi_vsdatascriptset
+ \ avi_vsvip
+ \ avi_wafcrs
+ \ avi_wafpolicy
+ \ avi_wafpolicypsmgroup
+ \ avi_wafprofile
+ \ avi_webhook
\ aws_acm_certificate
\ aws_acmpca_certificate_authority
\ aws_alb
@@ -143,16 +276,20 @@ syn keyword terraDataTypeBI
\ aws_codecommit_repository
\ aws_cognito_user_pools
\ aws_cur_report_definition
+ \ aws_customer_gateway
\ aws_db_cluster_snapshot
\ aws_db_event_categories
\ aws_db_instance
\ aws_db_snapshot
\ aws_dx_gateway
\ aws_dynamodb_table
+ \ aws_ebs_default_kms_key
+ \ aws_ebs_encryption_by_default
\ aws_ebs_snapshot
\ aws_ebs_snapshot_ids
\ aws_ebs_volume
\ aws_ec2_transit_gateway
+ \ aws_ec2_transit_gateway_dx_gateway_attachment
\ aws_ec2_transit_gateway_route_table
\ aws_ec2_transit_gateway_vpc_attachment
\ aws_ec2_transit_gateway_vpn_attachment
@@ -205,10 +342,13 @@ syn keyword terraDataTypeBI
\ aws_lb_listener
\ aws_lb_target_group
\ aws_mq_broker
+ \ aws_msk_cluster
+ \ aws_msk_configuration
\ aws_nat_gateway
\ aws_network_acls
\ aws_network_interface
\ aws_network_interfaces
+ \ aws_organizations_organization
\ aws_partition
\ aws_prefix_list
\ aws_pricing_product
@@ -224,10 +364,13 @@ syn keyword terraDataTypeBI
\ aws_route_tables
\ aws_s3_bucket
\ aws_s3_bucket_object
+ \ aws_s3_bucket_objects
\ aws_secretsmanager_secret
\ aws_secretsmanager_secret_version
\ aws_security_group
\ aws_security_groups
+ \ aws_servicequotas_service
+ \ aws_servicequotas_service_quota
\ aws_sns_topic
\ aws_sqs_queue
\ aws_ssm_document
@@ -243,8 +386,13 @@ syn keyword terraDataTypeBI
\ aws_vpc_peering_connection
\ aws_vpcs
\ aws_vpn_gateway
+ \ aws_waf_ipset
+ \ aws_waf_rule
+ \ aws_waf_web_acl
+ \ aws_wafregional_ipset
+ \ aws_wafregional_rule
+ \ aws_wafregional_web_acl
\ aws_workspaces_bundle
- \ azuread_user
\ azurerm_api_management
\ azurerm_api_management_api
\ azurerm_api_management_group
@@ -271,6 +419,7 @@ syn keyword terraDataTypeBI
\ azurerm_cosmosdb_account
\ azurerm_data_lake_store
\ azurerm_dev_test_lab
+ \ azurerm_dev_test_virtual_network
\ azurerm_dns_zone
\ azurerm_eventhub_namespace
\ azurerm_express_route_circuit
@@ -289,9 +438,11 @@ syn keyword terraDataTypeBI
\ azurerm_logic_app_workflow
\ azurerm_managed_disk
\ azurerm_management_group
+ \ azurerm_maps_account
\ azurerm_monitor_action_group
\ azurerm_monitor_diagnostic_categories
\ azurerm_monitor_log_profile
+ \ azurerm_mssql_elasticpool
\ azurerm_network_interface
\ azurerm_network_security_group
\ azurerm_network_watcher
@@ -303,6 +454,7 @@ syn keyword terraDataTypeBI
\ azurerm_public_ips
\ azurerm_recovery_services_protection_policy_vm
\ azurerm_recovery_services_vault
+ \ azurerm_redis_cache
\ azurerm_resource_group
\ azurerm_role_definition
\ azurerm_route_table
@@ -312,6 +464,7 @@ syn keyword terraDataTypeBI
\ azurerm_shared_image_gallery
\ azurerm_shared_image_version
\ azurerm_snapshot
+ \ azurerm_sql_server
\ azurerm_storage_account
\ azurerm_storage_account_sas
\ azurerm_stream_analytics_job
@@ -323,9 +476,11 @@ syn keyword terraDataTypeBI
\ azurerm_virtual_machine
\ azurerm_virtual_network
\ azurerm_virtual_network_gateway
+ \ azurerm_virtual_network_gateway_connection
\ azurestack_client_config
\ azurestack_network_interface
\ azurestack_network_security_group
+ \ azurestack_platform_image
\ azurestack_public_ip
\ azurestack_resource_group
\ azurestack_route_table
@@ -341,6 +496,8 @@ syn keyword terraDataTypeBI
\ cloudflare_ip_ranges
\ cloudflare_zones
\ cloudstack_template
+ \ consul_acl_token
+ \ consul_acl_token_secret_id
\ consul_agent_config
\ consul_agent_self
\ consul_autopilot_health
@@ -351,8 +508,10 @@ syn keyword terraDataTypeBI
\ consul_keys
\ consul_nodes
\ consul_service
+ \ consul_service_health
\ consul_services
\ digitalocean_certificate
+ \ digitalocean_database_cluster
\ digitalocean_domain
\ digitalocean_droplet
\ digitalocean_droplet_snapshot
@@ -371,11 +530,14 @@ syn keyword terraDataTypeBI
\ dns_mx_record_set
\ dns_ns_record_set
\ dns_ptr_record_set
+ \ dns_srv_record_set
\ dns_txt_record_set
+ \ docker_network
\ docker_registry_image
\ external
\ fastly_ip_ranges
\ filter
+ \ flexibleengine_blockstorage_volume_v2
\ flexibleengine_cce_cluster_v3
\ flexibleengine_cce_node_v3
\ flexibleengine_compute_bms_flavors_v2
@@ -388,12 +550,14 @@ syn keyword terraDataTypeBI
\ flexibleengine_dcs_az_v1
\ flexibleengine_dcs_maintainwindow_v1
\ flexibleengine_dcs_product_v1
+ \ flexibleengine_dns_zone_v2
\ flexibleengine_images_image_v2
\ flexibleengine_kms_data_key_v1
\ flexibleengine_kms_key_v1
\ flexibleengine_networking_network_v2
\ flexibleengine_networking_secgroup_v2
\ flexibleengine_rds_flavors_v1
+ \ flexibleengine_rds_flavors_v3
\ flexibleengine_rts_software_config_v1
\ flexibleengine_rts_stack_resource_v1
\ flexibleengine_rts_stack_v1
@@ -407,11 +571,13 @@ syn keyword terraDataTypeBI
\ flexibleengine_vpc_subnet_ids_v1
\ flexibleengine_vpc_subnet_v1
\ flexibleengine_vpc_v1
+ \ github_collaborators
\ github_ip_ranges
\ github_repositories
\ github_repository
\ github_team
\ github_user
+ \ gitlab_group
\ gitlab_project
\ gitlab_user
\ gitlab_users
@@ -420,6 +586,7 @@ syn keyword terraDataTypeBI
\ google_client_config
\ google_client_openid_userinfo
\ google_cloudfunctions_function
+ \ google_composer_image_versions
\ google_compute_address
\ google_compute_backend_service
\ google_compute_default_service_account
@@ -433,6 +600,7 @@ syn keyword terraDataTypeBI
\ google_compute_node_types
\ google_compute_region_instance_group
\ google_compute_regions
+ \ google_compute_ssl_certificate
\ google_compute_ssl_policy
\ google_compute_subnetwork
\ google_compute_vpn_gateway
@@ -447,6 +615,7 @@ syn keyword terraDataTypeBI
\ google_iam_policy
\ google_iam_role
\ google_kms_crypto_key
+ \ google_kms_crypto_key_version
\ google_kms_key_ring
\ google_kms_secret
\ google_netblock_ip_ranges
@@ -476,8 +645,10 @@ syn keyword terraDataTypeBI
\ hcloud_image
\ hcloud_location
\ hcloud_locations
+ \ hcloud_network
\ hcloud_server
\ hcloud_ssh_key
+ \ hcloud_ssh_keys
\ hcloud_volume
\ heroku_addon
\ heroku_app
@@ -488,12 +659,14 @@ syn keyword terraDataTypeBI
\ huaweicloud_antiddos_v1
\ huaweicloud_cce_cluster_v3
\ huaweicloud_cce_node_v3
+ \ huaweicloud_cdm_flavors_v1
\ huaweicloud_csbs_backup_policy_v1
\ huaweicloud_csbs_backup_v1
\ huaweicloud_cts_tracker_v1
\ huaweicloud_dcs_az_v1
\ huaweicloud_dcs_maintainwindow_v1
\ huaweicloud_dcs_product_v1
+ \ huaweicloud_dis_partition_v2
\ huaweicloud_dms_az_v1
\ huaweicloud_dms_maintainwindow_v1
\ huaweicloud_dms_product_v1
@@ -503,6 +676,7 @@ syn keyword terraDataTypeBI
\ huaweicloud_kms_data_key_v1
\ huaweicloud_kms_key_v1
\ huaweicloud_networking_network_v2
+ \ huaweicloud_networking_port_v2
\ huaweicloud_networking_secgroup_v2
\ huaweicloud_networking_subnet_v2
\ huaweicloud_rds_flavors_v1
@@ -646,10 +820,13 @@ syn keyword terraDataTypeBI
\ oci_core_instance_devices
\ oci_core_instance_pool
\ oci_core_instance_pool_instances
+ \ oci_core_instance_pool_load_balancer_attachment
\ oci_core_instance_pools
\ oci_core_instances
\ oci_core_internet_gateways
\ oci_core_ipsec_config
+ \ oci_core_ipsec_connection_tunnel
+ \ oci_core_ipsec_connection_tunnels
\ oci_core_ipsec_connections
\ oci_core_ipsec_status
\ oci_core_letter_of_authority
@@ -658,6 +835,10 @@ syn keyword terraDataTypeBI
\ oci_core_local_peering_gateways
\ oci_core_nat_gateway
\ oci_core_nat_gateways
+ \ oci_core_network_security_group
+ \ oci_core_network_security_group_security_rules
+ \ oci_core_network_security_group_vnics
+ \ oci_core_network_security_groups
\ oci_core_peer_region_for_remote_peerings
\ oci_core_private_ip
\ oci_core_private_ips
@@ -688,6 +869,8 @@ syn keyword terraDataTypeBI
\ oci_core_volume_group_backups
\ oci_core_volume_groups
\ oci_core_volumes
+ \ oci_database_autonomous_container_database
+ \ oci_database_autonomous_container_databases
\ oci_database_autonomous_data_warehouse
\ oci_database_autonomous_data_warehouse_backup
\ oci_database_autonomous_data_warehouse_backups
@@ -698,6 +881,10 @@ syn keyword terraDataTypeBI
\ oci_database_autonomous_database_backups
\ oci_database_autonomous_database_wallet
\ oci_database_autonomous_databases
+ \ oci_database_autonomous_db_preview_versions
+ \ oci_database_autonomous_exadata_infrastructure
+ \ oci_database_autonomous_exadata_infrastructure_shapes
+ \ oci_database_autonomous_exadata_infrastructures
\ oci_database_backups
\ oci_database_data_guard_association
\ oci_database_data_guard_associations
@@ -715,6 +902,8 @@ syn keyword terraDataTypeBI
\ oci_database_db_systems
\ oci_database_db_versions
\ oci_database_exadata_iorm_config
+ \ oci_database_maintenance_run
+ \ oci_database_maintenance_runs
\ oci_dns_records
\ oci_dns_steering_policies
\ oci_dns_steering_policy
@@ -725,12 +914,18 @@ syn keyword terraDataTypeBI
\ oci_email_senders
\ oci_email_suppression
\ oci_email_suppressions
+ \ oci_events_rule
+ \ oci_events_rules
\ oci_file_storage_export_sets
\ oci_file_storage_exports
\ oci_file_storage_file_systems
\ oci_file_storage_mount_targets
\ oci_file_storage_snapshot
\ oci_file_storage_snapshots
+ \ oci_functions_application
+ \ oci_functions_applications
+ \ oci_functions_function
+ \ oci_functions_functions
\ oci_health_checks_http_monitor
\ oci_health_checks_http_monitors
\ oci_health_checks_http_probe_results
@@ -764,6 +959,7 @@ syn keyword terraDataTypeBI
\ oci_identity_tag_namespaces
\ oci_identity_tags
\ oci_identity_tenancy
+ \ oci_identity_ui_password
\ oci_identity_user
\ oci_identity_user_group_memberships
\ oci_identity_users
@@ -775,6 +971,8 @@ syn keyword terraDataTypeBI
\ oci_kms_keys
\ oci_kms_vault
\ oci_kms_vaults
+ \ oci_limits_quota
+ \ oci_limits_quotas
\ oci_load_balancer_backend_health
\ oci_load_balancer_backend_set_health
\ oci_load_balancer_backend_sets
@@ -783,6 +981,7 @@ syn keyword terraDataTypeBI
\ oci_load_balancer_certificates
\ oci_load_balancer_health
\ oci_load_balancer_hostnames
+ \ oci_load_balancer_listener_rules
\ oci_load_balancer_load_balancers
\ oci_load_balancer_path_route_sets
\ oci_load_balancer_policies
@@ -849,6 +1048,10 @@ syn keyword terraDataTypeBI
\ openstack_networking_network_v2
\ openstack_networking_port_ids_v2
\ openstack_networking_port_v2
+ \ openstack_networking_qos_bandwidth_limit_rule_v2
+ \ openstack_networking_qos_dscp_marking_rule_v2
+ \ openstack_networking_qos_minimum_bandwidth_rule_v2
+ \ openstack_networking_qos_policy_v2
\ openstack_networking_router_v2
\ openstack_networking_secgroup_v2
\ openstack_networking_subnet_v2
@@ -890,6 +1093,7 @@ syn keyword terraDataTypeBI
\ opentelekomcloud_rts_stack_resource_v1
\ opentelekomcloud_rts_stack_v1
\ opentelekomcloud_s3_bucket_object
+ \ opentelekomcloud_sdrs_domain_v1
\ opentelekomcloud_sfs_file_system_v2
\ opentelekomcloud_vbs_backup_policy_v2
\ opentelekomcloud_vbs_backup_v2
@@ -909,23 +1113,42 @@ syn keyword terraDataTypeBI
\ ovh_me_paymentmean_creditcard
\ ovh_publiccloud_region
\ ovh_publiccloud_regions
+ \ packet_device
\ packet_operating_system
\ packet_precreated_ip_block
\ packet_spot_market_price
\ pagerduty_escalation_policy
\ pagerduty_extension_schema
\ pagerduty_schedule
+ \ pagerduty_service
\ pagerduty_team
\ pagerduty_user
\ pagerduty_vendor
\ panos_dhcp_interface_info
+ \ panos_panorama_plugin
\ panos_system_info
\ profitbricks_datacenter
\ profitbricks_image
\ profitbricks_location
\ profitbricks_resource
\ profitbricks_snapshot
+ \ rancher2_catalog
+ \ rancher2_cloud_credential
+ \ rancher2_cluster
+ \ rancher2_cluster_driver
+ \ rancher2_cluster_logging
+ \ rancher2_cluster_role_template_binding
+ \ rancher2_etcd_backup
+ \ rancher2_global_role_binding
+ \ rancher2_namespace
+ \ rancher2_node_driver
+ \ rancher2_node_pool
+ \ rancher2_project
+ \ rancher2_project_logging
+ \ rancher2_project_role_template_binding
+ \ rancher2_registry
\ rancher2_setting
+ \ rancher2_user
\ rancher_certificate
\ rancher_environment
\ rancher_setting
@@ -981,23 +1204,42 @@ syn keyword terraDataTypeBI
\ telefonicaopencloud_vpc_v1
\ template_cloudinit_config
\ template_file
+ \ tencentcloud_as_scaling_configs
+ \ tencentcloud_as_scaling_groups
+ \ tencentcloud_as_scaling_policies
\ tencentcloud_availability_zones
+ \ tencentcloud_cbs_snapshots
+ \ tencentcloud_cbs_storages
+ \ tencentcloud_ccn_bandwidth_limits
+ \ tencentcloud_ccn_instances
\ tencentcloud_container_cluster_instances
\ tencentcloud_container_clusters
\ tencentcloud_cos_bucket_object
\ tencentcloud_cos_buckets
+ \ tencentcloud_dc_gateway_ccn_routes
+ \ tencentcloud_dc_gateway_instances
+ \ tencentcloud_dc_instances
+ \ tencentcloud_dcx_instances
\ tencentcloud_eip
\ tencentcloud_image
\ tencentcloud_instance_types
+ \ tencentcloud_mongodb_instances
+ \ tencentcloud_mongodb_zone_config
\ tencentcloud_mysql_backup_list
\ tencentcloud_mysql_instance
\ tencentcloud_mysql_parameter_list
\ tencentcloud_mysql_zone_config
\ tencentcloud_nats
+ \ tencentcloud_redis_instances
+ \ tencentcloud_redis_zone_config
\ tencentcloud_route_table
\ tencentcloud_security_group
+ \ tencentcloud_security_groups
\ tencentcloud_subnet
\ tencentcloud_vpc
+ \ tencentcloud_vpc_instances
+ \ tencentcloud_vpc_route_tables
+ \ tencentcloud_vpc_subnets
\ terraform_remote_state
\ tfe_ssh_key
\ tfe_team
@@ -1027,12 +1269,6 @@ syn keyword terraDataTypeBI
\ ucloud_subnets
\ ucloud_vpcs
\ ucloud_zones
- \ vault_approle_auth_backend_role_id
- \ vault_aws_access_credentials
- \ vault_generic_secret
- \ vault_kubernetes_auth_backend_config
- \ vault_kubernetes_auth_backend_role
- \ vault_policy_document
\ vsphere_compute_cluster
\ vsphere_custom_attribute
\ vsphere_datacenter
@@ -1051,6 +1287,7 @@ syn keyword terraDataTypeBI
\ yandex_compute_disk
\ yandex_compute_image
\ yandex_compute_instance
+ \ yandex_compute_instance_group
\ yandex_compute_snapshot
\ yandex_iam_policy
\ yandex_iam_role
@@ -1065,8 +1302,63 @@ syn keyword terraDataTypeBI
""" resource
syn keyword terraResourceTypeBI
+ \ aci_access_port_block
+ \ aci_access_port_selector
+ \ aci_application_epg
+ \ aci_application_profile
+ \ aci_attachable_access_entity_profile
+ \ aci_autonomous_system_profile
+ \ aci_bridge_domain
+ \ aci_cloud_applicationcontainer
+ \ aci_cloud_availability_zone
+ \ aci_cloud_aws_provider
+ \ aci_cloud_cidr_pool
+ \ aci_cloud_context_profile
+ \ aci_cloud_domain_profile
+ \ aci_cloud_e_pg
+ \ aci_cloud_endpoint_selector
+ \ aci_cloud_endpoint_selectorfor_external_e_pgs
+ \ aci_cloud_external_e_pg
+ \ aci_cloud_provider_profile
+ \ aci_cloud_providers_region
+ \ aci_cloud_subnet
+ \ aci_contract
+ \ aci_contract_subject
+ \ aci_end_point_retention_policy
+ \ aci_external_network_instance_profile
+ \ aci_filter
+ \ aci_filter_entry
+ \ aci_interface_fc_policy
+ \ aci_l2_interface_policy
+ \ aci_l3_ext_subnet
+ \ aci_l3_outside
+ \ aci_lacp_policy
+ \ aci_leaf_access_port_policy_group
+ \ aci_leaf_interface_profile
+ \ aci_leaf_profile
+ \ aci_lldp_interface_policy
+ \ aci_logical_interface_profile
+ \ aci_logical_node_profile
+ \ aci_miscabling_protocol_interface_policy
+ \ aci_ospf_interface_policy
+ \ aci_pcvpc_interface_policy_group
+ \ aci_port_security_policy
+ \ aci_rest
+ \ aci_subnet
+ \ aci_tenant
+ \ aci_vlan_encapsulationfor_vxlan_traffic
+ \ aci_vmm_domain
+ \ aci_vrf
\ acme_certificate
\ acme_registration
+ \ akamai_cp_code
+ \ akamai_dns_record
+ \ akamai_dns_zone
+ \ akamai_edge_hostname
+ \ akamai_property
+ \ akamai_property_activation
+ \ akamai_property_rules
+ \ akamai_property_variables
\ alicloud_actiontrail
\ alicloud_api_gateway_api
\ alicloud_api_gateway_app
@@ -1121,11 +1413,15 @@ syn keyword terraResourceTypeBI
\ alicloud_ess_scaling_configuration
\ alicloud_ess_scaling_group
\ alicloud_ess_scaling_rule
+ \ alicloud_ess_scalinggroup_vserver_groups
\ alicloud_ess_schedule
+ \ alicloud_ess_scheduled_task
\ alicloud_fc_function
\ alicloud_fc_service
\ alicloud_fc_trigger
\ alicloud_forward_entry
+ \ alicloud_gpdb_connection
+ \ alicloud_gpdb_instance
\ alicloud_havip
\ alicloud_havip_attachment
\ alicloud_instance
@@ -1152,8 +1448,13 @@ syn keyword terraResourceTypeBI
\ alicloud_nas_mount_target
\ alicloud_nat_gateway
\ alicloud_network_acl
+ \ alicloud_network_acl_attachment
+ \ alicloud_network_acl_entries
\ alicloud_network_interface
\ alicloud_network_interface_attachment
+ \ alicloud_ons_group
+ \ alicloud_ons_instance
+ \ alicloud_ons_topic
\ alicloud_oss_bucket
\ alicloud_oss_bucket_object
\ alicloud_ots_instance
@@ -1164,6 +1465,7 @@ syn keyword terraResourceTypeBI
\ alicloud_pvtz_zone_record
\ alicloud_ram_access_key
\ alicloud_ram_account_alias
+ \ alicloud_ram_account_password_policy
\ alicloud_ram_alias
\ alicloud_ram_group
\ alicloud_ram_group_membership
@@ -1185,6 +1487,7 @@ syn keyword terraResourceTypeBI
\ alicloud_slb
\ alicloud_slb_acl
\ alicloud_slb_attachment
+ \ alicloud_slb_backend_server
\ alicloud_slb_ca_certificate
\ alicloud_slb_listener
\ alicloud_slb_rule
@@ -1203,6 +1506,80 @@ syn keyword terraResourceTypeBI
\ alicloud_vswitch
\ arukas_container
\ atlas_artifact
+ \ avi_actiongroupconfig
+ \ avi_alertconfig
+ \ avi_alertemailconfig
+ \ avi_alertscriptconfig
+ \ avi_alertsyslogconfig
+ \ avi_analyticsprofile
+ \ avi_applicationpersistenceprofile
+ \ avi_applicationprofile
+ \ avi_authprofile
+ \ avi_autoscalelaunchconfig
+ \ avi_backup
+ \ avi_backupconfiguration
+ \ avi_certificatemanagementprofile
+ \ avi_cloud
+ \ avi_cloudconnectoruser
+ \ avi_cloudproperties
+ \ avi_cluster
+ \ avi_clusterclouddetails
+ \ avi_controllerproperties
+ \ avi_controllersite
+ \ avi_customipamdnsprofile
+ \ avi_dnspolicy
+ \ avi_errorpagebody
+ \ avi_errorpageprofile
+ \ avi_fileservice
+ \ avi_gslb
+ \ avi_gslbgeodbprofile
+ \ avi_gslbservice
+ \ avi_hardwaresecuritymodulegroup
+ \ avi_healthmonitor
+ \ avi_httppolicyset
+ \ avi_ipaddrgroup
+ \ avi_ipamdnsproviderprofile
+ \ avi_l4policyset
+ \ avi_microservicegroup
+ \ avi_natpolicy
+ \ avi_network
+ \ avi_networkprofile
+ \ avi_networksecuritypolicy
+ \ avi_networkservice
+ \ avi_pingaccessagent
+ \ avi_pkiprofile
+ \ avi_pool
+ \ avi_poolgroup
+ \ avi_poolgroupdeploymentpolicy
+ \ avi_prioritylabels
+ \ avi_protocolparser
+ \ avi_role
+ \ avi_scheduler
+ \ avi_securitypolicy
+ \ avi_seproperties
+ \ avi_server
+ \ avi_serverautoscalepolicy
+ \ avi_serviceengine
+ \ avi_serviceenginegroup
+ \ avi_snmptrapprofile
+ \ avi_sslkeyandcertificate
+ \ avi_sslprofile
+ \ avi_ssopolicy
+ \ avi_stringgroup
+ \ avi_systemconfiguration
+ \ avi_tenant
+ \ avi_trafficcloneprofile
+ \ avi_useraccount
+ \ avi_useraccountprofile
+ \ avi_virtualservice
+ \ avi_vrfcontext
+ \ avi_vsdatascriptset
+ \ avi_vsvip
+ \ avi_wafcrs
+ \ avi_wafpolicy
+ \ avi_wafpolicypsmgroup
+ \ avi_wafprofile
+ \ avi_webhook
\ aws_acm_certificate
\ aws_acm_certificate_validation
\ aws_acmpca_certificate_authority
@@ -1250,10 +1627,12 @@ syn keyword terraResourceTypeBI
\ aws_appmesh_virtual_service
\ aws_appsync_api_key
\ aws_appsync_datasource
+ \ aws_appsync_function
\ aws_appsync_graphql_api
\ aws_appsync_resolver
\ aws_athena_database
\ aws_athena_named_query
+ \ aws_athena_workgroup
\ aws_autoscaling_attachment
\ aws_autoscaling_group
\ aws_autoscaling_lifecycle_hook
@@ -1290,6 +1669,7 @@ syn keyword terraResourceTypeBI
\ aws_cloudwatch_log_subscription_filter
\ aws_cloudwatch_metric_alarm
\ aws_codebuild_project
+ \ aws_codebuild_source_credential
\ aws_codebuild_webhook
\ aws_codecommit_repository
\ aws_codecommit_trigger
@@ -1314,6 +1694,7 @@ syn keyword terraResourceTypeBI
\ aws_config_delivery_channel
\ aws_cur_report_definition
\ aws_customer_gateway
+ \ aws_datapipeline_pipeline
\ aws_datasync_agent
\ aws_datasync_location_efs
\ aws_datasync_location_nfs
@@ -1340,6 +1721,7 @@ syn keyword terraResourceTypeBI
\ aws_devicefarm_project
\ aws_directory_service_conditional_forwarder
\ aws_directory_service_directory
+ \ aws_directory_service_log_subscription
\ aws_dlm_lifecycle_policy
\ aws_dms_certificate
\ aws_dms_endpoint
@@ -1367,6 +1749,8 @@ syn keyword terraResourceTypeBI
\ aws_dynamodb_global_table
\ aws_dynamodb_table
\ aws_dynamodb_table_item
+ \ aws_ebs_default_kms_key
+ \ aws_ebs_encryption_by_default
\ aws_ebs_snapshot
\ aws_ebs_snapshot_copy
\ aws_ebs_volume
@@ -1380,6 +1764,7 @@ syn keyword terraResourceTypeBI
\ aws_ec2_transit_gateway_route_table_association
\ aws_ec2_transit_gateway_route_table_propagation
\ aws_ec2_transit_gateway_vpc_attachment
+ \ aws_ec2_transit_gateway_vpc_attachment_accepter
\ aws_ecr_lifecycle_policy
\ aws_ecr_repository
\ aws_ecr_repository_policy
@@ -1411,6 +1796,7 @@ syn keyword terraResourceTypeBI
\ aws_emr_instance_group
\ aws_emr_security_configuration
\ aws_flow_log
+ \ aws_fms_admin_account
\ aws_gamelift_alias
\ aws_gamelift_build
\ aws_gamelift_fleet
@@ -1418,6 +1804,7 @@ syn keyword terraResourceTypeBI
\ aws_glacier_vault
\ aws_glacier_vault_lock
\ aws_globalaccelerator_accelerator
+ \ aws_globalaccelerator_endpoint_group
\ aws_globalaccelerator_listener
\ aws_glue_catalog_database
\ aws_glue_catalog_table
@@ -1510,6 +1897,8 @@ syn keyword terraResourceTypeBI
\ aws_media_store_container_policy
\ aws_mq_broker
\ aws_mq_configuration
+ \ aws_msk_cluster
+ \ aws_msk_configuration
\ aws_nat_gateway
\ aws_neptune_cluster
\ aws_neptune_cluster_instance
@@ -1557,6 +1946,7 @@ syn keyword terraResourceTypeBI
\ aws_pinpoint_sms_channel
\ aws_placement_group
\ aws_proxy_protocol_policy
+ \ aws_quicksight_group
\ aws_ram_principal_association
\ aws_ram_resource_association
\ aws_ram_resource_share
@@ -1609,6 +1999,7 @@ syn keyword terraResourceTypeBI
\ aws_service_discovery_public_dns_namespace
\ aws_service_discovery_service
\ aws_servicecatalog_portfolio
+ \ aws_servicequotas_service_quota
\ aws_ses_active_receipt_rule_set
\ aws_ses_configuration_set
\ aws_ses_domain_dkim
@@ -1618,6 +2009,7 @@ syn keyword terraResourceTypeBI
\ aws_ses_email_identity
\ aws_ses_event_destination
\ aws_ses_identity_notification_topic
+ \ aws_ses_identity_policy
\ aws_ses_receipt_filter
\ aws_ses_receipt_rule
\ aws_ses_receipt_rule_set
@@ -1723,10 +2115,13 @@ syn keyword terraResourceTypeBI
\ azure_storage_service
\ azure_virtual_network
\ azuread_application
+ \ azuread_application_password
\ azuread_group
+ \ azuread_group_member
\ azuread_service_principal
\ azuread_service_principal_password
\ azuread_user
+ \ azurerm_analysis_services_server
\ azurerm_api_management
\ azurerm_api_management_api
\ azurerm_api_management_api_operation
@@ -1735,6 +2130,7 @@ syn keyword terraResourceTypeBI
\ azurerm_api_management_api_schema
\ azurerm_api_management_api_version_set
\ azurerm_api_management_authorization_server
+ \ azurerm_api_management_backend
\ azurerm_api_management_certificate
\ azurerm_api_management_group
\ azurerm_api_management_group_user
@@ -1774,6 +2170,7 @@ syn keyword terraResourceTypeBI
\ azurerm_azuread_service_principal
\ azurerm_azuread_service_principal_password
\ azurerm_batch_account
+ \ azurerm_batch_application
\ azurerm_batch_certificate
\ azurerm_batch_pool
\ azurerm_cdn_endpoint
@@ -1808,6 +2205,7 @@ syn keyword terraResourceTypeBI
\ azurerm_dev_test_lab
\ azurerm_dev_test_linux_virtual_machine
\ azurerm_dev_test_policy
+ \ azurerm_dev_test_schedule
\ azurerm_dev_test_virtual_network
\ azurerm_dev_test_windows_virtual_machine
\ azurerm_devspace_controller
@@ -1846,6 +2244,8 @@ syn keyword terraResourceTypeBI
\ azurerm_hdinsight_spark_cluster
\ azurerm_hdinsight_storm_cluster
\ azurerm_image
+ \ azurerm_iot_dps
+ \ azurerm_iot_dps_certificate
\ azurerm_iothub
\ azurerm_iothub_consumer_group
\ azurerm_iothub_shared_access_policy
@@ -1876,7 +2276,9 @@ syn keyword terraResourceTypeBI
\ azurerm_managed_disk
\ azurerm_management_group
\ azurerm_management_lock
+ \ azurerm_maps_account
\ azurerm_mariadb_database
+ \ azurerm_mariadb_firewall_rule
\ azurerm_mariadb_server
\ azurerm_media_services_account
\ azurerm_metric_alertrule
@@ -1917,6 +2319,8 @@ syn keyword terraResourceTypeBI
\ azurerm_postgresql_firewall_rule
\ azurerm_postgresql_server
\ azurerm_postgresql_virtual_network_rule
+ \ azurerm_private_dns_a_record
+ \ azurerm_private_dns_zone
\ azurerm_public_ip
\ azurerm_public_ip_prefix
\ azurerm_recovery_services_protected_vm
@@ -1961,11 +2365,14 @@ syn keyword terraResourceTypeBI
\ azurerm_storage_container
\ azurerm_storage_queue
\ azurerm_storage_share
+ \ azurerm_storage_share_directory
\ azurerm_storage_table
+ \ azurerm_storage_table_entity
\ azurerm_stream_analytics_function_javascript_udf
\ azurerm_stream_analytics_job
\ azurerm_stream_analytics_output_blob
\ azurerm_stream_analytics_output_eventhub
+ \ azurerm_stream_analytics_output_mssql
\ azurerm_stream_analytics_output_servicebus_queue
\ azurerm_stream_analytics_stream_input_blob
\ azurerm_stream_analytics_stream_input_eventhub
@@ -1995,6 +2402,7 @@ syn keyword terraResourceTypeBI
\ azurestack_lb_probe
\ azurestack_lb_rule
\ azurestack_local_network_gateway
+ \ azurestack_managed_disk
\ azurestack_network_interface
\ azurestack_network_security_group
\ azurestack_network_security_rule
@@ -2110,6 +2518,7 @@ syn keyword terraResourceTypeBI
\ cloudflare_zone_settings_override
\ cloudscale_floating_ip
\ cloudscale_server
+ \ cloudscale_server_group
\ cloudscale_volume
\ cloudstack_affinity_group
\ cloudstack_disk
@@ -2141,8 +2550,12 @@ syn keyword terraResourceTypeBI
\ cobbler_repo
\ cobbler_snippet
\ cobbler_system
+ \ consul_acl_auth_method
+ \ consul_acl_binding_rule
\ consul_acl_policy
+ \ consul_acl_role
\ consul_acl_token
+ \ consul_acl_token_policy_attachment
\ consul_agent_service
\ consul_autopilot_config
\ consul_catalog_entry
@@ -2152,10 +2565,12 @@ syn keyword terraResourceTypeBI
\ consul_node
\ consul_prepared_query
\ consul_service
+ \ datadog_dashboard
\ datadog_downtime
\ datadog_integration_aws
\ datadog_integration_gcp
\ datadog_integration_pagerduty
+ \ datadog_integration_pagerduty_service_object
\ datadog_metric_metadata
\ datadog_monitor
\ datadog_screenboard
@@ -2189,6 +2604,7 @@ syn keyword terraResourceTypeBI
\ dns_mx_record_set
\ dns_ns_record_set
\ dns_ptr_record
+ \ dns_srv_record_set
\ dns_txt_record_set
\ dnsimple_record
\ docker_config
@@ -2261,6 +2677,8 @@ syn keyword terraResourceTypeBI
\ flexibleengine_networking_vip_associate_v2
\ flexibleengine_networking_vip_v2
\ flexibleengine_rds_instance_v1
+ \ flexibleengine_rds_instance_v3
+ \ flexibleengine_rds_parametergroup_v3
\ flexibleengine_rts_software_config_v1
\ flexibleengine_rts_stack_resource_v1
\ flexibleengine_rts_stack_v1
@@ -2326,12 +2744,14 @@ syn keyword terraResourceTypeBI
\ gitlab_group_membership
\ gitlab_group_variable
\ gitlab_label
+ \ gitlab_pipeline_schedule
\ gitlab_pipeline_trigger
\ gitlab_project
\ gitlab_project_cluster
\ gitlab_project_hook
\ gitlab_project_membership
\ gitlab_project_variable
+ \ gitlab_service_jira
\ gitlab_service_slack
\ gitlab_tag_protection
\ gitlab_user
@@ -2343,12 +2763,17 @@ syn keyword terraResourceTypeBI
\ google_bigquery_dataset
\ google_bigquery_table
\ google_bigtable_instance
+ \ google_bigtable_instance_iam_binding
+ \ google_bigtable_instance_iam_member
+ \ google_bigtable_instance_iam_policy
\ google_bigtable_table
\ google_billing_account_iam_binding
\ google_billing_account_iam_member
\ google_billing_account_iam_policy
\ google_binary_authorization_attestor
\ google_binary_authorization_policy
+ \ google_cloud_run_domain_mapping
+ \ google_cloud_run_service
\ google_cloud_scheduler_job
\ google_cloudbuild_trigger
\ google_cloudfunctions_function
@@ -2362,10 +2787,12 @@ syn keyword terraResourceTypeBI
\ google_compute_backend_service
\ google_compute_backend_service_signed_url_key
\ google_compute_disk
+ \ google_compute_external_vpn_gateway
\ google_compute_firewall
\ google_compute_forwarding_rule
\ google_compute_global_address
\ google_compute_global_forwarding_rule
+ \ google_compute_ha_vpn_gateway
\ google_compute_health_check
\ google_compute_http_health_check
\ google_compute_https_health_check
@@ -2381,16 +2808,19 @@ syn keyword terraResourceTypeBI
\ google_compute_interconnect_attachment
\ google_compute_managed_ssl_certificate
\ google_compute_network
+ \ google_compute_network_endpoint
\ google_compute_network_endpoint_group
\ google_compute_network_peering
\ google_compute_node_group
\ google_compute_node_template
+ \ google_compute_project_default_network_tier
\ google_compute_project_metadata
\ google_compute_project_metadata_item
\ google_compute_region_autoscaler
\ google_compute_region_backend_service
\ google_compute_region_disk
\ google_compute_region_instance_group_manager
+ \ google_compute_resource_policy
\ google_compute_route
\ google_compute_router
\ google_compute_router_interface
@@ -2438,6 +2868,22 @@ syn keyword terraResourceTypeBI
\ google_folder_iam_member
\ google_folder_iam_policy
\ google_folder_organization_policy
+ \ google_healthcare_dataset
+ \ google_healthcare_dataset_iam_binding
+ \ google_healthcare_dataset_iam_member
+ \ google_healthcare_dataset_iam_policy
+ \ google_healthcare_dicom_store
+ \ google_healthcare_dicom_store_iam_binding
+ \ google_healthcare_dicom_store_iam_member
+ \ google_healthcare_dicom_store_iam_policy
+ \ google_healthcare_fhir_store
+ \ google_healthcare_fhir_store_iam_binding
+ \ google_healthcare_fhir_store_iam_member
+ \ google_healthcare_fhir_store_iam_policy
+ \ google_healthcare_hl7_v2_store
+ \ google_healthcare_hl7_v2_store_iam_binding
+ \ google_healthcare_hl7_v2_store_iam_member
+ \ google_healthcare_hl7_v2_store_iam_policy
\ google_iap_tunnel_instance_iam_binding
\ google_iap_tunnel_instance_iam_member
\ google_iap_tunnel_instance_iam_policy
@@ -2496,6 +2942,9 @@ syn keyword terraResourceTypeBI
\ google_service_account_key
\ google_service_networking_connection
\ google_sourcerepo_repository
+ \ google_sourcerepo_repository_iam_binding
+ \ google_sourcerepo_repository_iam_member
+ \ google_sourcerepo_repository_iam_policy
\ google_spanner_database
\ google_spanner_database_iam_binding
\ google_spanner_database_iam_member
@@ -2534,8 +2983,12 @@ syn keyword terraResourceTypeBI
\ gridscale_storage
\ hcloud_floating_ip
\ hcloud_floating_ip_assignment
+ \ hcloud_network
+ \ hcloud_network_route
+ \ hcloud_network_subnet
\ hcloud_rdns
\ hcloud_server
+ \ hcloud_server_network
\ hcloud_ssh_key
\ hcloud_volume
\ hcloud_volume_attachment
@@ -2574,7 +3027,9 @@ syn keyword terraResourceTypeBI
\ huaweicloud_blockstorage_volume_v2
\ huaweicloud_cce_cluster_v3
\ huaweicloud_cce_node_v3
+ \ huaweicloud_cdm_cluster_v1
\ huaweicloud_ces_alarmrule
+ \ huaweicloud_cloudtable_cluster_v2
\ huaweicloud_compute_floatingip_associate_v2
\ huaweicloud_compute_floatingip_v2
\ huaweicloud_compute_instance_v2
@@ -2582,10 +3037,16 @@ syn keyword terraResourceTypeBI
\ huaweicloud_compute_secgroup_v2
\ huaweicloud_compute_servergroup_v2
\ huaweicloud_compute_volume_attach_v2
+ \ huaweicloud_cs_cluster_v1
+ \ huaweicloud_cs_peering_connect_v1
+ \ huaweicloud_cs_route_v1
\ huaweicloud_csbs_backup_policy_v1
\ huaweicloud_csbs_backup_v1
+ \ huaweicloud_css_cluster_v1
\ huaweicloud_cts_tracker_v1
\ huaweicloud_dcs_instance_v1
+ \ huaweicloud_dis_stream_v2
+ \ huaweicloud_dli_queue_v1
\ huaweicloud_dms_group_v1
\ huaweicloud_dms_instance_v1
\ huaweicloud_dms_queue_v1
@@ -2599,6 +3060,7 @@ syn keyword terraResourceTypeBI
\ huaweicloud_fw_firewall_group_v2
\ huaweicloud_fw_policy_v2
\ huaweicloud_fw_rule_v2
+ \ huaweicloud_ges_graph_v1
\ huaweicloud_iam_agency_v3
\ huaweicloud_identity_group_membership_v3
\ huaweicloud_identity_group_v3
@@ -2648,6 +3110,11 @@ syn keyword terraResourceTypeBI
\ huaweicloud_vpc_route_v2
\ huaweicloud_vpc_subnet_v1
\ huaweicloud_vpc_v1
+ \ huaweicloud_vpnaas_endpoint_group_v2
+ \ huaweicloud_vpnaas_ike_policy_v2
+ \ huaweicloud_vpnaas_ipsec_policy_v2
+ \ huaweicloud_vpnaas_service_v2
+ \ huaweicloud_vpnaas_site_connection_v2
\ icinga2_checkcommand
\ icinga2_host
\ icinga2_hostgroup
@@ -2663,6 +3130,7 @@ syn keyword terraResourceTypeBI
\ jdcloud_eip
\ jdcloud_eip_association
\ jdcloud_instance
+ \ jdcloud_instance_ag_instance
\ jdcloud_instance_template
\ jdcloud_key_pairs
\ jdcloud_network_acl
@@ -2684,11 +3152,13 @@ syn keyword terraResourceTypeBI
\ kubernetes_cluster_role
\ kubernetes_cluster_role_binding
\ kubernetes_config_map
+ \ kubernetes_cron_job
\ kubernetes_daemonset
\ kubernetes_deployment
\ kubernetes_endpoints
\ kubernetes_horizontal_pod_autoscaler
\ kubernetes_ingress
+ \ kubernetes_job
\ kubernetes_limit_range
\ kubernetes_namespace
\ kubernetes_network_policy
@@ -2866,11 +3336,14 @@ syn keyword terraResourceTypeBI
\ oci_core_instance_pool
\ oci_core_internet_gateway
\ oci_core_ipsec
+ \ oci_core_ipsec_connection_tunnel_management
\ oci_core_listing_resource_version
\ oci_core_listing_resource_version_agreement
\ oci_core_listing_resource_versions
\ oci_core_local_peering_gateway
\ oci_core_nat_gateway
+ \ oci_core_network_security_group
+ \ oci_core_network_security_group_security_rule
\ oci_core_private_ip
\ oci_core_public_ip
\ oci_core_remote_peering_connection
@@ -2888,26 +3361,33 @@ syn keyword terraResourceTypeBI
\ oci_core_volume_backup_policy_assignment
\ oci_core_volume_group
\ oci_core_volume_group_backup
+ \ oci_database_autonomous_container_database
\ oci_database_autonomous_data_warehouse
\ oci_database_autonomous_data_warehouse_backup
\ oci_database_autonomous_database
\ oci_database_autonomous_database_backup
+ \ oci_database_autonomous_exadata_infrastructure
\ oci_database_backup
\ oci_database_data_guard_association
\ oci_database_db_home
\ oci_database_db_system
\ oci_database_exadata_iorm_config
+ \ oci_database_maintenance_run
\ oci_dns_record
\ oci_dns_steering_policy
\ oci_dns_steering_policy_attachment
\ oci_dns_zone
\ oci_email_sender
\ oci_email_suppression
+ \ oci_events_rule
\ oci_file_storage_export
\ oci_file_storage_export_set
\ oci_file_storage_file_system
\ oci_file_storage_mount_target
\ oci_file_storage_snapshot
+ \ oci_functions_application
+ \ oci_functions_function
+ \ oci_functions_invoke_function
\ oci_health_checks_http_monitor
\ oci_health_checks_http_probe
\ oci_health_checks_ping_monitor
@@ -2936,6 +3416,7 @@ syn keyword terraResourceTypeBI
\ oci_kms_key
\ oci_kms_key_version
\ oci_kms_vault
+ \ oci_limits_quota
\ oci_load_balancer
\ oci_load_balancer_backend
\ oci_load_balancer_backend_set
@@ -3036,6 +3517,8 @@ syn keyword terraResourceTypeBI
\ openstack_identity_role_v3
\ openstack_identity_user_v3
\ openstack_images_image_v2
+ \ openstack_keymanager_container_v1
+ \ openstack_keymanager_secret_v1
\ openstack_lb_l7policy_v2
\ openstack_lb_l7rule_v2
\ openstack_lb_listener_v2
@@ -3053,6 +3536,10 @@ syn keyword terraResourceTypeBI
\ openstack_networking_network_v2
\ openstack_networking_port_secgroup_associate_v2
\ openstack_networking_port_v2
+ \ openstack_networking_qos_bandwidth_limit_rule_v2
+ \ openstack_networking_qos_dscp_marking_rule_v2
+ \ openstack_networking_qos_minimum_bandwidth_rule_v2
+ \ openstack_networking_qos_policy_v2
\ openstack_networking_router_interface_v2
\ openstack_networking_router_route_v2
\ openstack_networking_router_v2
@@ -3141,6 +3628,7 @@ syn keyword terraResourceTypeBI
\ opentelekomcloud_networking_vip_v2
\ opentelekomcloud_rds_instance_v1
\ opentelekomcloud_rds_instance_v3
+ \ opentelekomcloud_rds_parametergroup_v3
\ opentelekomcloud_rts_software_config_v1
\ opentelekomcloud_rts_software_deployment_v1
\ opentelekomcloud_rts_stack_resource_v1
@@ -3148,6 +3636,7 @@ syn keyword terraResourceTypeBI
\ opentelekomcloud_s3_bucket
\ opentelekomcloud_s3_bucket_object
\ opentelekomcloud_s3_bucket_policy
+ \ opentelekomcloud_sdrs_protectiongroup_v1
\ opentelekomcloud_sfs_file_system_v2
\ opentelekomcloud_smn_subscription_v2
\ opentelekomcloud_smn_topic_v2
@@ -3160,6 +3649,15 @@ syn keyword terraResourceTypeBI
\ opentelekomcloud_vpc_route_v2
\ opentelekomcloud_vpc_subnet_v1
\ opentelekomcloud_vpc_v1
+ \ opentelekomcloud_waf_ccattackprotection_rule_v1
+ \ opentelekomcloud_waf_certificate_v1
+ \ opentelekomcloud_waf_datamasking_rule_v1
+ \ opentelekomcloud_waf_domain_v1
+ \ opentelekomcloud_waf_falsealarmmasking_rule_v1
+ \ opentelekomcloud_waf_policy_v1
+ \ opentelekomcloud_waf_preciseprotection_rule_v1
+ \ opentelekomcloud_waf_webtamperprotection_rule_v1
+ \ opentelekomcloud_waf_whiteblackip_rule_v1
\ opsgenie_team
\ opsgenie_user
\ oraclepaas_application_container
@@ -3214,6 +3712,7 @@ syn keyword terraResourceTypeBI
\ panos_address_group
\ panos_address_object
\ panos_administrative_tag
+ \ panos_aggregate_interface
\ panos_bfd_profile
\ panos_bgp
\ panos_bgp_aggregate
@@ -3233,21 +3732,26 @@ syn keyword terraResourceTypeBI
\ panos_edl
\ panos_ethernet_interface
\ panos_general_settings
+ \ panos_gre_tunnel
\ panos_ike_crypto_profile
\ panos_ike_gateway
\ panos_ipsec_crypto_profile
\ panos_ipsec_tunnel
\ panos_ipsec_tunnel_proxy_id_ipv4
+ \ panos_layer2_subinterface
+ \ panos_layer3_subinterface
\ panos_license_api_key
\ panos_licensing
\ panos_loopback_interface
\ panos_management_profile
+ \ panos_monitor_profile
\ panos_nat_policy
\ panos_nat_rule
\ panos_nat_rule_group
\ panos_panorama_address_group
\ panos_panorama_address_object
\ panos_panorama_administrative_tag
+ \ panos_panorama_aggregate_interface
\ panos_panorama_bfd_profile
\ panos_panorama_bgp
\ panos_panorama_bgp_aggregate
@@ -3267,16 +3771,24 @@ syn keyword terraResourceTypeBI
\ panos_panorama_device_group_entry
\ panos_panorama_edl
\ panos_panorama_ethernet_interface
+ \ panos_panorama_gcp_account
+ \ panos_panorama_gke_cluster
+ \ panos_panorama_gke_cluster_group
+ \ panos_panorama_gre_tunnel
\ panos_panorama_ike_crypto_profile
\ panos_panorama_ike_gateway
\ panos_panorama_ipsec_crypto_profile
\ panos_panorama_ipsec_tunnel
\ panos_panorama_ipsec_tunnel_proxy_id_ipv4
+ \ panos_panorama_layer2_subinterface
+ \ panos_panorama_layer3_subinterface
\ panos_panorama_loopback_interface
\ panos_panorama_management_profile
+ \ panos_panorama_monitor_profile
\ panos_panorama_nat_policy
\ panos_panorama_nat_rule
\ panos_panorama_nat_rule_group
+ \ panos_panorama_pbf_rule_group
\ panos_panorama_redistribution_profile_ipv4
\ panos_panorama_security_policies
\ panos_panorama_security_policy
@@ -3293,9 +3805,12 @@ syn keyword terraResourceTypeBI
\ panos_panorama_tunnel_interface
\ panos_panorama_virtual_router
\ panos_panorama_virtual_router_entry
+ \ panos_panorama_vlan
+ \ panos_panorama_vlan_entry
\ panos_panorama_vlan_interface
\ panos_panorama_zone
\ panos_panorama_zone_entry
+ \ panos_pbf_rule_group
\ panos_redistribution_profile_ipv4
\ panos_security_policies
\ panos_security_policy
@@ -3308,6 +3823,8 @@ syn keyword terraResourceTypeBI
\ panos_tunnel_interface
\ panos_virtual_router
\ panos_virtual_router_entry
+ \ panos_vlan
+ \ panos_vlan_entry
\ panos_vlan_interface
\ panos_zone
\ panos_zone_entry
@@ -3318,6 +3835,7 @@ syn keyword terraResourceTypeBI
\ postgresql_role
\ postgresql_schema
\ powerdns_record
+ \ powerdns_zone
\ profitbricks_datacenter
\ profitbricks_firewall
\ profitbricks_group
@@ -3354,6 +3872,7 @@ syn keyword terraResourceTypeBI
\ rancher2_cluster_logging
\ rancher2_cluster_role_template_binding
\ rancher2_etcd_backup
+ \ rancher2_global_role_binding
\ rancher2_namespace
\ rancher2_node_driver
\ rancher2_node_pool
@@ -3361,7 +3880,9 @@ syn keyword terraResourceTypeBI
\ rancher2_project
\ rancher2_project_logging
\ rancher2_project_role_template_binding
+ \ rancher2_registry
\ rancher2_setting
+ \ rancher2_user
\ rancher_certificate
\ rancher_environment
\ rancher_host
@@ -3373,6 +3894,7 @@ syn keyword terraResourceTypeBI
\ rancher_volume
\ random_id
\ random_integer
+ \ random_password
\ random_pet
\ random_shuffle
\ random_string
@@ -3403,12 +3925,18 @@ syn keyword terraResourceTypeBI
\ runscope_step
\ runscope_test
\ 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_ip
\ scaleway_ip_reverse_dns
\ scaleway_security_group
\ scaleway_security_group_rule
\ scaleway_server
\ scaleway_ssh_key
+ \ scaleway_storage_object_bucket
\ scaleway_token
\ scaleway_user_data
\ scaleway_volume
@@ -3423,6 +3951,21 @@ syn keyword terraResourceTypeBI
\ selectel_vpc_token_v2
\ selectel_vpc_user_v2
\ selectel_vpc_vrrp_subnet_v2
+ \ signalfx_aws_integration
+ \ signalfx_azure_integration
+ \ signalfx_dashboard
+ \ signalfx_dashboard_group
+ \ signalfx_detector
+ \ signalfx_event_feed_chart
+ \ signalfx_gcp_integration
+ \ signalfx_heatmap_chart
+ \ signalfx_integration
+ \ signalfx_list_chart
+ \ signalfx_pagerduty_integration
+ \ signalfx_single_value_chart
+ \ signalfx_slack_integration
+ \ signalfx_text_chart
+ \ signalfx_time_chart
\ skytap_environment
\ skytap_network
\ skytap_project
@@ -3490,27 +4033,46 @@ syn keyword terraResourceTypeBI
\ telefonicaopencloud_vpc_v1
\ template_dir
\ tencentcloud_alb_server_attachment
+ \ tencentcloud_as_attachment
+ \ tencentcloud_as_lifecycle_hook
+ \ tencentcloud_as_notification
+ \ tencentcloud_as_scaling_config
+ \ tencentcloud_as_scaling_group
+ \ tencentcloud_as_scaling_policy
+ \ tencentcloud_as_schedule
\ tencentcloud_cbs_snapshot
+ \ tencentcloud_cbs_snapshot_policy
\ tencentcloud_cbs_storage
\ tencentcloud_cbs_storage_attachment
+ \ tencentcloud_ccn
+ \ tencentcloud_ccn_attachment
+ \ tencentcloud_ccn_bandwidth_limit
\ tencentcloud_container_cluster
\ tencentcloud_container_cluster_instance
\ tencentcloud_cos_bucket
\ tencentcloud_cos_bucket_object
+ \ tencentcloud_dc_gateway
+ \ tencentcloud_dc_gateway_ccn_route
+ \ tencentcloud_dcx
\ tencentcloud_dnat
\ tencentcloud_eip
\ tencentcloud_eip_association
\ tencentcloud_instance
\ tencentcloud_key_pair
\ tencentcloud_lb
+ \ tencentcloud_mongodb_instance
+ \ tencentcloud_mongodb_sharding_instance
\ tencentcloud_mysql_account
\ tencentcloud_mysql_account_privilege
\ tencentcloud_mysql_backup_policy
\ tencentcloud_mysql_instance
\ tencentcloud_mysql_readonly_instance
\ tencentcloud_nat_gateway
+ \ tencentcloud_redis_backup_config
+ \ tencentcloud_redis_instance
\ tencentcloud_route_entry
\ tencentcloud_route_table
+ \ tencentcloud_route_table_entry
\ tencentcloud_security_group
\ tencentcloud_security_group_rule
\ tencentcloud_subnet
@@ -3546,12 +4108,15 @@ syn keyword terraResourceTypeBI
\ ucloud_eip
\ ucloud_eip_association
\ ucloud_instance
+ \ ucloud_isolation_group
\ ucloud_lb
\ ucloud_lb_attachment
\ ucloud_lb_listener
\ ucloud_lb_rule
\ ucloud_lb_ssl
\ ucloud_lb_ssl_attachment
+ \ ucloud_memcache_instance
+ \ ucloud_redis_instance
\ ucloud_security_group
\ ucloud_subnet
\ ucloud_udpn_connection
@@ -3563,90 +4128,6 @@ syn keyword terraResourceTypeBI
\ ultradns_rdpool
\ ultradns_record
\ ultradns_tcpool
- \ vault_approle_auth_backend_login
- \ vault_approle_auth_backend_role
- \ vault_approle_auth_backend_role_secret_id
- \ vault_audit
- \ vault_auth_backend
- \ vault_aws_auth_backend_cert
- \ vault_aws_auth_backend_client
- \ vault_aws_auth_backend_identity_whitelist
- \ vault_aws_auth_backend_login
- \ vault_aws_auth_backend_role
- \ vault_aws_auth_backend_role_tag
- \ vault_aws_auth_backend_roletag_blacklist
- \ vault_aws_auth_backend_sts_role
- \ vault_aws_secret_backend
- \ vault_aws_secret_backend_role
- \ vault_azure_auth_backend_config
- \ vault_azure_auth_backend_role
- \ vault_cert_auth_backend_role
- \ vault_consul_secret_backend
- \ vault_database_secret_backend_connection
- \ vault_database_secret_backend_role
- \ vault_egp_policy
- \ vault_gcp_auth_backend
- \ vault_gcp_auth_backend_role
- \ vault_gcp_secret_backend
- \ vault_gcp_secret_roleset
- \ vault_generic_endpoint
- \ vault_generic_secret
- \ vault_github_auth_backend
- \ vault_github_team
- \ vault_github_user
- \ vault_identity_entity
- \ vault_identity_entity_alias
- \ vault_identity_group
- \ vault_identity_group_alias
- \ vault_identity_group_policies
- \ vault_jwt_auth_backend
- \ vault_jwt_auth_backend_role
- \ vault_kubernetes_auth_backend_config
- \ vault_kubernetes_auth_backend_role
- \ vault_ldap_auth_backend
- \ vault_ldap_auth_backend_group
- \ vault_ldap_auth_backend_user
- \ vault_mount
- \ vault_namespace
- \ vault_okta_auth_backend
- \ vault_okta_auth_backend_group
- \ vault_okta_auth_backend_user
- \ vault_pki_secret_backend
- \ vault_pki_secret_backend_cert
- \ vault_pki_secret_backend_config_ca
- \ vault_pki_secret_backend_config_urls
- \ vault_pki_secret_backend_intermediate_cert_request
- \ vault_pki_secret_backend_intermediate_set_signed
- \ vault_pki_secret_backend_role
- \ vault_pki_secret_backend_root_cert
- \ vault_pki_secret_backend_root_sign_intermediate
- \ vault_pki_secret_backend_sign
- \ vault_policy
- \ vault_rabbitmq_secret_backend
- \ vault_rabbitmq_secret_backend_role
- \ vault_rgp_policy
- \ vault_ssh_secret_backend_ca
- \ vault_ssh_secret_backend_role
- \ vault_token
- \ vault_token_auth_backend_role
- \ vcd_catalog
- \ vcd_catalog_item
- \ vcd_catalog_media
- \ vcd_dnat
- \ vcd_edgegateway_vpn
- \ vcd_external_network
- \ vcd_firewall_rules
- \ vcd_independent_disk
- \ vcd_inserted_media
- \ vcd_network_direct
- \ vcd_network_isolated
- \ vcd_network_routed
- \ vcd_org
- \ vcd_org_vdc
- \ vcd_snat
- \ vcd_vapp
- \ vcd_vapp_network
- \ vcd_vapp_vm
\ vra7_deployment
\ vsphere_compute_cluster
\ vsphere_compute_cluster_host_group
@@ -3683,6 +4164,7 @@ syn keyword terraResourceTypeBI
\ yandex_compute_disk
\ yandex_compute_image
\ yandex_compute_instance
+ \ yandex_compute_instance_group
\ yandex_compute_snapshot
\ yandex_iam_service_account
\ yandex_iam_service_account_iam_binding
diff --git a/syntax/toml.vim b/syntax/toml.vim
index 839ea01e..0299d28e 100644
--- a/syntax/toml.vim
+++ b/syntax/toml.vim
@@ -65,6 +65,10 @@ hi def link tomlTable Title
syn region tomlTableArray oneline start=/^\s*\[\[/ end=/\]\]/ contains=tomlKey,tomlKeyDq,tomlKeySq
hi def link tomlTableArray Title
+syn cluster tomlValue contains=tomlArray,tomlString,tomlInteger,tomlFloat,tomlBoolean,tomlDate,tomlComment
+syn region tomlKeyValueArray start=/=\s*\[\zs/ end=/\]/ contains=@tomlValue
+syn region tomlArray start=/\[/ end=/\]/ contains=@tomlValue contained
+
syn keyword tomlTodo TODO FIXME XXX BUG contained
hi def link tomlTodo Todo
diff --git a/syntax/vifm.vim b/syntax/vifm.vim
index 6be58ddc..eb92a074 100644
--- a/syntax/vifm.vim
+++ b/syntax/vifm.vim
@@ -4,7 +4,7 @@ endif
" vifm syntax file
" Maintainer: xaizek <xaizek@posteo.net>
-" Last Change: June 3, 2019
+" Last Change: July 12, 2019
" Inspired By: Vim syntax file by Dr. Charles E. Campbell, Jr.
if exists('b:current_syntax')
@@ -17,17 +17,30 @@ let s:cpo_save = &cpo
set cpo-=C
" General commands
-syntax keyword vifmCommand contained alink apropos bmark bmarks bmgo cds change
- \ chmod chown clone compare cope[n] co[py] cq[uit] d[elete] delbmarks
- \ delm[arks] di[splay] dirs e[dit] el[se] empty en[dif] exi[t] file fin[d]
- \ fini[sh] go[to] gr[ep] h[elp] hideui histnext his[tory] histprev jobs
- \ locate ls lstrash marks media mes[sages] mkdir m[ove] noh[lsearch] on[ly]
- \ popd pushd pu[t] pw[d] qa[ll] q[uit] redr[aw] reg[isters] regular rename
- \ restart restore rlink screen sh[ell] siblnext siblprev sor[t] sp[lit]
- \ s[ubstitute] tabc[lose] tabm[ove] tabname tabnew tabn[ext] tabp[revious]
- \ touch tr trashes tree sync undol[ist] ve[rsion] vie[w] vifm vs[plit]
- \ winc[md] w[rite] wq wqa[ll] xa[ll] x[it] y[ank]
+syntax keyword vifmCommand contained
+ \ alink apropos bmark bmarks bmgo cds change chmod chown clone compare
+ \ cope[n] co[py] cq[uit] d[elete] delbmarks delm[arks] di[splay] dirs e[dit]
+ \ el[se] empty en[dif] exi[t] file fin[d] fini[sh] go[to] gr[ep] h[elp]
+ \ hideui histnext his[tory] histprev jobs locate ls lstrash marks media
+ \ mes[sages] mkdir m[ove] noh[lsearch] on[ly] popd pushd pu[t] pw[d] qa[ll]
+ \ q[uit] redr[aw] reg[isters] regular rename restart restore rlink screen
+ \ sh[ell] siblnext siblprev sor[t] sp[lit] s[ubstitute] tabc[lose] tabm[ove]
+ \ tabname tabnew tabn[ext] tabp[revious] touch tr trashes tree sync
+ \ undol[ist] ve[rsion] vie[w] vifm vs[plit] winc[md] w[rite] wq wqa[ll]
+ \ xa[ll] x[it] y[ank]
\ nextgroup=vifmArgs
+syntax keyword vifmCommandCN contained
+ \ alink apropos bmark bmarks bmgo cds change chmod chown clone compare
+ \ cope[n] co[py] cq[uit] d[elete] delbmarks delm[arks] di[splay] dirs e[dit]
+ \ el[se] empty en[dif] exi[t] file fin[d] fini[sh] go[to] gr[ep] h[elp]
+ \ hideui histnext his[tory] histprev jobs locate ls lstrash marks media
+ \ mes[sages] mkdir m[ove] noh[lsearch] on[ly] popd pushd pu[t] pw[d] qa[ll]
+ \ q[uit] redr[aw] reg[isters] regular rename restart restore rlink screen
+ \ sh[ell] siblnext siblprev sor[t] sp[lit] s[ubstitute] tabc[lose] tabm[ove]
+ \ tabname tabnew tabn[ext] tabp[revious] touch tr trashes tree sync
+ \ undol[ist] ve[rsion] vie[w] vifm vs[plit] winc[md] w[rite] wq wqa[ll]
+ \ xa[ll] x[it] y[ank]
+ \ nextgroup=vifmArgsCN
" commands that might be prepended to a command without changing everything else
syntax keyword vifmPrefixCommands contained windo winrun
@@ -67,7 +80,7 @@ syntax case match
" Builtin functions
syntax match vifmBuiltinFunction
- \ '\(chooseopt\|expand\|executable\|filetype\|fnameescape\|getpanetype\|has\|layoutis\|paneisat\|system\|tabpagenr\|term\)\ze('
+ \ '\(chooseopt\|expand\|executable\|extcached\|filetype\|fnameescape\|getpanetype\|has\|layoutis\|paneisat\|system\|tabpagenr\|term\)\ze('
" Operators
syntax match vifmOperator "\(==\|!=\|>=\?\|<=\?\|\.\|-\|+\|&&\|||\)" skipwhite
@@ -167,11 +180,12 @@ syntax region vifmStatement start='^\(\s\|:\)*'
" Contained statement with highlighting of angle-brace notation.
syntax region vifmStatementCN start='\(\s\|:\)*'
\ skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$' keepend contained
- \ contains=vifmCommand,vifmCmdCommand,vifmCmdCommandSt,vifmMarkCommandSt
+ \ contains=vifmCommandCN,vifmCmdCommand,vifmCmdCommandSt,vifmMarkCommandSt
\,vifmFtCommandStN,vifmCMapAbbr,vifmMap,vifmMapSt,vifmCMapSt,vifmExecute
\,vifmComment,vifmInlineComment,vifmNotComment,vifmExprCommandSt,vifmNormalCommandSt
\,vifmNotation,vifmCdCommandStN,vifmSetN,vifmArgument,vifmSoCommand
\,vifmSoCommandStN,vifmInvertCommand,vifmInvertCommandStN,vifmPrefixCommands
+ \,vifmLetCN
" Contained statement without highlighting of angle-brace notation.
syntax region vifmStatementC start='\(\s\|:\)*'
\ skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$' keepend contained
@@ -306,11 +320,18 @@ syntax region vifmFtBeginning contained
\ end='\s' keepend
\ contains=vifmFtCommand,vifmPattern
-" common highlight for :command arguments
+" common highlight for :command arguments without highlighting of angle-bracket
+" notation
syntax region vifmArgs start='!\?\zs\(\s*\S\+\|[^a-zA-Z]\)'
\ skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='|\|$'
\ contained
\ contains=vifmStringInExpr
+" common highlight for :command arguments with highlighting of angle-bracket
+" notation
+syntax region vifmArgsCN start='!\?\zs\(\s*\S\+\|[^a-zA-Z]\)'
+ \ skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='|\|$'
+ \ contained
+ \ contains=vifmStringInExpr,vifmNotation
syntax region vifmSet
\ start='\(\s\|:\)*\<\(se\%[t]\|setg\%[lobal]\|setl\%[ocal]\)\>'
@@ -352,16 +373,24 @@ syntax region vifmSetAssignNSN contained
\ extend
\ contains=vifmNumber,vifmComment,vifmInlineComment,vifmNotation
+" :let command with highlighting of angle-brace notation.
syntax region vifmLet
\ start='^\(\s\|:\)*\<let\>' skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$'
\ keepend
\ contains=vifmLetCommand,vifmEnvVar,vifmString,vifmStringInExpr,vifmComment
\,vifmInlineComment,vifmNotComment
+" Contained :let command without highlighting of angle-brace notation.
syntax region vifmLetC
\ start='\<let\>' skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$\||'
\ keepend
\ contains=vifmLetCommand,vifmEnvVar,vifmString,vifmStringInExpr,vifmComment
\,vifmInlineComment,vifmNotComment,vifmBuiltinFunction
+" Contained :let command with highlighting of angle-brace notation.
+syntax region vifmLetCN
+ \ start='\<let\>' skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$\||'
+ \ keepend
+ \ contains=vifmLetCommand,vifmEnvVar,vifmString,vifmStringInExpr,vifmComment
+ \,vifmInlineComment,vifmNotComment,vifmBuiltinFunction,vifmNotation
syntax region vifmUnlet
\ start='^\(\s\|:\)*\<unl\%[et]\>' skip='\(\n\s*\\\)\|\(\n\s*".*$\)' end='$'
\ keepend
@@ -416,6 +445,7 @@ highlight link vifmPatternCommands Statement
highlight link vifmComment Comment
highlight link vifmInlineComment Comment
highlight link vifmCommand Statement
+highlight link vifmCommandCN Statement
highlight link vifmPrefixCommands Statement
highlight link vifmCdCommand Statement
highlight link vifmCmdCommand Statement
diff --git a/syntax/vue.vim b/syntax/vue.vim
index a7fd0733..5a054132 100644
--- a/syntax/vue.vim
+++ b/syntax/vue.vim
@@ -10,6 +10,11 @@ if exists("b:current_syntax")
finish
endif
+" Convert deprecated variable to new one
+if exists('g:vue_disable_pre_processors') && g:vue_disable_pre_processors
+ let g:vue_pre_processors = []
+endif
+
runtime! syntax/html.vim
syntax clear htmlTagName
syntax match htmlTagName contained "\<[a-zA-Z0-9:-]*\>"
@@ -21,47 +26,57 @@ 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'))
+function! s:should_register(language, start_pattern)
+ " Check whether a syntax file for {language} exists
+ if empty(globpath(&runtimepath, 'syntax/' . a:language . '.vim'))
+ return 0
+ endif
+
+ if exists('g:vue_pre_processors')
+ if type(g:vue_pre_processors) == v:t_list
+ return index(g:vue_pre_processors, s:language.name) != -1
+ elseif g:vue_pre_processors is# 'detect_on_enter'
+ return search(a:start_pattern, 'n') != 0
+ endif
+ endif
+
+ return 1
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)
+let s:languages = [
+ \ {'name': 'less', 'tag': 'style'},
+ \ {'name': 'pug', 'tag': 'template', 'attr_pattern': s:attr('lang', '\%(pug\|jade\)')},
+ \ {'name': 'slm', 'tag': 'template'},
+ \ {'name': 'handlebars', 'tag': 'template'},
+ \ {'name': 'haml', 'tag': 'template'},
+ \ {'name': 'typescript', 'tag': 'script', 'attr_pattern': '\%(lang=\("\|''\)[^\1]*\(ts\|typescript\)[^\1]*\1\|ts\)'},
+ \ {'name': 'coffee', 'tag': 'script'},
+ \ {'name': 'stylus', 'tag': 'style'},
+ \ {'name': 'sass', 'tag': 'style'},
+ \ {'name': 'scss', 'tag': 'style'},
+ \ ]
+
+for s:language in s:languages
+ let s:attr_pattern = has_key(s:language, 'attr_pattern') ? s:language.attr_pattern : s:attr('lang', s:language.name)
+ let s:start_pattern = '<' . s:language.tag . '\>\_[^>]*' . s:attr_pattern . '\_[^>]*>'
- if s:syntax_available(a:language)
- execute 'syntax include @' . a:language . ' syntax/' . a:language . '.vim'
+ if s:should_register(s:language.name, s:start_pattern)
+ execute 'syntax include @' . s:language.name . ' syntax/' . s:language.name . '.vim'
unlet! b:current_syntax
- execute 'syntax region vue_' . a:language
+ execute 'syntax region vue_' . s:language.name
\ 'keepend'
- \ 'start=/<' . a:tag . '\>\_[^>]*' . attr . '\_[^>]*>/'
- \ 'end="</' . a:tag . '>"me=s-1'
- \ 'contains=@' . a:language . ',vueSurroundingTag'
+ \ 'start=/' . s:start_pattern . '/'
+ \ 'end="</' . s:language.tag . '>"me=s-1'
+ \ 'contains=@' . s:language.name . ',vueSurroundingTag'
\ 'fold'
endif
-endfunction
-
-if !exists("g:vue_disable_pre_processors") || !g:vue_disable_pre_processors
- call s:register_language('less', 'style')
- 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')
-endif
+endfor
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
+syntax sync fromstart
+
let b:current_syntax = "vue"
diff --git a/syntax/zig.vim b/syntax/zig.vim
index a4a28af8..47742d7f 100644
--- a/syntax/zig.vim
+++ b/syntax/zig.vim
@@ -14,13 +14,13 @@ let b:current_syntax = "zig"
syn keyword zigStorage const var extern packed export pub noalias inline comptime nakedcc stdcallcc volatile allowzero align linksection threadlocal
syn keyword zigStructure struct enum union error
-syn keyword zigStatement break return continue asm defer errdefer unreachable try catch async await suspend resume cancel
+syn keyword zigStatement break return continue asm defer errdefer unreachable try catch async await suspend resume
syn keyword zigConditional if else switch and or orelse
syn keyword zigRepeat while for
syn keyword zigConstant null undefined
syn keyword zigKeyword fn usingnamespace test
-syn keyword zigType bool f16 f32 f64 f128 void noreturn type anyerror promise
+syn keyword zigType bool f16 f32 f64 f128 void noreturn type anyerror anyframe
syn keyword zigType i0 u0 isize usize comptime_int comptime_float
syn keyword zigType c_short c_ushort c_int c_uint c_long c_ulong c_longlong c_ulonglong c_longdouble c_void
@@ -36,17 +36,18 @@ syn match zigBuiltinFn "\v\@(alignCast|alignOf|cDefine|cImport|cInclude)>"
syn match zigBuiltinFn "\v\@(cUndef|canImplicitCast|clz|cmpxchgWeak|cmpxchgStrong|compileError)>"
syn match zigBuiltinFn "\v\@(compileLog|ctz|popCount|divExact|divFloor|divTrunc)>"
syn match zigBuiltinFn "\v\@(embedFile|export|tagName|TagType|errorName)>"
-syn match zigBuiltinFn "\v\@(errorReturnTrace|fence|fieldParentPtr|field)>"
-syn match zigBuiltinFn "\v\@(frameAddress|import|inlineCall|newStackCall|intToPtr|IntType)>"
+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\@(noInlineCall|bitOffsetOf|byteOffsetOf|OpaqueType|panic|ptrCast)>"
syn match zigBuiltinFn "\v\@(ptrToInt|rem|returnAddress|setCold)>"
syn match zigBuiltinFn "\v\@(setRuntimeSafety|setEvalBranchQuota|setFloatMode)>"
-syn match zigBuiltinFn "\v\@(setGlobalLinkage|setGlobalSection|shlExact|This|hasDecl)>"
+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)>"
syn match zigBuiltinFn "\v\@(truncate|typeId|typeInfo|typeName|typeOf|atomicRmw|bytesToSlice|sliceToBytes)>"
-syn match zigBuiltinFn "\v\@(intToError|errorToInt|intToEnum|enumToInt|setAlignStack|handle|bitreverse|Vector)>"
+syn match zigBuiltinFn "\v\@(intToError|errorToInt|intToEnum|enumToInt|setAlignStack|frame|Frame|frameSize|bitReverse|Vector)>"
+syn match zigBuiltinFn "\v\@(sin|cos|exp|exp2|ln|log2|log10|fabs|floor|ceil|trunc|round)>"
syn match zigDecNumber display "\<[0-9]\+\%(.[0-9]\+\)\=\%([eE][+-]\?[0-9]\+\)\="
syn match zigHexNumber display "\<0x[a-fA-F0-9]\+\%([a-fA-F0-9]\+\%([pP][+-]\?[0-9]\+\)\?\)\="