summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--after/ftplugin/terraform.vim68
-rw-r--r--after/syntax/yaml.vim2
-rw-r--r--autoload/dart.vim9
-rw-r--r--autoload/fish.vim9
-rw-r--r--autoload/xml/html5.vim2
-rw-r--r--ftdetect/polyglot.vim3
-rw-r--r--ftplugin/fish.vim2
-rw-r--r--indent/javascript.vim36
-rw-r--r--indent/terraform.vim25
-rw-r--r--syntax/coffee.vim4
-rw-r--r--syntax/dart.vim4
-rw-r--r--syntax/fish.vim2
-rw-r--r--syntax/html.vim2
-rw-r--r--syntax/javascript.vim2
-rw-r--r--syntax/json.vim4
-rw-r--r--syntax/kotlin.vim4
-rw-r--r--syntax/nim.vim2
-rw-r--r--syntax/php.vim34
-rw-r--r--syntax/swift.vim10
-rw-r--r--syntax/terraform.vim235
20 files changed, 366 insertions, 93 deletions
diff --git a/after/ftplugin/terraform.vim b/after/ftplugin/terraform.vim
index a1750984..1328931a 100644
--- a/after/ftplugin/terraform.vim
+++ b/after/ftplugin/terraform.vim
@@ -8,6 +8,10 @@ if !exists('g:terraform_remap_spacebar')
let g:terraform_remap_spacebar = 0
endif
+if !exists('g:terraform_fold_sections')
+ let g:terraform_fold_sections = 0
+endif
+
if g:terraform_align && exists(':Tabularize')
inoremap <buffer> <silent> = =<Esc>:call <SID>terraformalign()<CR>a
function! s:terraformalign()
@@ -22,38 +26,39 @@ if g:terraform_align && exists(':Tabularize')
endfunction
endif
+if g:terraform_fold_sections
+ function! TerraformFolds()
+ 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
+ setlocal foldmethod=expr
+ setlocal foldexpr=TerraformFolds()
+ setlocal foldlevel=1
-function! TerraformFolds()
- 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
-setlocal foldmethod=expr
-setlocal foldexpr=TerraformFolds()
-setlocal foldlevel=1
-
-function! TerraformFoldText()
- let foldsize = (v:foldend-v:foldstart)
- return getline(v:foldstart).' ('.foldsize.' lines)'
-endfunction
-setlocal foldtext=TerraformFoldText()
+ function! TerraformFoldText()
+ let foldsize = (v:foldend-v:foldstart)
+ return getline(v:foldstart).' ('.foldsize.' lines)'
+ endfunction
+ setlocal foldtext=TerraformFoldText()
+endif
" Re-map the space bar to fold and unfold
if get(g:, "terraform_remap_spacebar", 1)
@@ -70,5 +75,4 @@ if get(g:, "terraform_align", 1)
setlocal shiftwidth=2
endif
-
endif
diff --git a/after/syntax/yaml.vim b/after/syntax/yaml.vim
index 89914cbe..b68c4b80 100644
--- a/after/syntax/yaml.vim
+++ b/after/syntax/yaml.vim
@@ -26,7 +26,7 @@ syn match yamlBlock "[\[\]\{\}\|\>]"
syn region yamlComment start="\#" end="$"
syn match yamlIndicator "#YAML:\S\+"
-syn region yamlString start="'" end="'" skip="\\'"
+syn region yamlString start="\%(^\| \)\zs'" end="'\ze\%( \|$\)" skip="\\'"
syn region yamlString start='"' end='"' skip='\\"' contains=yamlEscape
syn match yamlEscape +\\[abfnrtv'"\\]+ contained
syn match yamlEscape "\\\o\o\=\o\=" contained
diff --git a/autoload/dart.vim b/autoload/dart.vim
index 76013172..2ff55cb6 100644
--- a/autoload/dart.vim
+++ b/autoload/dart.vim
@@ -152,4 +152,13 @@ function! s:DotPackagesFile() abort
return [v:false, '']
endfunction
+" Prevent writes to files in the pub cache.
+function! dart#setModifiable() abort
+ let full_path = expand('%:p')
+ if full_path =~# '.pub-cache' ||
+ \ full_path =~# 'Pub\Cache'
+ setlocal nomodifiable
+ endif
+endfunction
+
endif
diff --git a/autoload/fish.vim b/autoload/fish.vim
index ac422a42..d4e63cdc 100644
--- a/autoload/fish.vim
+++ b/autoload/fish.vim
@@ -1,6 +1,7 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1
function! fish#Indent()
+ let l:shiftwidth = shiftwidth()
let l:prevlnum = prevnonblank(v:lnum - 1)
if l:prevlnum ==# 0
return 0
@@ -8,15 +9,15 @@ function! fish#Indent()
let l:indent = 0
let l:prevline = getline(l:prevlnum)
if l:prevline =~# '\v^\s*switch>'
- let l:indent = &shiftwidth * 2
+ let l:indent = l:shiftwidth * 2
elseif l:prevline =~# '\v^\s*%(begin|if|else|while|for|function|case)>'
- let l:indent = &shiftwidth
+ let l:indent = l:shiftwidth
endif
let l:line = getline(v:lnum)
if l:line =~# '\v^\s*end>'
- return indent(v:lnum) - (l:indent ==# 0 ? &shiftwidth : l:indent)
+ return indent(v:lnum) - (l:indent ==# 0 ? l:shiftwidth : l:indent)
elseif l:line =~# '\v^\s*%(case|else)>'
- return indent(v:lnum) - &shiftwidth
+ return indent(v:lnum) - l:shiftwidth
endif
return indent(l:prevlnum) + l:indent
endfunction
diff --git a/autoload/xml/html5.vim b/autoload/xml/html5.vim
index 4123dbe0..f3d0e9df 100644
--- a/autoload/xml/html5.vim
+++ b/autoload/xml/html5.vim
@@ -583,7 +583,7 @@ let g:xmldata_html5 = {
\ ],
\ 'img': [
\ [],
- \ extend(copy(global_attributes), {'src': [], 'alt': [], 'height': [], 'width': [], 'usemap': [], 'ismap': ['ismap', ''], 'referrerpolicy': ['no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'unsafe-url'], 'crossorigin': ['anonymous', 'use-credentials']})
+ \ extend(copy(global_attributes), {'src': [], 'alt': [], 'height': [], 'width': [], 'decoding': ['async', 'sync', 'auto'], 'usemap': [], 'ismap': ['ismap', ''], 'referrerpolicy': ['no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin', 'unsafe-url'], 'crossorigin': ['anonymous', 'use-credentials']})
\ ],
\ 'input': [
\ [],
diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim
index 8197de6d..0bef8008 100644
--- a/ftdetect/polyglot.vim
+++ b/ftdetect/polyglot.vim
@@ -395,7 +395,7 @@ augroup filetypedetect
" i3:PotatoesMaster/i3-vim-syntax
augroup i3_ftdetect
au!
- au BufRead,BufNewFile *i3/config set ft=i3
+ au BufRead,BufNewFile *i3/config,*sway/config set ft=i3
augroup END
augroup END
@@ -439,6 +439,7 @@ augroup filetypedetect
autocmd BufNewFile,BufRead *.json setlocal filetype=json
autocmd BufNewFile,BufRead *.jsonp setlocal filetype=json
autocmd BufNewFile,BufRead *.geojson setlocal filetype=json
+autocmd BufNewFile,BufRead *.template setlocal filetype=json
augroup END
augroup filetypedetect
diff --git a/ftplugin/fish.vim b/ftplugin/fish.vim
index f365208a..c6c1f6d8 100644
--- a/ftplugin/fish.vim
+++ b/ftplugin/fish.vim
@@ -31,7 +31,7 @@ endif
" Use the 'man' wrapper function in fish to include fish's man pages.
" Have to use a script for this; 'fish -c man' would make the the man page an
" argument to fish instead of man.
-execute 'setlocal keywordprg=fish\ '.expand('<sfile>:p:h:h').'/bin/man.fish'
+execute 'setlocal keywordprg=fish\ '.fnameescape(expand('<sfile>:p:h:h').'/bin/man.fish')
let b:match_words =
\ escape('<%(begin|function|if|switch|while|for)>:<end>', '<>%|)')
diff --git a/indent/javascript.vim b/indent/javascript.vim
index f6fda1dc..010077d4 100644
--- a/indent/javascript.vim
+++ b/indent/javascript.vim
@@ -4,7 +4,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') ==
" Language: Javascript
" Maintainer: Chris Paul ( https://github.com/bounceme )
" URL: https://github.com/pangloss/vim-javascript
-" Last Change: September 18, 2017
+" Last Change: December 4, 2017
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -121,11 +121,14 @@ function s:SkipFunc()
if eval(s:skip_expr)
return 1
endif
- elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn) && eval(s:skip_expr)
- let s:check_in = 1
- return 1
+ elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
+ if eval(s:skip_expr)
+ let s:check_in = 1
+ return 1
+ endif
+ else
+ let s:synid_cache[:] += [[line2byte('.') + col('.') - 1], ['']]
endif
- let s:synid_cache[:] += [[line2byte('.') + col('.') - 1], ['']]
let [s:looksyn, s:top_col] = getpos('.')[1:2]
endfunction
@@ -242,18 +245,18 @@ function s:Continues()
endfunction
" Check if line 'lnum' has a balanced amount of parentheses.
-function s:Balanced(lnum)
- let [l:open, l:line] = [0, getline(a:lnum)]
- let pos = match(l:line, '[][(){}]')
+function s:Balanced(lnum,line)
+ let l:open = 0
+ let pos = match(a:line, '[][(){}]')
while pos != -1
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
- let l:open += match(' ' . l:line[pos],'[[({]')
+ let l:open += match(' ' . a:line[pos],'[[({]')
if l:open < 0
return
endif
endif
- let pos = match(l:line, !l:open ? '[][(){}]' : '()' =~ l:line[pos] ?
- \ '[()]' : '{}' =~ l:line[pos] ? '[{}]' : '[][]', pos + 1)
+ let pos = match(a:line, !l:open ? '[][(){}]' : '()' =~ a:line[pos] ?
+ \ '[()]' : '{}' =~ a:line[pos] ? '[{}]' : '[][]', pos + 1)
endwhile
return !l:open
endfunction
@@ -266,8 +269,13 @@ function s:OneScope()
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
elseif s:Token() =~# '^else$\|^do$'
return s:Pure('s:PreviousToken') != '.'
+ elseif strpart(getline('.'),col('.')-2,2) == '=>'
+ call cursor(0,col('.')-1)
+ if s:PreviousToken() == ')'
+ return s:GetPair('(', ')', 'bW', s:skip_expr)
+ endif
+ return 1
endif
- return strpart(getline('.'),col('.')-2,2) == '=>'
endfunction
function s:DoWhile()
@@ -358,7 +366,7 @@ function GetJavascriptIndent()
return -1
endif
elseif s:stack[-1] =~? b:syng_str
- if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
+ if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1,getline(v:lnum-1))
let b:js_cache[0] = v:lnum
endif
return -1
@@ -385,7 +393,7 @@ function GetJavascriptIndent()
call cursor(v:lnum,1)
let idx = index([']',')','}'],l:line[0])
if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum ||
- \ b:js_cache[0] == l:lnum && s:Balanced(l:lnum)
+ \ b:js_cache[0] == l:lnum && s:Balanced(l:lnum,pline)
call call('cursor',b:js_cache[1:])
else
let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0,
diff --git a/indent/terraform.vim b/indent/terraform.vim
index 5a29dfb4..9a081ff8 100644
--- a/indent/terraform.vim
+++ b/indent/terraform.vim
@@ -1,13 +1,13 @@
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1
+" Only load this file if no other indent file was loaded
if exists("b:did_indent")
finish
endif
-
let b:did_indent = 1
setlocal nolisp
-setlocal autoindent
+setlocal autoindent sw=2 ts=2
setlocal indentexpr=TerraformIndent(v:lnum)
setlocal indentkeys+=<:>,0=},0=)
@@ -16,29 +16,30 @@ if exists("*TerraformIndent")
endif
function! TerraformIndent(lnum)
- " previous non-blank line
- let prevlnum = prevnonblank(a:lnum-1)
-
- " beginning of file?
- if prevlnum == 0
+ " Beginning of the file should have no indent
+ if a:lnum == 0
return 0
endif
- " previous line without comments
+ " Previous non-blank line should continue the indent level
+ let prevlnum = prevnonblank(a:lnum-1)
+
+ " Previous line without comments should continue the indent level
let prevline = substitute(getline(prevlnum), '//.*$', '', '')
let previndent = indent(prevlnum)
let thisindent = previndent
- " block open?
+ " Config block starting with [ { ( should increase the indent level
if prevline =~ '[\[{\(]\s*$'
let thisindent += &sw
endif
- " current line without comments
+ " Current line without comments should continue the indent level
let thisline = substitute(getline(a:lnum), '//.*$', '', '')
- " block close?
- if thisline =~ '^\s*[\)\]}]'
+ " Config block ending with ) } ] should get the indentation
+ " level from the initial config block
+ if thisline =~ '^\s*[\)}\]]'
let thisindent -= &sw
endif
diff --git a/syntax/coffee.vim b/syntax/coffee.vim
index f11a7c50..51973059 100644
--- a/syntax/coffee.vim
+++ b/syntax/coffee.vim
@@ -34,7 +34,7 @@ hi def link coffeeConditional Conditional
syn match coffeeException /\<\%(try\|catch\|finally\)\>/ display
hi def link coffeeException Exception
-syn match coffeeKeyword /\<\%(new\|in\|of\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\|yield\|debugger\|import\|export\|await\)\>/
+syn match coffeeKeyword /\<\%(new\|in\|of\|by\|and\|or\|not\|is\|isnt\|class\|extends\|super\|do\|yield\|debugger\|import\|export\|default\|await\)\>/
\ display
" The `own` keyword is only a keyword after `for`.
syn match coffeeKeyword /\<for\s\+own\>/ contained containedin=coffeeRepeat
@@ -109,7 +109,7 @@ hi def link coffeeFloat Float
" An error for reserved keywords, taken from the RESERVED array:
" http://coffeescript.org/documentation/docs/lexer.html#section-67
-syn match coffeeReservedError /\<\%(case\|default\|function\|var\|void\|with\|const\|let\|enum\|native\|implements\|interface\|package\|private\|protected\|public\|static\)\>/
+syn match coffeeReservedError /\<\%(case\|function\|var\|void\|with\|const\|let\|enum\|native\|implements\|interface\|package\|private\|protected\|public\|static\)\>/
\ display
hi def link coffeeReservedError Error
diff --git a/syntax/dart.vim b/syntax/dart.vim
index 7847b98f..2d56e25c 100644
--- a/syntax/dart.vim
+++ b/syntax/dart.vim
@@ -84,8 +84,8 @@ endif
syntax cluster dartStringContains contains=@dartRawStringContains,dartInterpolation,dartSpecialChar
syntax region dartString oneline start=+\z(["']\)+ end=+\z1+ contains=@dartStringContains keepend
syntax region dartRawString oneline start=+r\z(["']\)+ end=+\z1+ contains=@dartRawStringContains keepend
-syntax region dartMultilineString start=+\z("\{3\}\|'\{3\}\)+ end=+\z1+ contains=@dartStringContains
-syntax region dartRawMultilineString start=+r\z("\{3\}\|'\{3\}\)+ end=+\z1+ contains=@dartSRawtringContains
+syntax region dartMultilineString start=+\z("\{3\}\|'\{3\}\)+ end=+\z1+ contains=@dartStringContains keepend
+syntax region dartRawMultilineString start=+r\z("\{3\}\|'\{3\}\)+ end=+\z1+ contains=@dartSRawtringContains keepend
syntax match dartInterpolation contained "\$\(\w\+\|{[^}]\+}\)" extend
syntax match dartSpecialChar contained "\\\(u\x\{4\}\|u{\x\+}\|x\x\x\|x{\x\+}\|.\)" extend
diff --git a/syntax/fish.vim b/syntax/fish.vim
index ff2faeac..f198dbaa 100644
--- a/syntax/fish.vim
+++ b/syntax/fish.vim
@@ -22,7 +22,7 @@ syntax match fishCommandSub /\v\(\s*\zs\k+>/
syntax region fishLineContinuation matchgroup=fishStatement
\ start='\v^\s*\zs\k+>' skip='\\$' end='$'
- \ contains=fishSpecial,fishIdentifier,fishString,fishCharacter,fishStatement,fishCommandSub
+ \ contains=fishSpecial,fishIdentifier,fishString,fishCharacter,fishStatement,fishCommandSub,fishComment
highlight default link fishKeyword Keyword
highlight default link fishConditional Conditional
diff --git a/syntax/html.vim b/syntax/html.vim
index e494e404..19148af2 100644
--- a/syntax/html.vim
+++ b/syntax/html.vim
@@ -126,6 +126,8 @@ syn keyword htmlArg contained integrity crossorigin
" <link>
syn keyword htmlArg contained prefetch
" syn keyword htmlArg contained preload
+" <img>
+syn keyword htmlArg contained decoding
" Custom Data Attributes
" http://w3c.github.io/html/single-page.html#embedding-custom-non-visible-data-with-the-data-attributes
diff --git a/syntax/javascript.vim b/syntax/javascript.vim
index cd9e8531..34db7e29 100644
--- a/syntax/javascript.vim
+++ b/syntax/javascript.vim
@@ -74,7 +74,7 @@ syntax region jsRegexpString start=+\%(\%(\<return\|\<typeof\|\_[^)\]'"[:blan
syntax cluster jsRegexpSpecial contains=jsSpecial,jsRegexpBoundary,jsRegexpBackRef,jsRegexpQuantifier,jsRegexpOr,jsRegexpMod
" Objects
-syntax match jsObjectKey contained /\<\K\k*\ze\s*:/ contains=jsFunctionKey skipwhite skipempty nextgroup=jsObjectValue
+syntax match jsObjectKey contained /\<\k*\ze\s*:/ contains=jsFunctionKey skipwhite skipempty nextgroup=jsObjectValue
syntax match jsObjectColon contained /:/ skipwhite skipempty
syntax region jsObjectKeyString contained start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1\|$+ contains=jsSpecial,@Spell skipwhite skipempty nextgroup=jsObjectValue
syntax region jsObjectKeyComputed contained matchgroup=jsBrackets start=/\[/ end=/]/ contains=@jsExpression skipwhite skipempty nextgroup=jsObjectValue,jsFuncArgs extend
diff --git a/syntax/json.vim b/syntax/json.vim
index 48bc18e1..a65214a5 100644
--- a/syntax/json.vim
+++ b/syntax/json.vim
@@ -103,10 +103,10 @@ if version >= 508 || !exists("did_json_syn_inits")
hi def link jsonString String
hi def link jsonTest Label
hi def link jsonEscape Special
- hi def link jsonNumber Delimiter
+ hi def link jsonNumber Number
hi def link jsonBraces Delimiter
hi def link jsonNull Function
- hi def link jsonBoolean Delimiter
+ hi def link jsonBoolean Boolean
hi def link jsonKeyword Label
if (!exists("g:vim_json_warnings") || g:vim_json_warnings==1)
diff --git a/syntax/kotlin.vim b/syntax/kotlin.vim
index 10d87cde..f37d5541 100644
--- a/syntax/kotlin.vim
+++ b/syntax/kotlin.vim
@@ -3,7 +3,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1
" Vim syntax file
" Language: Kotlin
" Maintainer: Alexander Udalov
-" Latest Revision: 18 September 2017
+" Latest Revision: 23 November 2017
if exists("b:current_syntax")
finish
@@ -39,7 +39,7 @@ syn region ktComment matchgroup=ktCommentMatchGroup start="/\*" end="\*/" contai
syn match ktSpecialCharError "\v\\." contained
syn match ktSpecialChar "\v\\([tbnr'"$\\]|u\x{4})" contained
syn region ktString start='"' skip='\\"' end='"' contains=ktSimpleInterpolation,ktComplexInterpolation,ktSpecialChar,ktSpecialCharError
-syn region ktString start='"""' end='"""' contains=ktSimpleInterpolation,ktComplexInterpolation,ktSpecialChar,ktSpecialCharError
+syn region ktString start='"""' end='""""*' contains=ktSimpleInterpolation,ktComplexInterpolation,ktSpecialChar,ktSpecialCharError
syn match ktCharacter "\v'[^']*'" contains=ktSpecialChar,ktSpecialCharError
syn match ktCharacter "\v'\\''" contains=ktSpecialChar
syn match ktCharacter "\v'[^\\]'"
diff --git a/syntax/nim.vim b/syntax/nim.vim
index 8b156c28..fe7944cb 100644
--- a/syntax/nim.vim
+++ b/syntax/nim.vim
@@ -52,7 +52,7 @@ syn keyword nimKeyword ptr
syn keyword nimKeyword raise ref return
syn keyword nimKeyword shared shl shr static
syn keyword nimKeyword try tuple type
-syn keyword nimKeyword var
+syn keyword nimKeyword var vtref vtptr
syn keyword nimKeyword when while with without
syn keyword nimKeyword xor
syn keyword nimKeyword yield
diff --git a/syntax/php.vim b/syntax/php.vim
index e05e1eed..7276ef00 100644
--- a/syntax/php.vim
+++ b/syntax/php.vim
@@ -621,8 +621,9 @@ if !exists("php_ignore_phpdoc") || !php_ignore_phpdoc
syn region phpDocTags start="{@\(example\|id\|internal\|inheritdoc\|link\|source\|toc\|tutorial\)" end="}" containedin=phpDocComment
syn match phpDocTags "@\%(abstract\|access\|api\|author\|brief\|bug\|category\|class\|copyright\|created\|date\|deprecated\|details\|example\|exception\|file\|filesource\|final\|global\|id\|ignore\|inheritdoc\|internal\|license\|link\|magic\|method\|name\|package\|param\|property\|return\|see\|since\|source\|static\|staticvar\|struct\|subpackage\|throws\|toc\|todo\|tutorial\|type\|uses\|var\|version\|warning\)" containedin=phpDocComment nextgroup=phpDocParam,phpDocIdentifier skipwhite contained
- syn match phpDocParam "\s\+\zs\(|\|\\\|\h\w*\)*\h\w*" nextgroup=phpDocIdentifier skipwhite contained
+ syn match phpDocParam "\s\+\zs\(|\|\\\|\h\w*\)*\h\w*" nextgroup=phpDocIdentifier skipwhite contained contains=phpDocNamespaceSeparator
syn match phpDocIdentifier "\s\+\zs$\h\w*" contained
+ syn match phpDocNamespaceSeparator "\\" contained display
syn case match
endif
@@ -651,26 +652,26 @@ endif
" HereDoc
syn case match
-SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
-SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@<="\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\I\i*\)$" end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+SynFold syn region phpHereDoc matchgroup=Delimiter start=+\(<<<\)\@3<="\z(\I\i*\)"$+ end="^\z1\(;\=$\)\@=" contained contains=@Spell,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
" including HTML,JavaScript,SQL if enabled via options
if (exists("php_html_in_heredoc") && php_html_in_heredoc)
- SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
- SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifierSimply,phpIdentifier,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif
if (exists("php_sql_heredoc") && php_sql_heredoc)
- SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpHereDoc matchgroup=Delimiter start="\(<<<\)\@3<=\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)$" end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif
" NowDoc
-SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@<='\z(\I\i*\)'$+ end="^\z1\(;\=$\)\@=" contained keepend extend
+SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\I\i*\)'$+ end="^\z1\(;\=$\)\@=" contained keepend extend
if (exists("php_sql_nowdoc") && php_sql_nowdoc)
- SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(sql\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@sqlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif
if (exists("php_html_in_nowdoc") && php_html_in_nowdoc)
- SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
- SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(html\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlTop,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
+ SynFold syn region phpNowDoc matchgroup=Delimiter start=+\(<<<\)\@3<='\z(\(\I\i*\)\=\(javascript\)\c\(\i*\)\)'$+ end="^\z1\(;\=$\)\@=" contained contains=@htmlJavascript,phpIdentifier,phpIdentifierSimply,phpIdentifierComplex,phpSpecialChar,phpMethodsVar,phpStrEsc keepend extend
endif
syn case ignore
@@ -695,25 +696,28 @@ syn keyword phpKeyword class contained
\ nextgroup=phpClass skipwhite skipempty
syn match phpClass /\h\w*/ contained
+syn match phpClassNamespaceSeparator "\\" contained display
+
" Class extends
syn keyword phpKeyword extends contained
\ nextgroup=phpClassExtends skipwhite skipempty
-syn match phpClassExtends /\(\\\|\h\w*\)*\h\w*/ contained
+syn match phpClassExtends /\(\\\|\h\w*\)*\h\w*/ contained contains=phpClassNamespaceSeparator
" Class implements
syntax keyword phpKeyword implements contained
\ nextgroup=phpClassImplements skipwhite skipempty
-syntax match phpClassImplements contained
+syntax match phpClassImplements contained contains=phpClassNamespaceSeparator
\ nextgroup=phpClassDelimiter skipwhite skipempty /\(\\\|\h\w*\)*\h\w*/
syntax match phpClassDelimiter contained
\ nextgroup=phpClassImplements skipwhite skipempty /,/
" use statement
+syn match phpUseNamespaceSeparator "\\" contained display
syn keyword phpInclude use contained
\ nextgroup=phpUseFunction,phpUseClass skipwhite skipempty
syn match phpUseFunction /function\_s\+\(\\\|\h\w*\)*\h\w*/ contained contains=phpUseKeyword
\ nextgroup=phpUseAlias skipwhite skipempty
-syn match phpUseClass /\(function\_s\+\)\@!\(\\\|\h\w*\)*\h\w*/ contained
+syn match phpUseClass /\(function\_s\+\)\@!\(\\\|\h\w*\)*\h\w*/ contained contains=phpUseNamespaceSeparator
\ nextgroup=phpUseAlias skipwhite skipempty
syn match phpUseAlias /as\_s\+\h\w*/ contained contains=phpUseKeyword
syn match phpUseKeyword /\(function\|as\)\_s\+/ contained contains=phpKeyword
@@ -865,6 +869,10 @@ if !exists("did_php_syn_inits")
hi def link phpClassImplements phpClass
hi def link phpClassDelimiter phpRegion
+ hi def link phpDocNamespaceSeparator phpComment
+ hi def link phpClassNamespaceSeparator phpClass
+ hi def link phpUseNamespaceSeparator phpRegion
+
endif
" Cleanup: {{{
diff --git a/syntax/swift.vim b/syntax/swift.vim
index b873097b..be8c7b47 100644
--- a/syntax/swift.vim
+++ b/syntax/swift.vim
@@ -55,9 +55,11 @@ delfunction s:CommentKeywordMatch
" Literals
" Strings
-syntax region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftInterpolatedWrapper oneline
+syntax region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftMultilineInterpolatedWrapper oneline
+syntax region swiftMultilineString start=/"""/ end=/"""/ contains=swiftMultilineInterpolatedWrapper
+syntax region swiftMultilineInterpolatedWrapper start="\v\\\(\s*" end="\v\s*\)" contained containedin=swiftMultilineString contains=swiftInterpolatedString oneline
syntax region swiftInterpolatedWrapper start="\v[^\\]\zs\\\(\s*" end="\v\s*\)" contained containedin=swiftString contains=swiftInterpolatedString,swiftString oneline
-syntax match swiftInterpolatedString "\v\w+(\(\))?" contained containedin=swiftInterpolatedWrapper oneline
+syntax match swiftInterpolatedString "\v\w+(\(\))?" contained containedin=swiftInterpolatedWrapper,swiftMultilineInterpolatedWrapper oneline
" Numbers
syntax match swiftNumber "\v<\d+>"
@@ -222,7 +224,7 @@ syntax keyword swiftDebugIdentifier
syntax keyword swiftLineDirective #setline
-syntax region swiftTypeWrapper start=":\s*\(\.\)\@!\<\u" skip="\s*,\s*$*\s*" end="$\|/"me=e-1 contains=ALLBUT,swiftInterpolatedWrapper transparent
+syntax region swiftTypeWrapper start=":\s*\(\.\)\@!\<\u" skip="\s*,\s*$*\s*" end="$\|/"me=e-1 contains=ALLBUT,swiftInterpolatedWrapper,swiftMultilineInterpolatedWrapper transparent
syntax region swiftTypeCastWrapper start="\(as\|is\)\(!\|?\)\=\s\+" end="\v(\s|$|\{)" contains=swiftType,swiftCastKeyword keepend transparent oneline
syntax region swiftGenericsWrapper start="\v\<" end="\v\>" contains=swiftType transparent oneline
syntax region swiftLiteralWrapper start="\v\=\s*" skip="\v[^\[\]]\(\)" end="\v(\[\]|\(\))" contains=ALL transparent oneline
@@ -257,7 +259,9 @@ highlight default link swiftComment Comment
highlight default link swiftMarker Comment
highlight default link swiftString String
+highlight default link swiftMultilineString String
highlight default link swiftInterpolatedWrapper Delimiter
+highlight default link swiftMultilineInterpolatedWrapper Delimiter
highlight default link swiftTypeDeclaration Delimiter
highlight default link swiftNumber Number
highlight default link swiftBoolean Boolean
diff --git a/syntax/terraform.vim b/syntax/terraform.vim
index e051e8de..25cb3ffe 100644
--- a/syntax/terraform.vim
+++ b/syntax/terraform.vim
@@ -16,13 +16,16 @@ syn keyword terraValueBool true false on off yes no
syn keyword terraDataTypeBI
\ alicloud_images
\ alicloud_instance_types
+ \ alicloud_key_pairs
\ alicloud_regions
+ \ alicloud_vpcs
\ alicloud_zones
\ archive_file
\ atlas_artifact
\ aws_acm_certificate
\ aws_alb
\ aws_alb_listener
+ \ aws_alb_target_group
\ aws_ami
\ aws_ami_ids
\ aws_autoscaling_groups
@@ -32,36 +35,52 @@ syn keyword terraDataTypeBI
\ aws_caller_identity
\ aws_canonical_user_id
\ aws_cloudformation_stack
+ \ aws_cloudtrail_service_account
\ aws_db_instance
\ aws_db_snapshot
+ \ aws_dynamodb_table
\ aws_ebs_snapshot
\ aws_ebs_snapshot_ids
\ aws_ebs_volume
+ \ aws_ecr_repository
\ aws_ecs_cluster
\ aws_ecs_container_definition
\ aws_ecs_task_definition
\ aws_efs_file_system
+ \ aws_efs_mount_target
\ aws_eip
\ aws_elastic_beanstalk_solution_stack
\ aws_elasticache_cluster
+ \ aws_elasticache_replication_group
\ aws_elb_hosted_zone_id
\ aws_elb_service_account
\ aws_iam_account_alias
+ \ aws_iam_group
+ \ aws_iam_instance_profile
\ aws_iam_policy_document
\ aws_iam_role
\ aws_iam_server_certificate
+ \ aws_iam_user
\ aws_instance
+ \ aws_instances
+ \ aws_internet_gateway
\ aws_ip_ranges
\ aws_kinesis_stream
\ aws_kms_alias
\ aws_kms_ciphertext
\ aws_kms_secret
+ \ aws_lb
+ \ aws_lb_listener
+ \ aws_lb_target_group
+ \ aws_nat_gateway
\ aws_partition
\ aws_prefix_list
+ \ aws_rds_cluster
\ aws_redshift_service_account
\ aws_region
\ aws_route53_zone
\ aws_route_table
+ \ aws_s3_bucket
\ aws_s3_bucket_object
\ aws_security_group
\ aws_sns_topic
@@ -73,10 +92,21 @@ syn keyword terraDataTypeBI
\ aws_vpc_endpoint_service
\ aws_vpc_peering_connection
\ aws_vpn_gateway
+ \ azurerm_builtin_role_definition
\ azurerm_client_config
+ \ azurerm_image
+ \ azurerm_key_vault_access_policy
+ \ azurerm_managed_disk
+ \ azurerm_platform_image
\ azurerm_public_ip
+ \ azurerm_resource_group
+ \ azurerm_role_definition
+ \ azurerm_snapshot
+ \ azurerm_subnet
+ \ azurerm_subscription
\ circonus_account
\ circonus_collector
+ \ cloudstack_template
\ consul_agent_self
\ consul_catalog_nodes
\ consul_catalog_service
@@ -84,28 +114,50 @@ syn keyword terraDataTypeBI
\ consul_keys
\ digitalocean_image
\ dns_a_record_set
+ \ dns_aaaa_record_set
\ dns_cname_record_set
+ \ dns_ns_record_set
\ dns_txt_record_set
\ docker_registry_image
\ external
\ fastly_ip_ranges
\ github_team
\ github_user
+ \ google_active_folder
+ \ google_client_config
+ \ google_compute_address
+ \ google_compute_global_address
+ \ google_compute_instance_group
+ \ google_compute_lb_ip_ranges
\ google_compute_network
\ google_compute_subnetwork
\ google_compute_zones
\ google_container_engine_versions
+ \ google_dns_managed_zone
\ google_iam_policy
\ google_storage_object_signed_url
\ http
+ \ kubernetes_service
+ \ kubernetes_storage_class
+ \ logicmonitor_collectors
+ \ logicmonitor_device_group
\ newrelic_application
\ ns1_datasource
\ null_data_source
+ \ oneandone_instance_size
+ \ opc_compute_image_list_entry
+ \ opc_compute_network_interface
+ \ opc_compute_storage_volume_snapshot
+ \ opc_compute_vnic
+ \ openstack_dns_zone_v2
\ openstack_images_image_v2
\ openstack_networking_network_v2
+ \ openstack_networking_secgroup_v2
+ \ openstack_networking_subnet_v2
\ opsgenie_user
\ ovh_publiccloud_region
\ ovh_publiccloud_regions
+ \ packet_precreated_ip_block
\ pagerduty_escalation_policy
\ pagerduty_schedule
\ pagerduty_user
@@ -113,11 +165,25 @@ syn keyword terraDataTypeBI
\ profitbricks_datacenter
\ profitbricks_image
\ profitbricks_location
+ \ profitbricks_resource
+ \ profitbricks_snapshot
+ \ rancher_certificate
+ \ rancher_environment
+ \ rancher_setting
\ scaleway_bootscript
\ scaleway_image
\ template_cloudinit_config
\ template_file
\ terraform_remote_state
+ \ triton_image
+ \ triton_network
+ \ vsphere_datacenter
+ \ vsphere_distributed_virtual_switch
+ \ vsphere_host
+ \ vsphere_network
+ \ vsphere_tag
+ \ vsphere_tag_category
+ \ vsphere_vmfs_disks
""" end data sources
""" resource
@@ -133,8 +199,13 @@ syn keyword terraResourceTypeBI
\ alicloud_ess_schedule
\ alicloud_forward_entry
\ alicloud_instance
+ \ alicloud_key_pair
+ \ alicloud_key_pair_attachment
\ alicloud_nat_gateway
+ \ alicloud_oss_bucket
+ \ alicloud_oss_bucket_object
\ alicloud_route_entry
+ \ alicloud_router_interface
\ alicloud_security_group
\ alicloud_security_group_rule
\ alicloud_slb
@@ -161,12 +232,14 @@ syn keyword terraResourceTypeBI
\ aws_api_gateway_client_certificate
\ aws_api_gateway_deployment
\ aws_api_gateway_domain_name
+ \ aws_api_gateway_gateway_response
\ aws_api_gateway_integration
\ aws_api_gateway_integration_response
\ aws_api_gateway_method
\ aws_api_gateway_method_response
\ aws_api_gateway_method_settings
\ aws_api_gateway_model
+ \ aws_api_gateway_request_validator
\ aws_api_gateway_resource
\ aws_api_gateway_rest_api
\ aws_api_gateway_stage
@@ -175,16 +248,22 @@ syn keyword terraResourceTypeBI
\ aws_app_cookie_stickiness_policy
\ aws_appautoscaling_policy
\ aws_appautoscaling_target
+ \ aws_athena_database
+ \ aws_athena_named_query
\ aws_autoscaling_attachment
\ aws_autoscaling_group
\ aws_autoscaling_lifecycle_hook
\ aws_autoscaling_notification
\ aws_autoscaling_policy
\ aws_autoscaling_schedule
+ \ aws_batch_compute_environment
+ \ aws_batch_job_definition
+ \ aws_batch_job_queue
\ aws_cloudformation_stack
\ aws_cloudfront_distribution
\ aws_cloudfront_origin_access_identity
\ aws_cloudtrail
+ \ aws_cloudwatch_dashboard
\ aws_cloudwatch_event_rule
\ aws_cloudwatch_event_target
\ aws_cloudwatch_log_destination
@@ -202,6 +281,8 @@ syn keyword terraResourceTypeBI
\ aws_codedeploy_deployment_group
\ aws_codepipeline
\ aws_cognito_identity_pool
+ \ aws_cognito_identity_pool_roles_attachment
+ \ aws_cognito_user_pool
\ aws_config_config_rule
\ aws_config_configuration_recorder
\ aws_config_configuration_recorder_status
@@ -227,9 +308,12 @@ syn keyword terraResourceTypeBI
\ aws_dms_replication_instance
\ aws_dms_replication_subnet_group
\ aws_dms_replication_task
+ \ aws_dx_connection
+ \ aws_dx_lag
\ aws_dynamodb_table
\ aws_ebs_snapshot
\ aws_ebs_volume
+ \ aws_ecr_lifecycle_policy
\ aws_ecr_repository
\ aws_ecr_repository_policy
\ aws_ecs_cluster
@@ -286,6 +370,8 @@ syn keyword terraResourceTypeBI
\ aws_inspector_resource_group
\ aws_instance
\ aws_internet_gateway
+ \ aws_iot_certificate
+ \ aws_iot_policy
\ aws_key_pair
\ aws_kinesis_firehose_delivery_stream
\ aws_kinesis_stream
@@ -296,8 +382,13 @@ syn keyword terraResourceTypeBI
\ aws_lambda_function
\ aws_lambda_permission
\ aws_launch_configuration
+ \ aws_lb
\ aws_lb_cookie_stickiness_policy
+ \ aws_lb_listener
+ \ aws_lb_listener_rule
\ aws_lb_ssl_negotiation_policy
+ \ aws_lb_target_group
+ \ aws_lb_target_group_attachment
\ aws_lightsail_domain
\ aws_lightsail_instance
\ aws_lightsail_key_pair
@@ -312,6 +403,7 @@ syn keyword terraResourceTypeBI
\ aws_network_acl_rule
\ aws_network_interface
\ aws_network_interface_attachment
+ \ aws_network_interface_sg_attachment
\ aws_opsworks_application
\ aws_opsworks_custom_layer
\ aws_opsworks_ganglia_layer
@@ -351,13 +443,16 @@ syn keyword terraResourceTypeBI
\ aws_s3_bucket_policy
\ aws_security_group
\ aws_security_group_rule
+ \ aws_servicecatalog_portfolio
\ aws_ses_active_receipt_rule_set
\ aws_ses_configuration_set
+ \ aws_ses_domain_dkim
\ aws_ses_domain_identity
\ aws_ses_event_destination
\ aws_ses_receipt_filter
\ aws_ses_receipt_rule
\ aws_ses_receipt_rule_set
+ \ aws_ses_template
\ aws_sfn_activity
\ aws_sfn_state_machine
\ aws_simpledb_domain
@@ -379,6 +474,7 @@ syn keyword terraResourceTypeBI
\ aws_ssm_parameter
\ aws_ssm_patch_baseline
\ aws_ssm_patch_group
+ \ aws_ssm_resource_data_sync
\ aws_subnet
\ aws_volume_attachment
\ aws_vpc
@@ -392,8 +488,10 @@ syn keyword terraResourceTypeBI
\ aws_vpn_connection_route
\ aws_vpn_gateway
\ aws_vpn_gateway_attachment
+ \ aws_vpn_gateway_route_propagation
\ aws_waf_byte_match_set
\ aws_waf_ipset
+ \ aws_waf_rate_based_rule
\ aws_waf_rule
\ aws_waf_size_constraint_set
\ aws_waf_sql_injection_match_set
@@ -417,25 +515,41 @@ syn keyword terraResourceTypeBI
\ azure_storage_queue
\ azure_storage_service
\ azure_virtual_network
+ \ azurerm_app_service
+ \ azurerm_app_service_plan
+ \ azurerm_application_gateway
+ \ azurerm_application_insights
+ \ azurerm_automation_account
+ \ azurerm_automation_credential
+ \ azurerm_automation_runbook
+ \ azurerm_automation_schedule
\ azurerm_availability_set
\ azurerm_cdn_endpoint
\ azurerm_cdn_profile
+ \ azurerm_container_group
\ azurerm_container_registry
\ azurerm_container_service
+ \ azurerm_cosmosdb_account
\ azurerm_dns_a_record
\ azurerm_dns_aaaa_record
\ azurerm_dns_cname_record
\ azurerm_dns_mx_record
\ azurerm_dns_ns_record
+ \ azurerm_dns_ptr_record
\ azurerm_dns_srv_record
\ azurerm_dns_txt_record
\ azurerm_dns_zone
+ \ azurerm_eventgrid_topic
\ azurerm_eventhub
\ azurerm_eventhub_authorization_rule
\ azurerm_eventhub_consumer_group
\ azurerm_eventhub_namespace
\ azurerm_express_route_circuit
+ \ azurerm_image
\ azurerm_key_vault
+ \ azurerm_key_vault_certificate
+ \ azurerm_key_vault_key
+ \ azurerm_key_vault_secret
\ azurerm_lb
\ azurerm_lb_backend_address_pool
\ azurerm_lb_nat_pool
@@ -443,19 +557,33 @@ syn keyword terraResourceTypeBI
\ azurerm_lb_probe
\ azurerm_lb_rule
\ azurerm_local_network_gateway
+ \ azurerm_log_analytics_workspace
\ azurerm_managed_disk
+ \ azurerm_mysql_configuration
+ \ azurerm_mysql_database
+ \ azurerm_mysql_firewall_rule
+ \ azurerm_mysql_server
\ azurerm_network_interface
\ azurerm_network_security_group
\ azurerm_network_security_rule
+ \ azurerm_postgresql_configuration
+ \ azurerm_postgresql_database
+ \ azurerm_postgresql_firewall_rule
+ \ azurerm_postgresql_server
\ azurerm_public_ip
\ azurerm_redis_cache
+ \ azurerm_redis_firewall_rule
\ azurerm_resource_group
+ \ azurerm_role_assignment
+ \ azurerm_role_definition
\ azurerm_route
\ azurerm_route_table
\ azurerm_search_service
\ azurerm_servicebus_namespace
+ \ azurerm_servicebus_queue
\ azurerm_servicebus_subscription
\ azurerm_servicebus_topic
+ \ azurerm_snapshot
\ azurerm_sql_database
\ azurerm_sql_elasticpool
\ azurerm_sql_firewall_rule
@@ -498,6 +626,8 @@ syn keyword terraResourceTypeBI
\ clc_public_ip
\ clc_server
\ cloudflare_record
+ \ cloudscale_floating_ip
+ \ cloudscale_server
\ cloudstack_affinity_group
\ cloudstack_disk
\ cloudstack_egress_firewall
@@ -525,6 +655,7 @@ syn keyword terraResourceTypeBI
\ cobbler_distro
\ cobbler_kickstart_file
\ cobbler_profile
+ \ cobbler_repo
\ cobbler_snippet
\ cobbler_system
\ consul_agent_service
@@ -535,12 +666,14 @@ syn keyword terraResourceTypeBI
\ consul_prepared_query
\ consul_service
\ datadog_downtime
+ \ datadog_metric_metadata
\ datadog_monitor
\ datadog_timeboard
\ datadog_user
\ digitalocean_certificate
\ digitalocean_domain
\ digitalocean_droplet
+ \ digitalocean_firewall
\ digitalocean_floating_ip
\ digitalocean_loadbalancer
\ digitalocean_record
@@ -551,6 +684,7 @@ syn keyword terraResourceTypeBI
\ dns_a_record_set
\ dns_aaaa_record_set
\ dns_cname_record
+ \ dns_ns_record_set
\ dns_ptr_record
\ dnsimple_record
\ docker_container
@@ -565,16 +699,21 @@ syn keyword terraResourceTypeBI
\ github_organization_webhook
\ github_repository
\ github_repository_collaborator
+ \ github_repository_deploy_key
\ github_repository_webhook
\ github_team
\ github_team_membership
\ github_team_repository
\ gitlab_deploy_key
\ gitlab_group
+ \ gitlab_label
\ gitlab_project
\ gitlab_project_hook
+ \ gitlab_user
\ google_bigquery_dataset
\ google_bigquery_table
+ \ google_bigtable_instance
+ \ google_bigtable_table
\ google_compute_address
\ google_compute_autoscaler
\ google_compute_backend_bucket
@@ -593,31 +732,59 @@ syn keyword terraResourceTypeBI
\ google_compute_instance_group_manager
\ google_compute_instance_template
\ google_compute_network
+ \ google_compute_network_peering
\ google_compute_project_metadata
+ \ google_compute_project_metadata_item
+ \ google_compute_region_autoscaler
\ google_compute_region_backend_service
+ \ google_compute_region_instance_group_manager
\ google_compute_route
\ google_compute_router
\ google_compute_router_interface
\ google_compute_router_peer
+ \ google_compute_shared_vpc_host_project
+ \ google_compute_shared_vpc_service_project
\ google_compute_snapshot
\ google_compute_ssl_certificate
\ google_compute_subnetwork
\ google_compute_target_http_proxy
\ google_compute_target_https_proxy
\ google_compute_target_pool
+ \ google_compute_target_ssl_proxy
+ \ google_compute_target_tcp_proxy
\ google_compute_url_map
\ google_compute_vpn_gateway
\ google_compute_vpn_tunnel
\ google_container_cluster
\ google_container_node_pool
+ \ google_dataproc_cluster
\ google_dns_managed_zone
\ google_dns_record_set
+ \ google_folder
+ \ google_folder_iam_policy
+ \ google_kms_crypto_key
+ \ google_kms_key_ring
+ \ google_logging_billing_account_sink
+ \ google_logging_folder_sink
+ \ google_logging_project_sink
+ \ google_organization_iam_custom_role
+ \ google_organization_policy
\ google_project
+ \ google_project_iam_binding
+ \ google_project_iam_custom_role
+ \ google_project_iam_member
\ google_project_iam_policy
+ \ google_project_service
\ google_project_services
\ google_pubsub_subscription
\ google_pubsub_topic
+ \ google_runtimeconfig_config
+ \ google_runtimeconfig_variable
\ google_service_account
+ \ google_service_account_key
+ \ google_sourcerepo_repository
+ \ google_spanner_database
+ \ google_spanner_instance
\ google_sql_database
\ google_sql_database_instance
\ google_sql_user
@@ -626,6 +793,7 @@ syn keyword terraResourceTypeBI
\ google_storage_bucket_object
\ google_storage_object_acl
\ heroku_addon
+ \ heroku_addon_attachment
\ heroku_app
\ heroku_app_feature
\ heroku_cert
@@ -639,10 +807,12 @@ syn keyword terraResourceTypeBI
\ icinga2_hostgroup
\ icinga2_service
\ ignition_config
+ \ ignition_directory
\ ignition_disk
\ ignition_file
\ ignition_filesystem
\ ignition_group
+ \ ignition_link
\ ignition_networkd_unit
\ ignition_raid
\ ignition_systemd_unit
@@ -656,9 +826,13 @@ syn keyword terraResourceTypeBI
\ kubernetes_namespace
\ kubernetes_persistent_volume
\ kubernetes_persistent_volume_claim
+ \ kubernetes_pod
+ \ kubernetes_replication_controller
\ kubernetes_resource_quota
\ kubernetes_secret
\ kubernetes_service
+ \ kubernetes_service_account
+ \ kubernetes_storage_class
\ librato_alert
\ librato_metric
\ librato_service
@@ -667,6 +841,9 @@ syn keyword terraResourceTypeBI
\ local_file
\ logentries_log
\ logentries_logset
+ \ logicmonitor_collector_group
+ \ logicmonitor_device
+ \ logicmonitor_device_group
\ mailgun_domain
\ mysql_database
\ mysql_grant
@@ -675,6 +852,7 @@ syn keyword terraResourceTypeBI
\ newrelic_alert_condition
\ newrelic_alert_policy
\ newrelic_alert_policy_channel
+ \ newrelic_nrql_alert_condition
\ nomad_job
\ null_resource
\ oneandone_firewall_policy
@@ -685,9 +863,37 @@ syn keyword terraResourceTypeBI
\ oneandone_server
\ oneandone_shared_storage
\ oneandone_vpn
+ \ opc_compute_acl
+ \ opc_compute_image_list
+ \ opc_compute_image_list_entry
+ \ opc_compute_instance
+ \ opc_compute_ip_address_association
+ \ opc_compute_ip_address_prefix_set
+ \ opc_compute_ip_address_reservation
+ \ opc_compute_ip_association
+ \ opc_compute_ip_network
+ \ opc_compute_ip_network_exchange
+ \ opc_compute_ip_reservation
+ \ opc_compute_route
+ \ opc_compute_sec_rule
+ \ opc_compute_security_application
+ \ opc_compute_security_association
+ \ opc_compute_security_ip_list
+ \ opc_compute_security_list
+ \ opc_compute_security_protocol
+ \ opc_compute_security_rule
+ \ opc_compute_snapshot
+ \ opc_compute_ssh_key
+ \ opc_compute_storage_volume
+ \ opc_compute_storage_volume_snapshot
+ \ opc_compute_vnic_set
+ \ opc_database_service_instance
+ \ opc_storage_container
+ \ opc_storage_object
\ openstack_blockstorage_volume_attach_v2
\ openstack_blockstorage_volume_v1
\ openstack_blockstorage_volume_v2
+ \ openstack_compute_flavor_v2
\ openstack_compute_floatingip_associate_v2
\ openstack_compute_floatingip_v2
\ openstack_compute_instance_v2
@@ -700,6 +906,8 @@ syn keyword terraResourceTypeBI
\ openstack_fw_firewall_v1
\ openstack_fw_policy_v1
\ openstack_fw_rule_v1
+ \ openstack_identity_project_v3
+ \ openstack_identity_user_v3
\ openstack_images_image_v2
\ openstack_lb_listener_v2
\ openstack_lb_loadbalancer_v2
@@ -720,6 +928,7 @@ syn keyword terraResourceTypeBI
\ openstack_networking_secgroup_v2
\ openstack_networking_subnet_v2
\ openstack_objectstorage_container_v1
+ \ openstack_objectstorage_object_v1
\ opsgenie_team
\ opsgenie_user
\ ovh_publiccloud_private_network
@@ -727,15 +936,20 @@ syn keyword terraResourceTypeBI
\ ovh_publiccloud_user
\ ovh_vrack_publiccloud_attachment
\ packet_device
+ \ packet_ip_attachment
\ packet_project
+ \ packet_reserved_ip_block
\ packet_ssh_key
\ packet_volume
+ \ packet_volume_attachment
\ pagerduty_addon
\ pagerduty_escalation_policy
+ \ pagerduty_maintenance_window
\ pagerduty_schedule
\ pagerduty_service
\ pagerduty_service_integration
\ pagerduty_team
+ \ pagerduty_team_membership
\ pagerduty_user
\ postgresql_database
\ postgresql_extension
@@ -744,11 +958,16 @@ syn keyword terraResourceTypeBI
\ powerdns_record
\ profitbricks_datacenter
\ profitbricks_firewall
+ \ profitbricks_group
\ profitbricks_ipblock
+ \ profitbricks_ipfailover
\ profitbricks_lan
\ profitbricks_loadbalancer
\ profitbricks_nic
\ profitbricks_server
+ \ profitbricks_share
+ \ profitbricks_snapshot
+ \ profitbricks_user
\ profitbricks_volume
\ rabbitmq_binding
\ rabbitmq_exchange
@@ -763,10 +982,13 @@ syn keyword terraResourceTypeBI
\ rancher_registration_token
\ rancher_registry
\ rancher_registry_credential
+ \ rancher_secret
\ rancher_stack
\ random_id
+ \ random_integer
\ random_pet
\ random_shuffle
+ \ random_string
\ rundeck_job
\ rundeck_private_key
\ rundeck_project
@@ -792,6 +1014,7 @@ syn keyword terraResourceTypeBI
\ triton_firewall_rule
\ triton_key
\ triton_machine
+ \ triton_snapshot
\ triton_vlan
\ ultradns_dirpool
\ ultradns_probe_http
@@ -805,10 +1028,22 @@ syn keyword terraResourceTypeBI
\ vcd_network
\ vcd_snat
\ vcd_vapp
+ \ vcd_vapp_vm
+ \ vsphere_datacenter
+ \ vsphere_distributed_port_group
+ \ vsphere_distributed_virtual_switch
\ vsphere_file
\ vsphere_folder
+ \ vsphere_host_port_group
+ \ vsphere_host_virtual_switch
+ \ vsphere_license
+ \ vsphere_nas_datastore
+ \ vsphere_tag
+ \ vsphere_tag_category
\ vsphere_virtual_disk
\ vsphere_virtual_machine
+ \ vsphere_virtual_machine_snapshot
+ \ vsphere_vmfs_datastore
""" end resources
syn keyword terraTodo contained TODO FIXME XXX BUG