diff options
Diffstat (limited to '')
-rw-r--r-- | after/ftplugin/terraform.vim | 68 | ||||
-rw-r--r-- | after/syntax/yaml.vim | 2 | ||||
-rw-r--r-- | autoload/dart.vim | 9 | ||||
-rw-r--r-- | autoload/fish.vim | 9 | ||||
-rw-r--r-- | autoload/xml/html5.vim | 2 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 3 | ||||
-rw-r--r-- | ftplugin/fish.vim | 2 | ||||
-rw-r--r-- | indent/javascript.vim | 36 | ||||
-rw-r--r-- | indent/terraform.vim | 25 | ||||
-rw-r--r-- | syntax/coffee.vim | 4 | ||||
-rw-r--r-- | syntax/dart.vim | 4 | ||||
-rw-r--r-- | syntax/fish.vim | 2 | ||||
-rw-r--r-- | syntax/html.vim | 2 | ||||
-rw-r--r-- | syntax/javascript.vim | 2 | ||||
-rw-r--r-- | syntax/json.vim | 4 | ||||
-rw-r--r-- | syntax/kotlin.vim | 4 | ||||
-rw-r--r-- | syntax/nim.vim | 2 | ||||
-rw-r--r-- | syntax/php.vim | 34 | ||||
-rw-r--r-- | syntax/swift.vim | 10 | ||||
-rw-r--r-- | syntax/terraform.vim | 235 |
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 |