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