diff options
40 files changed, 527 insertions, 347 deletions
diff --git a/after/syntax/c.vim b/after/syntax/c.vim index 2c2762eb..a8f7f416 100644 --- a/after/syntax/c.vim +++ b/after/syntax/c.vim @@ -6,13 +6,9 @@ endif " Vim syntax file " Language: C Additions " Original Author: Mikhail Wolfson <mywolfson@gmail.com> -" http://www.vim.org/scripts/script.php?script_id=3064 -" Maintainer: bfrg <bfrg@users.noreply.github.com> +" Maintainer: bfrg <https://github.com/bfrg> " Website: https://github.com/bfrg/vim-cpp-modern -" Last Change: Oct 23, 2020 -" -" Extended C syntax highlighting including highlighting of user-defined -" functions. +" Last Change: Nov 23, 2020 " " This syntax file is based on: " https://github.com/octol/vim-cpp-enhanced-highlight @@ -63,8 +59,8 @@ hi def link cAnsiName Identifier " Highlight all standard C keywords as Statement " This is very similar to what other IDEs and editors do if get(g:, 'cpp_simple_highlight', 0) - hi link cStorageClass Statement - hi link cStructure Statement - hi link cTypedef Statement - hi link cLabel Statement + hi! def link cStorageClass Statement + hi! def link cStructure Statement + hi! def link cTypedef Statement + hi! def link cLabel Statement endif diff --git a/after/syntax/cpp.vim b/after/syntax/cpp.vim index 761a6c15..d181f261 100644 --- a/after/syntax/cpp.vim +++ b/after/syntax/cpp.vim @@ -8,7 +8,7 @@ endif " Original Author: Jon Haggblad <https://github.com/octol> " Maintainer: bfrg <https://github.com/bfrg> " Website: https://github.com/bfrg/vim-cpp-modern -" Last Change: Oct 8, 2020 +" Last Change: Nov 23, 2020 " " This syntax file is based on: " https://github.com/octol/vim-cpp-enhanced-highlight @@ -201,12 +201,12 @@ hi def link cppSTLvariable Identifier " The keywords {inline, virtual, explicit, export, override, final} are " standard C++ keywords and NOT types! -hi link cppModifier Statement +hi! def link cppModifier Statement " Highlight all standard C++ keywords as Statement if get(g:, 'cpp_simple_highlight', 0) - hi link cppStructure Statement - hi link cppExceptions Statement - hi link cppStorageClass Statement + hi! def link cppStructure Statement + hi! def link cppExceptions Statement + hi! def link cppStorageClass Statement endif diff --git a/after/syntax/javascript/graphql.vim b/after/syntax/javascript/graphql.vim index 3d442332..dafba802 100644 --- a/after/syntax/javascript/graphql.vim +++ b/after/syntax/javascript/graphql.vim @@ -29,7 +29,11 @@ if exists('b:current_syntax') let s:current_syntax = b:current_syntax unlet b:current_syntax endif + +let b:graphql_nested_syntax = 1 syn include @GraphQLSyntax syntax/graphql.vim +unlet b:graphql_nested_syntax + if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif @@ -48,7 +52,7 @@ if graphql#has_syntax_group('jsTemplateExpression') hi def link graphqlTaggedTemplate jsTaggedTemplate hi def link graphqlTemplateExpression jsTemplateExpression - syn cluster jsExpression add=graphqlTaggedTemplate + syn cluster jsExpression add=graphqlTemplateString,graphqlTaggedTemplate syn cluster graphqlTaggedTemplate add=graphqlTemplateString elseif graphql#has_syntax_group('javaScriptStringT') " runtime/syntax/javascript.vim diff --git a/after/syntax/php/graphql.vim b/after/syntax/php/graphql.vim index d26de073..3c94bcb8 100644 --- a/after/syntax/php/graphql.vim +++ b/after/syntax/php/graphql.vim @@ -29,7 +29,11 @@ if exists('b:current_syntax') let s:current_syntax = b:current_syntax unlet b:current_syntax endif + +let b:graphql_nested_syntax = 1 syn include @GraphQLSyntax syntax/graphql.vim +unlet b:graphql_nested_syntax + if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif diff --git a/after/syntax/reason/graphql.vim b/after/syntax/reason/graphql.vim index f1d8b317..0ef3b1d7 100644 --- a/after/syntax/reason/graphql.vim +++ b/after/syntax/reason/graphql.vim @@ -29,7 +29,11 @@ if exists('b:current_syntax') let s:current_syntax = b:current_syntax unlet b:current_syntax endif + +let b:graphql_nested_syntax = 1 syn include @GraphQLSyntax syntax/graphql.vim +unlet b:graphql_nested_syntax + if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif diff --git a/after/syntax/typescript/graphql.vim b/after/syntax/typescript/graphql.vim index e30f0682..df6bf36c 100644 --- a/after/syntax/typescript/graphql.vim +++ b/after/syntax/typescript/graphql.vim @@ -29,7 +29,11 @@ if exists('b:current_syntax') let s:current_syntax = b:current_syntax unlet b:current_syntax endif + +let b:graphql_nested_syntax = 1 syn include @GraphQLSyntax syntax/graphql.vim +unlet b:graphql_nested_syntax + if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif diff --git a/autoload/ledger.vim b/autoload/ledger.vim index 76be457d..265aa666 100644 --- a/autoload/ledger.vim +++ b/autoload/ledger.vim @@ -444,6 +444,19 @@ function! ledger#align_commodity() abort endif endf +" Align the commodity on the entire buffer +function! ledger#align_commodity_buffer() abort + " Store the viewport position + let view = winsaveview() + + " Call ledger#align_commodity for every line + %call ledger#align_commodity() + + " Restore the viewport position + call winrestview(view) + unlet view +endf + " Align the amount under the cursor and append/prepend the default currency. function! ledger#align_amount_at_cursor() abort " Select and cut text: diff --git a/autoload/terraform.vim b/autoload/terraform.vim index 652c4b30..594d74a0 100644 --- a/autoload/terraform.vim +++ b/autoload/terraform.vim @@ -48,33 +48,28 @@ endfunction function! terraform#commands(ArgLead, CmdLine, CursorPos) abort let commands = [ + \ 'init', + \ 'validate', + \ 'plan', \ 'apply', - \ 'console', \ 'destroy', - \ 'env', + \ 'console', \ 'fmt', + \ 'force-unlock', \ 'get', \ 'graph', \ 'import', - \ 'init', \ 'login', \ 'logout', \ 'output', - \ 'plan', \ 'providers', \ 'refresh', \ 'show', + \ 'state', \ 'taint', \ 'untaint', - \ 'validate', \ 'version', - \ 'workspace', - \ '0.12upgrade', - \ '0.13upgrade', - \ 'debug', - \ 'force-unlock', - \ 'push', - \ 'state' + \ 'workspace' \ ] return join(commands, "\n") endfunction diff --git a/autoload/yats.vim b/autoload/yats.vim index 8f5fe2d0..f96841aa 100644 --- a/autoload/yats.vim +++ b/autoload/yats.vim @@ -10,7 +10,7 @@ let s:syng_linecom = 'linecomment\c' " Check if the character at lnum:col is inside a multi-line comment. function yats#IsInMultilineComment(lnum, col) - return !s:IsLineComment(a:lnum, a:col) && synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_multiline + return !yats#IsLineComment(a:lnum, a:col) && synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_multiline endfunction " Check if the character at lnum:col is a line comment. diff --git a/extras/filetype.vim b/extras/filetype.vim index 4dd33f17..e3675084 100644 --- a/extras/filetype.vim +++ b/extras/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2020 Oct 24 +" Last Change: 2020 Dec 07 " Listen very carefully, I will say this only once if exists("did_load_filetypes") @@ -627,6 +627,9 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo " Gedcom au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom +" Gift (Moodle) +autocmd BufRead,BufNewFile *.gift setf gift + " Git au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig @@ -696,12 +699,15 @@ au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc au BufNewFile,BufRead *.haml setf haml " Hamster Classic | Playground files -au BufNewFile,BufRead *.hsc,*.hsm setf hamster +au BufNewFile,BufRead *.hsm setf hamster " Haskell -au BufNewFile,BufRead *.hs,*.hs-boot setf haskell +au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot setf haskell au BufNewFile,BufRead *.lhs setf lhaskell au BufNewFile,BufRead *.chs setf chaskell +au BufNewFile,BufRead cabal.project setf cabalproject +au BufNewFile,BufRead $HOME/.cabal/config setf cabalconfig +au BufNewFile,BufRead cabal.config setf cabalconfig " Haste au BufNewFile,BufRead *.ht setf haste @@ -1739,6 +1745,9 @@ au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf " tmux configuration au BufNewFile,BufRead {.,}tmux*.conf setf tmux +" TOML +au BufNewFile,BufRead *.toml setf toml + " TPP - Text Presentation Program au BufNewFile,BufReadPost *.tpp setf tpp @@ -1760,8 +1769,13 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl " TWIG files au BufNewFile,BufReadPost *.twig setf twig -" Typescript -au BufNewFile,BufReadPost *.ts setf typescript +" Typescript or Qt translation file (which is XML) +au BufNewFile,BufReadPost *.ts + \ if getline(1) =~ '<?xml' | + \ setf xml | + \ else | + \ setf typescript | + \ endif " TypeScript with React au BufNewFile,BufRead *.tsx setf typescriptreact @@ -2035,12 +2049,14 @@ au BufNewFile,BufRead bzr_log.* setf bzr " Bazel build file if !has("fname_case") - au BufNewFile,BufRead *.BUILD,BUILD setf bzl + au BufNewFile,BufRead *.BUILD,BUILD setf bzl endif " BIND zone au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone') +au BufNewFile,BufRead cabal.project.* call s:StarSetf('cabalproject') + " Calendar au BufNewFile,BufRead */.calendar/*, \*/share/calendar/*/calendar.*,*/share/calendar/calendar.* diff --git a/ftplugin/css.vim b/ftplugin/css.vim index e7ff73b6..5d4dca2a 100644 --- a/ftplugin/css.vim +++ b/ftplugin/css.vim @@ -6,7 +6,7 @@ endif " Language: CSS " Maintainer: Doug Kearns <dougkearns@gmail.com> " Previous Maintainer: Nikolai Weibull <now@bitwi.se> -" Latest Revision: 2008-07-09 +" Last Change: 2020 Dec 21 if exists("b:did_ftplugin") finish @@ -16,11 +16,12 @@ let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim -let b:undo_ftplugin = "setl com< cms< inc< fo< ofu<" +let b:undo_ftplugin = "setl com< cms< inc< fo< ofu< isk<" setlocal comments=s1:/*,mb:*,ex:*/ commentstring& setlocal formatoptions-=t formatoptions+=croql setlocal omnifunc=csscomplete#CompleteCSS +setlocal iskeyword+=- let &l:include = '^\s*@import\s\+\%(url(\)\=' diff --git a/ftplugin/eelixir.vim b/ftplugin/eelixir.vim index 61a59a05..cda21c9b 100644 --- a/ftplugin/eelixir.vim +++ b/ftplugin/eelixir.vim @@ -27,7 +27,10 @@ if !exists("b:eelixir_subtype") let b:eelixir_subtype = matchstr(&filetype,'^leex\.\zs\w\+') endif if b:eelixir_subtype == '' - let b:eelixir_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.eex\|\.leex\|\.eelixir\)\+$','',''),'\.\zs\w\+$') + let b:eelixir_subtype = matchstr(&filetype,'^sface\.\zs\w\+') + endif + if b:eelixir_subtype == '' + let b:eelixir_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.eex\|\.sface\|\.leex\|\.eelixir\)\+$','',''),'\.\zs\w\+$') endif if b:eelixir_subtype == 'ex' let b:eelixir_subtype = 'elixir' @@ -97,6 +100,10 @@ if !exists('b:surround_35') " When using surround `#` (ASCII 35) would provide `<%# selection %>` let b:surround_35 = "<%# \r %>" endif +if !exists('b:surround_123') + " When using surround `{` (ASCII 123) would provide `{{ selection }}` + let b:surround_123 = "{{ \r }}" +endif if !exists('b:surround_5') " When using surround `<C-e>` (ASCII 5 `ENQ`) would provide `<% selection %>\n<% end %>` let b:surround_5 = "<% \r %>\n<% end %>" diff --git a/ftplugin/elixir.vim b/ftplugin/elixir.vim index 2cae0e3e..9a273567 100644 --- a/ftplugin/elixir.vim +++ b/ftplugin/elixir.vim @@ -32,7 +32,7 @@ let &l:path = \ &g:path \ ], ',') setlocal includeexpr=elixir#util#get_filename(v:fname) -setlocal suffixesadd=.ex,.exs,.eex,.leex,.erl,.xrl,.yrl,.hrl +setlocal suffixesadd=.ex,.exs,.eex,.leex,.sface,.erl,.xrl,.yrl,.hrl let &l:define = 'def\(macro\|guard\|delegate\)\=p\=' diff --git a/ftplugin/erlang.vim b/ftplugin/erlang.vim index 45eb68f6..b9720484 100644 --- a/ftplugin/erlang.vim +++ b/ftplugin/erlang.vim @@ -8,90 +8,79 @@ endif " Author: Oscar Hellström <oscar@oscarh.net> " Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com> " Eduardo Lopez (http://github.com/tapichu) +" Arvid Bjurklint (http://github.com/slarwise) " License: Vim license " Version: 2012/01/25 if exists('b:did_ftplugin') - finish -else - let b:did_ftplugin = 1 -endif - -if exists('s:did_function_definitions') - call s:SetErlangOptions() - finish -else - let s:did_function_definitions = 1 + finish endif +let b:did_ftplugin = 1 let s:cpo_save = &cpo set cpo&vim -if !exists('g:erlang_keywordprg') - let g:erlang_keywordprg = 'erl -man' -endif +let &l:keywordprg = get(g:, 'erlang_keywordprg', 'erl -man') -if !exists('g:erlang_folding') - let g:erlang_folding = 0 +if get(g:, 'erlang_folding', 0) + setlocal foldmethod=expr + setlocal foldexpr=GetErlangFold(v:lnum) + setlocal foldtext=ErlangFoldText() endif -let s:erlang_fun_begin = '^\a\w*(.*$' -let s:erlang_fun_end = '^[^%]*\.\s*\(%.*\)\?$' - -function s:SetErlangOptions() - if g:erlang_folding - setlocal foldmethod=expr - setlocal foldexpr=GetErlangFold(v:lnum) - setlocal foldtext=ErlangFoldText() - endif +setlocal comments=:%%%,:%%,:% +setlocal commentstring=%%s - setlocal comments=:%%%,:%%,:% - setlocal commentstring=%%s +setlocal formatoptions+=ro - setlocal formatoptions+=ro - let &l:keywordprg = g:erlang_keywordprg +setlocal suffixesadd=.erl,.hrl - setlocal suffixesadd=.erl,.hrl +let &l:include = '^\s*-\%(include\|include_lib\)\s*("\zs\f*\ze")' +let &l:define = '^\s*-\%(define\|record\|type\|opaque\)' - let &l:include = '^\s*-\%(include\|include_lib\)\s*("\zs\f*\ze")' - let &l:define = '^\s*-\%(define\|record\|type\|opaque\)' -endfunction - -function GetErlangFold(lnum) - let lnum = a:lnum - let line = getline(lnum) - - if line =~ s:erlang_fun_end - return '<1' - endif +let s:erlang_fun_begin = '^\a\w*(.*$' +let s:erlang_fun_end = '^[^%]*\.\s*\(%.*\)\?$' - if line =~ s:erlang_fun_begin && foldlevel(lnum - 1) == 1 - return '1' - endif +if !exists('*GetErlangFold') + function GetErlangFold(lnum) + let lnum = a:lnum + let line = getline(lnum) - if line =~ s:erlang_fun_begin - return '>1' - endif + if line =~ s:erlang_fun_end + return '<1' + endif - return '=' -endfunction + if line =~ s:erlang_fun_begin && foldlevel(lnum - 1) == 1 + return '1' + endif -function ErlangFoldText() - let line = getline(v:foldstart) - let foldlen = v:foldend - v:foldstart + 1 - let lines = ' ' . foldlen . ' lines: ' . substitute(line, "[\ \t]*", '', '') - if foldlen < 10 - let lines = ' ' . lines - endif - let retval = '+' . v:folddashes . lines + if line =~ s:erlang_fun_begin + return '>1' + endif - return retval -endfunction + return '=' + endfunction +endif -call s:SetErlangOptions() +if !exists('*ErlangFoldText') + function ErlangFoldText() + let line = getline(v:foldstart) + let foldlen = v:foldend - v:foldstart + 1 + let lines = ' ' . foldlen . ' lines: ' . substitute(line, "[\ \t]*", '', '') + if foldlen < 10 + let lines = ' ' . lines + endif + let retval = '+' . v:folddashes . lines + + return retval + endfunction +endif -let b:undo_ftplugin = "setlocal foldmethod< foldexpr< foldtext<" - \ . " comments< commentstring< formatoptions< suffixesadd< include< define<" +let b:undo_ftplugin = "setlocal keywordprg< foldmethod< foldexpr< foldtext<" + \ . " comments< commentstring< formatoptions< suffixesadd< include<" + \ . " define<" let &cpo = s:cpo_save unlet s:cpo_save + +" vim: sw=2 et diff --git a/ftplugin/idris2.vim b/ftplugin/idris2.vim index 28ac7b5c..9a09fada 100644 --- a/ftplugin/idris2.vim +++ b/ftplugin/idris2.vim @@ -37,8 +37,9 @@ endfunction function! s:IdrisCommand(...) let idriscmd = shellescape(join(a:000)) -" echo("idris2 " . expand ('%:p') . " --client " . idriscmd) - return system("idris2 --find-ipkg " . shellescape(expand('%:p')) . " --client " . idriscmd) + " Vim does not support ANSI escape codes natively, so we need to disable + " automatic colouring + return system("idris2 --no-color --find-ipkg " . shellescape(expand('%:p')) . " --client " . idriscmd) endfunction function! IdrisDocFold(lineNum) @@ -99,7 +100,7 @@ endfunction function! IdrisReload(q) w let file = expand('%:p') - let tc = system("idris2 --find-ipkg " . shellescape(file) . " --client ''") + let tc = system("idris2 --no-color --find-ipkg " . shellescape(file) . " --client ''") if (! (tc is "")) call IWrite(tc) else diff --git a/ftplugin/nroff.vim b/ftplugin/nroff.vim index 5ddd07f7..ac3dce4d 100644 --- a/ftplugin/nroff.vim +++ b/ftplugin/nroff.vim @@ -4,8 +4,10 @@ endif " Vim filetype plugin " Language: roff(7) -" Maintainer: Chris Spiegel <cspiegel@gmail.com> -" Last Change: 2019 Apr 24 +" Maintainer: Aman Verma +" Homepage: https://github.com/a-vrma/vim-nroff-ftplugin +" Previous Maintainer: Chris Spiegel <cspiegel@gmail.com> +" Last Change: 2020 Nov 21 if exists("b:did_ftplugin") finish @@ -13,3 +15,7 @@ endif let b:did_ftplugin = 1 setlocal commentstring=.\\\"%s +setlocal comments=:.\\\" +setlocal sections+=Sh + +let b:undo_ftplugin = 'setlocal commentstring< comments< sections<' diff --git a/ftplugin/spec.vim b/ftplugin/spec.vim index 15234b68..fad900f9 100644 --- a/ftplugin/spec.vim +++ b/ftplugin/spec.vim @@ -77,23 +77,23 @@ if !exists("*s:SpecChangelog") let chgline = -1 while (line <= line("$")) let linestr = getline(line) - if (name == "" && linestr =~? '^Name:') + if name == "" && linestr =~? '^Name:' let nameline = line let name = substitute(strpart(linestr,5), '^[ ]*\([^ ]\+\)[ ]*$','\1','') - elseif (ver == "" && linestr =~? '^Version:') + elseif ver == "" && linestr =~? '^Version:' let verline = line let ver = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','') - elseif (rel == "" && linestr =~? '^Release:') + elseif rel == "" && linestr =~? '^Release:' let relline = line let rel = substitute(strpart(linestr,8), '^[ ]*\([^ ]\+\)[ ]*$','\1','') - elseif (linestr =~? '^%changelog') + elseif linestr =~? '^%changelog' let chgline = line execute line break endif let line = line+1 endwhile - if (nameline != -1 && verline != -1 && relline != -1) + if nameline != -1 && verline != -1 && relline != -1 let include_release_info = exists("g:spec_chglog_release_info") let name = s:ParseRpmVars(name, nameline) let ver = s:ParseRpmVars(ver, verline) @@ -104,20 +104,20 @@ if !exists("*s:SpecChangelog") call s:GetRelVer() - if (chgline == -1) + if chgline == -1 let option = confirm("Can't find %changelog. Create one? ","&End of file\n&Here\n&Cancel",3) - if (option == 1) + if option == 1 call append(line("$"),"") call append(line("$"),"%changelog") execute line("$") let chgline = line(".") - elseif (option == 2) + elseif option == 2 call append(line("."),"%changelog") normal j - chgline = line(".") + let chgline = line(".") endif endif - if (chgline != -1) + if chgline != -1 let tmptime = v:lc_time language time C let parsed_format = "* ".strftime(format)." - ".ver."-".rel @@ -126,16 +126,16 @@ if !exists("*s:SpecChangelog") let wrong_format = 0 let wrong_release = 0 let insert_line = 0 - if (getline(chgline+1) != parsed_format) + if getline(chgline+1) != parsed_format let wrong_format = 1 endif - if (include_release_info && getline(chgline+2) != release_info) + if include_release_info && getline(chgline+2) != release_info let wrong_release = 1 endif - if (wrong_format || wrong_release) - if (include_release_info && !wrong_release && !exists("g:spec_chglog_never_increase_release")) + if wrong_format || wrong_release + if include_release_info && !wrong_release && !exists("g:spec_chglog_never_increase_release") let option = confirm("Increase release? ","&Yes\n&No",1) - if (option == 1) + if option == 1 execute relline normal let rel = substitute(strpart(getline(relline),8), '^[ ]*\([^ ]\+\)[ ]*$','\1','') @@ -175,13 +175,13 @@ if !exists("*s:ParseRpmVars") let ret = "" while (1) let start = match(a:str, "\%{", end+1) - if (start == -1) + if start == -1 let ret = ret . strpart(a:str, end+1) break endif let ret = ret . strpart(a:str, end+1, start-(end+1)) let end = match(a:str, "}", start) - if (end == -1) + if end == -1 let ret = ret . strpart(a:str, start) break endif @@ -189,7 +189,7 @@ if !exists("*s:ParseRpmVars") execute a:strline let definestr = "^[ \t]*%\\(define\\|global\\)[ \t]\\+".varname."[ \t]\\+\\(.*\\)$" let linenum = search(definestr, "bW") - if (linenum != 0) + if linenum != 0 let ret = ret . substitute(getline(linenum), definestr, "\\2", "") endif endwhile diff --git a/indent/crystal.vim b/indent/crystal.vim index 4a0cdb00..724f9611 100644 --- a/indent/crystal.vim +++ b/indent/crystal.vim @@ -12,6 +12,16 @@ endif let b:did_indent = 1 +if !exists('g:crystal_indent_assignment_style') + " Possible values: 'variable', 'hanging' + let g:crystal_indent_assignment_style = 'hanging' +endif + +if !exists('g:crystal_indent_block_style') + " Possible values: 'expression', 'do' + let g:crystal_indent_block_style = 'expression' +endif + setlocal nosmartindent " Now, set up our indentation expression and keys that trigger it. diff --git a/indent/html.vim b/indent/html.vim index 82cd7074..25e306f3 100644 --- a/indent/html.vim +++ b/indent/html.vim @@ -5,7 +5,7 @@ endif " Vim indent script for HTML " Maintainer: Bram Moolenaar " Original Author: Andy Wokula <anwoku@yahoo.de> -" Last Change: 2020 Jul 06 +" Last Change: 2020 Dec 11 " Version: 1.0 "{{{ " Description: HTML indent script with cached state for faster indenting on a " range of lines. @@ -819,7 +819,7 @@ func! s:Alien5() let idx = match(prevtext, '^\s*\zs<!--') if idx >= 0 " just below comment start, add a shiftwidth - return idx + shiftwidth() + return indent(prevlnum) + shiftwidth() endif " Some files add 4 spaces just below a TODO line. It's difficult to detect diff --git a/indent/typescript.vim b/indent/typescript.vim index 0bc143c3..d372f992 100644 --- a/indent/typescript.vim +++ b/indent/typescript.vim @@ -355,7 +355,7 @@ function GetTypescriptIndent() " If the line is empty and the previous nonblank line was a multi-line " comment, use that comment's indent. Deduct one char to account for the " space in ' */'. - if line =~ '^\s*$' && s:IsInMultilineComment(prevline, 1) + if line =~ '^\s*$' && yats#IsInMultilineComment(prevline, 1) return indent(prevline) - 1 endif diff --git a/indent/typescriptreact.vim b/indent/typescriptreact.vim index fe9a2c32..9a640523 100644 --- a/indent/typescriptreact.vim +++ b/indent/typescriptreact.vim @@ -2,7 +2,8 @@ if has_key(g:polyglot_is_disabled, 'typescript') finish endif -exe 'runtime! indent/typescript.vim' +runtime! indent/typescript.vim + " Save the current JavaScript indentexpr. let b:tsx_ts_indentexpr = &indentexpr @@ -11,7 +12,7 @@ if exists('b:did_indent') let s:did_indent=b:did_indent unlet b:did_indent endif -exe 'runtime! indent/xml.vim' +runtime! indent/xml.vim if exists('s:did_indent') let b:did_indent=s:did_indent endif @@ -23,47 +24,52 @@ setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e " XML indentkeys setlocal indentkeys+=*<Return>,<>>,<<>,/ +" Only define the function once. +if exists("*GetTsxIndent") + finish +endif + " Multiline end tag regex (line beginning with '>' or '/>') let s:endtag = '^\s*\/\?>\s*;\=' let s:startexp = '[\{\(]\s*$' " Get all syntax types at the beginning of a given line. -fu! SynSOL(lnum) +fu! s:SynSOL(lnum) return map(synstack(a:lnum, 1), 'synIDattr(v:val, "name")') endfu " Get all syntax types at the end of a given line. -fu! SynEOL(lnum) +fu! s:SynEOL(lnum) let lnum = prevnonblank(a:lnum) let col = strlen(getline(lnum)) return map(synstack(lnum, col), 'synIDattr(v:val, "name")') endfu " Check if a syntax attribute is XMLish. -fu! SynAttrXMLish(synattr) +fu! s:SynAttrXMLish(synattr) return a:synattr =~ "^xml" || a:synattr =~ "^tsx" endfu " Check if a synstack is XMLish (i.e., has an XMLish last attribute). -fu! SynXMLish(syns) - return SynAttrXMLish(get(a:syns, -1)) +fu! s:SynXMLish(syns) + return s:SynAttrXMLish(get(a:syns, -1)) endfu " Check if a synstack denotes the end of a TSX block. -fu! SynTSXBlockEnd(syns) +fu! s:SynTSXBlockEnd(syns) return get(a:syns, -1) =~ '\%(ts\|typescript\)Braces' && - \ SynAttrXMLish(get(a:syns, -2)) + \ s:SynAttrXMLish(get(a:syns, -2)) endfu " Determine how many tsxRegions deep a synstack is. -fu! SynTSXDepth(syns) +fu! s:SynTSXDepth(syns) return len(filter(copy(a:syns), 'v:val ==# "tsxRegion"')) endfu " Check whether `cursyn' continues the same tsxRegion as `prevsyn'. -fu! SynTSXContinues(cursyn, prevsyn) - let curdepth = SynTSXDepth(a:cursyn) - let prevdepth = SynTSXDepth(a:prevsyn) +fu! s:SynTSXContinues(cursyn, prevsyn) + let curdepth = s:SynTSXDepth(a:cursyn) + let prevdepth = s:SynTSXDepth(a:prevsyn) " In most places, we expect the nesting depths to be the same between any " two consecutive positions within a tsxRegion (e.g., between a parent and @@ -78,15 +84,15 @@ endfu " Cleverly mix JS and XML indentation. fu! GetTsxIndent() - let cursyn = SynSOL(v:lnum) - let prevsyn = SynEOL(v:lnum - 1) + let cursyn = s:SynSOL(v:lnum) + let prevsyn = s:SynEOL(v:lnum - 1) " Use XML indenting iff: " - the syntax at the end of the previous line was either TSX or was the " closing brace of a jsBlock whose parent syntax was TSX; and " - the current line continues the same tsxRegion as the previous line. - if (SynXMLish(prevsyn) || SynTSXBlockEnd(prevsyn)) && - \ SynTSXContinues(cursyn, prevsyn) + if (s:SynXMLish(prevsyn) || s:SynTSXBlockEnd(prevsyn)) && + \ s:SynTSXContinues(cursyn, prevsyn) let ind = XmlIndentGet(v:lnum, 0) let l:line = getline(v:lnum) let l:pline = getline(v:lnum - 1) @@ -112,4 +118,4 @@ fu! GetTsxIndent() endif return ind -endfu
\ No newline at end of file +endfu diff --git a/syntax/aidl.vim b/syntax/aidl.vim index 33403301..b271535b 100644 --- a/syntax/aidl.vim +++ b/syntax/aidl.vim @@ -6,7 +6,7 @@ endif " Language: aidl (Android Interface Definition Language) " https://developer.android.com/guide/components/aidl " Maintainer: Dominique Pelle <dominique.pelle@tomtom.com> -" LastChange: 2020/07/25 +" LastChange: 2020/12/03 " Quit when a syntax file was already loaded. if exists("b:current_syntax") @@ -16,7 +16,7 @@ endif source <sfile>:p:h/java.vim syn keyword aidlParamDir in out inout -syn keyword aidlKeyword oneway parcelable +syn keyword aidlKeyword const oneway parcelable " Needed for the 'in', 'out', 'inout' keywords to be highlighted. syn cluster javaTop add=aidlParamDir diff --git a/syntax/basic/members.vim b/syntax/basic/members.vim index 81d24361..69d311ef 100644 --- a/syntax/basic/members.vim +++ b/syntax/basic/members.vim @@ -45,6 +45,6 @@ syntax region typescriptStringMember contained syntax region typescriptComputedMember contained matchgroup=typescriptProperty \ start=/\[/rs=s+1 end=/]/ - \ contains=@typescriptValue,typescriptMember,typescriptMappedIn + \ contains=@typescriptValue,typescriptMember,typescriptMappedIn,typescriptCastKeyword \ nextgroup=@memberNextGroup \ skipwhite skipempty diff --git a/syntax/cabal-2.vim b/syntax/cabal-2.vim index 72e6a6f7..1d765988 100644 --- a/syntax/cabal-2.vim +++ b/syntax/cabal-2.vim @@ -8,7 +8,7 @@ endif " Maintainer: Marcin Szamotulski <profunctor@pm.me> " Previous Maintainer: Vincent Berthoux <twinside@gmail.com> " File Types: .cabal -" Last Change: 3 Oct 2020 +" Last Change: 21 Nov 2020 " v1.5: Incorporated changes from " https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim " Use `syn keyword` instead of `syn match`. @@ -82,10 +82,13 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion \ default-extensions \ author \ autogen-modules + \ asm-sources + \ asm-options \ branch \ bug-reports \ build-depends \ build-tools + \ build-tools-depends \ build-type \ buildable \ c-sources @@ -93,33 +96,46 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion \ category \ cc-options \ copyright + \ cmm-sources + \ cmm-options \ cpp-options + \ cxx-sources \ data-dir \ data-files \ default + \ default-extensions \ description \ executable \ exposed-modules \ exposed \ extensions - \ extra-tmp-files + \ extra-bundled-libraries \ extra-doc-files + \ extra-dynamic-library-flavours + \ extra-framework-dirs + \ extra-ghci-libraries \ extra-lib-dirs \ extra-libraries + \ extra-library-flavours \ extra-source-files - \ exta-tmp-files + \ extra-tmp-files \ for example \ frameworks \ ghc-options \ ghc-prof-options \ ghc-shared-options + \ ghcjs-options + \ ghcjs-prof-options + \ ghcjs-shared-options \ homepage + \ hs-source-dir \ hs-source-dirs \ hugs-options \ import \ include-dirs \ includes \ install-includes + \ js-sources \ ld-options \ license \ license-file @@ -127,10 +143,13 @@ syn keyword cabalStatement contained containedin=cabalStatementRegion \ main-is \ maintainer \ manual + \ mixins \ module \ name \ nhc98-options \ other-extensions + \ other-language + \ other-languages \ other-modules \ package-url \ pkgconfig-depends diff --git a/syntax/cs.vim b/syntax/cs.vim index 362c80f4..7d758eb3 100644 --- a/syntax/cs.vim +++ b/syntax/cs.vim @@ -7,7 +7,7 @@ endif " Maintainer: Nick Jensen <nickspoon@gmail.com> " Former Maintainers: Anduin Withers <awithers@anduin.com> " Johannes Zellner <johannes@zellner.org> -" Last Change: 2020-01-27 +" Last Change: 2020-11-23 " Filenames: *.cs " License: Vim (see :h license) " Repository: https://github.com/nickspoons/vim-cs @@ -22,7 +22,6 @@ endif let s:save_cpo = &cpoptions set cpoptions&vim - syn keyword csType bool byte char decimal double float int long object sbyte short string T uint ulong ushort var void dynamic syn keyword csStorage delegate enum interface namespace struct syn keyword csRepeat break continue do for foreach goto return while @@ -31,7 +30,7 @@ syn keyword csLabel case default syn match csOperatorError display +::+ syn match csGlobal display +global::+ " user labels (see [1] 8.6 Statements) -syn match csLabel display +^\s*\I\i*\s*:\([^:]\)\@=+ +syn match csLabel display +^\s*\I\i*\s*:\%([^:]\)\@=+ syn keyword csModifier abstract const extern internal override private protected public readonly sealed static virtual volatile syn keyword csConstant false null true syn keyword csException try catch finally throw when @@ -43,9 +42,10 @@ syn keyword csUnsupportedStatement add remove value syn keyword csUnspecifiedKeyword explicit implicit " Contextual Keywords -syn match csContextualStatement /\<yield[[:space:]\n]\+\(return\|break\)/me=s+5 -syn match csContextualStatement /\<partial[[:space:]\n]\+\(class\|struct\|interface\)/me=s+7 -syn match csContextualStatement /\<\(get\|set\)\(;\|[[:space:]\n]*{\)/me=s+3 +syn match csContextualStatement /\<yield[[:space:]\n]\+\%(return\|break\)/me=s+5 +syn match csContextualStatement /\<partial[[:space:]\n]\+\%(class\|struct\|interface\)/me=s+7 +syn match csContextualStatement /\<\%(get\|set\)\%(;\|[[:space:]\n]*{\)/me=s+3 +syn match csContextualStatement /\<\%(get\|set\)\s*=>/me=s+3 syn match csContextualStatement /\<where\>[^:]\+:/me=s+5 " Operators @@ -105,7 +105,7 @@ hi def link xmlRegion Comment syn spell default " [1] 9.5 Pre-processing directives -syn region csPreCondit start="^\s*#\s*\(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\)" skip="\\$" end="$" contains=csComment keepend +syn region csPreCondit start="^\s*#\s*\%(define\|undef\|if\|elif\|else\|endif\|line\|error\|warning\|pragma\)\>" skip="\\$" end="$" contains=csComment keepend syn region csRegion matchgroup=csPreCondit start="^\s*#\s*region.*$" end="^\s*#\s*endregion" transparent fold contains=TOP syn region csSummary start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent fold keepend @@ -124,25 +124,27 @@ syn match csSpecialError "\\." contained syn match csSpecialCharError "[^']" contained " [1] 9.4.4.4 Character literals syn match csSpecialChar +\\["\\'0abfnrtvx]+ contained display +syn match csUnicodeNumber +\\x\x\{2,4}+ contained contains=csUnicodeSpecifier display syn match csUnicodeNumber +\\u\x\{4}+ contained contains=csUnicodeSpecifier display syn match csUnicodeNumber +\\U\x\{8}+ contained contains=csUnicodeSpecifier display syn match csUnicodeSpecifier +\\[uU]+ contained display syn region csString matchgroup=csQuote start=+"+ end=+"+ end=+$+ extend contains=csSpecialChar,csSpecialError,csUnicodeNumber,@Spell -syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError display +syn match csCharacter "'[^']*'" contains=csSpecialChar,csSpecialCharError,csUnicodeNumber display syn match csCharacter "'\\''" contains=csSpecialChar display syn match csCharacter "'[^\\]'" display syn match csNumber "\<0[0-7]*[lL]\=\>" display -syn match csNumber "\<0[xX]\x\+[lL]\=\>" display -syn match csNumber "\<\d\+[lL]\=\>" display -syn match csNumber "\<\d\+\.\d*\%\([eE][-+]\=\d\+\)\=[fFdD]\=" display -syn match csNumber "\.\d\+\%\([eE][-+]\=\d\+\)\=[fFdD]\=" display -syn match csNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" display -syn match csNumber "\<\d\+\%\([eE][-+]\=\d\+\)\=[fFdD]\>" display +syn match csNumber "\<0[xX][[:xdigit:]_]\+[lL]\=\>" display +syn match csNumber "\<0[bB][01_]\+[lL]\=\>" display +syn match csNumber "\<[[:digit:]_]\+[lL]\=\>" display +syn match csNumber "\<[[:digit:]_]\+\.[[:digit:]_]*\%\([eE][-+]\=[[:digit:]_]\+\)\=[fFdDmM]\=" display +syn match csNumber "\.[[:digit:]_]\+\%\([eE][-+]\=[[:digit:]_]\+\)\=[fFdDmM]\=" display +syn match csNumber "\<[[:digit:]_]\+[eE][-+]\=[[:digit:]_]\+[fFdDmM]\=\>" display +syn match csNumber "\<[[:digit:]_]\+\%\([eE][-+]\=[[:digit:]_]\+\)\=[fFdDmM]\>" display -syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"+ end=+$+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell +syn region csInterpolatedString matchgroup=csQuote start=+\$"+ end=+"+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,@Spell -syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBracketed,csInterpolationAlign,csInterpolationFormat +syn region csInterpolation matchgroup=csInterpolationDelimiter start=+{+ end=+}+ keepend contained contains=@csAll,csBraced,csBracketed,csInterpolationAlign,csInterpolationFormat syn match csEscapedInterpolation "{{" transparent contains=NONE display syn match csEscapedInterpolation "}}" transparent contains=NONE display syn region csInterpolationAlign matchgroup=csInterpolationAlignDel start=+,+ end=+}+ end=+:+me=e-1 contained contains=csNumber,csConstant,csCharacter,csParens,csOpSymbols,csString,csBracketed display @@ -156,9 +158,10 @@ syn match csQuoteError +@$"+he=s+2,me=s+2 syn region csInterVerbString matchgroup=csQuote start=+\$@"+ end=+"+ skip=+""+ extend contains=csInterpolation,csEscapedInterpolation,csSpecialChar,csSpecialError,csUnicodeNumber,csVerbatimQuote,@Spell -syn region csBracketed matchgroup=csParens start=+(+ end=+)+ contained transparent contains=@csAll,csBracketed +syn region csBracketed matchgroup=csParens start=+(+ end=+)+ extend contained transparent contains=@csAll,csBraced,csBracketed +syn region csBraced matchgroup=csParens start=+{+ end=+}+ extend contained transparent contains=@csAll,csBraced,csBracketed -syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csType,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString,csUserType,csUserIdentifier,csUserInterface,csUserMethod +syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csType,csUnicodeNumber,csUnicodeSpecifier,csInterpolatedString,csVerbatimString,csInterVerbString,csUserType,csUserIdentifier,csUserInterface,csUserMethod " The default highlighting. hi def link csType Type diff --git a/syntax/debchangelog.vim b/syntax/debchangelog.vim index 4f89fbbb..11eaf359 100644 --- a/syntax/debchangelog.vim +++ b/syntax/debchangelog.vim @@ -7,7 +7,7 @@ endif " Maintainer: Debian Vim Maintainers " Former Maintainers: Gerfried Fuchs <alfie@ist.org> " Wichert Akkerman <wakkerma@debian.org> -" Last Change: 2020 Oct 28 +" Last Change: 2020 Nov 28 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim " Standard syntax initialization @@ -26,9 +26,9 @@ set cpo-=C let s:supported = [ \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm', - \ 'sid', 'rc-buggy', + \ 'trixie', 'sid', 'rc-buggy', \ - \ 'trusty', 'xenial', 'bionic', 'focal', 'groovy', 'hippo', 'devel' + \ 'trusty', 'xenial', 'bionic', 'focal', 'groovy', 'hirsute', 'devel' \ ] let s:unsupported = [ \ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', diff --git a/syntax/debsources.vim b/syntax/debsources.vim index 4447b20c..caeb50ae 100644 --- a/syntax/debsources.vim +++ b/syntax/debsources.vim @@ -6,7 +6,7 @@ endif " Language: Debian sources.list " Maintainer: Debian Vim Maintainers " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl> -" Last Change: 2020 Oct 26 +" Last Change: 2020 Nov 28 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim " Standard syntax initialization @@ -28,9 +28,9 @@ set cpo-=C let s:supported = [ \ 'oldstable', 'stable', 'testing', 'unstable', 'experimental', \ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm', - \ 'sid', 'rc-buggy', + \ 'trixie', 'sid', 'rc-buggy', \ - \ 'trusty', 'xenial', 'bionic', 'focal', 'groovy', 'hippo', 'devel' + \ 'trusty', 'xenial', 'bionic', 'focal', 'groovy', 'hirsute', 'devel' \ ] let s:unsupported = [ \ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', diff --git a/syntax/diff.vim b/syntax/diff.vim index a11a58ae..c3eefbb7 100644 --- a/syntax/diff.vim +++ b/syntax/diff.vim @@ -6,7 +6,7 @@ endif " Language: Diff (context or unified) " Maintainer: Bram Moolenaar <Bram@vim.org> " Translations by Jakson Alves de Aquino. -" Last Change: 2016 Apr 02 +" Last Change: 2020 Dec 07 " Quit when a (custom) syntax file was already loaded if exists("b:current_syntax") @@ -350,9 +350,11 @@ syn match diffLine "^---$" syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*" syn match diffFile "^diff\>.*" -syn match diffFile "^+++ .*" syn match diffFile "^Index: .*" syn match diffFile "^==== .*" +" Old style diff uses *** for old and --- for new. +" Unified diff uses --- for old and +++ for new; names are wrong but it works. +syn match diffOldFile "^+++ .*" syn match diffOldFile "^\*\*\* .*" syn match diffNewFile "^--- .*" diff --git a/syntax/eelixir.vim b/syntax/eelixir.vim index ac4dec43..6682756e 100644 --- a/syntax/eelixir.vim +++ b/syntax/eelixir.vim @@ -27,7 +27,10 @@ if !exists("b:eelixir_subtype") let b:eelixir_subtype = matchstr(&filetype,'^leex\.\zs\w\+') endif if b:eelixir_subtype == '' - let b:eelixir_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.eex\|\.leex\|\.eelixir\)\+$','',''),'\.\zs\w\+$') + let b:eelixir_subtype = matchstr(&filetype,'^sface\.\zs\w\+') + endif + if b:eelixir_subtype == '' + let b:eelixir_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.eex\|\.sface\|\.leex\|\.eelixir\)\+$','',''),'\.\zs\w\+$') endif if b:eelixir_subtype == 'ex' let b:eelixir_subtype = 'elixir' @@ -52,16 +55,18 @@ endif syn include @elixirTop syntax/elixir.vim -syn cluster eelixirRegions contains=eelixirBlock,eelixirExpression,eelixirComment +syn cluster eelixirRegions contains=eelixirBlock,surfaceExpression,eelixirExpression,eelixirComment exe 'syn region eelixirExpression matchgroup=eelixirDelimiter start="<%" end="%\@<!%>" contains=@elixirTop containedin=ALLBUT,@eelixirRegions keepend' exe 'syn region eelixirExpression matchgroup=eelixirDelimiter start="<%=" end="%\@<!%>" contains=@elixirTop containedin=ALLBUT,@eelixirRegions keepend' +exe 'syn region surfaceExpression matchgroup=surfaceDelimiter start="{{" end="}}" contains=@elixirTop containedin=ALLBUT,@eelixirRegions keepend' exe 'syn region eelixirQuote matchgroup=eelixirDelimiter start="<%%" end="%\@<!%>" contains=@elixirTop containedin=ALLBUT,@eelixirRegions keepend' exe 'syn region eelixirComment matchgroup=eelixirDelimiter start="<%#" end="%\@<!%>" contains=elixirTodo,@Spell containedin=ALLBUT,@eelixirRegions keepend' " Define the default highlighting. hi def link eelixirDelimiter PreProc +hi def link surfaceDelimiter PreProc hi def link eelixirComment Comment let b:current_syntax = 'eelixir' diff --git a/syntax/elixir.vim b/syntax/elixir.vim index a155116a..02e71a42 100644 --- a/syntax/elixir.vim +++ b/syntax/elixir.vim @@ -115,7 +115,9 @@ syn region elixirSigil matchgroup=elixirSigilDelimiter start=+\~\a\z('''\)+ end= syntax include @HTML syntax/html.vim unlet b:current_syntax syntax region elixirLiveViewSigil matchgroup=elixirSigilDelimiter keepend start=+\~L\z("""\)+ end=+^\s*\z1+ skip=+\\"+ contains=@HTML fold - +syntax region elixirSurfaceSigil matchgroup=elixirSigilDelimiter keepend start=+\~H\z("""\)+ end=+^\s*\z1+ skip=+\\"+ contains=@HTML fold +syntax region elixirPhoenixESigil matchgroup=elixirSigilDelimiter keepend start=+\~E\z("""\)+ end=+^\s*\z1+ skip=+\\"+ contains=@HTML fold +syntax region elixirPhoenixeSigil matchgroup=elixirSigilDelimiter keepend start=+\~e\z("""\)+ end=+^\s*\z1+ skip=+\\"+ contains=@HTML fold " Documentation if exists('g:elixir_use_markdown_for_docs') && g:elixir_use_markdown_for_docs diff --git a/syntax/gosum.vim b/syntax/gosum.vim new file mode 100644 index 00000000..07130ca2 --- /dev/null +++ b/syntax/gosum.vim @@ -0,0 +1,59 @@ +if has_key(g:polyglot_is_disabled, 'go') + finish +endif + +" gosum.vim: Vim syntax file for go.sum file +" +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") + finish +endif + +syntax case match + +" highlight versions: +" * vX.Y.Z-pre +" * vX.Y.Z +" * vX.0.0-yyyyymmddhhmmss-abcdefabcdef +" * vX.Y.Z-pre.0.yyyymmddhhmmss-abcdefabcdef +" * vX.Y.(Z+1)-0.yyyymmddhhss-abcdefabcdef +" see https://godoc.org/golang.org/x/tools/internal/semver for more +" information about how semantic versions are parsed and +" https://golang.org/cmd/go/ for how pseudo-versions and +incompatible +" are applied. + + +" match vX.Y.Z and their prereleases +syntax match gomodVersion "v\d\+\.\d\+\.\d\+\%(-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?" +" ^--- version ---^^------------ pre-release ---------------------^^--------------- metadata ---------------------^ +" ^--------------------------------------- semantic version -------------------------------------------------------^ + +" match pseudo versions +" without a major version before the commit (e.g. vX.0.0-yyyymmddhhmmss-abcdefabcdef) +syntax match gomodVersion "v\d\+\.0\.0-\d\{14\}-\x\+" +" when most recent version before target is a pre-release +syntax match gomodVersion "v\d\+\.\d\+\.\d\+-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?\.0\.\d\{14}-\x\+" +" ^--- version ---^^--- ------ pre-release -----------------^^--------------- metadata ---------------------^ +" ^------------------------------------- semantic version --------------------------------------------------^ +" most recent version before the target is X.Y.Z +syntax match gomodVersion "v\d\+\.\d\+\.\d\+\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?-0\.\d\{14}-\x\+" +" ^--- version ---^^--------------- metadata ---------------------^ + +" match incompatible vX.Y.Z and their prereleases +syntax match gomodVersion "v[2-9]\{1}\d*\.\d\+\.\d\+\%(-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?+incompatible" +" ^------- version -------^^------------- pre-release ---------------------^^--------------- metadata ---------------------^ +" ^------------------------------------------- semantic version -----------------------------------------------------------^ + +" match incompatible pseudo versions +" incompatible without a major version before the commit (e.g. vX.0.0-yyyymmddhhmmss-abcdefabcdef) +syntax match gomodVersion "v[2-9]\{1}\d*\.0\.0-\d\{14\}-\x\++incompatible" +" when most recent version before target is a pre-release +syntax match gomodVersion "v[2-9]\{1}\d*\.\d\+\.\d\+-\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\%(+\%([0-9A-Za-z-]\+\)\(\.[0-9A-Za-z-]\+\)*\)\?\.0\.\d\{14}-\x\++incompatible" +" ^------- version -------^^---------- pre-release -----------------^^--------------- metadata ---------------------^ +" ^---------------------------------------- semantic version ------------------------------------------------------^ +" most recent version before the target is X.Y.Z +syntax match gomodVersion "v[2-9]\{1}\d*\.\d\+\.\d\+\%(+\%([0-9A-Za-z-]\+\)\%(\.[0-9A-Za-z-]\+\)*\)\?-0\.\d\{14}-\x\++incompatible" +" ^------- version -------^^---------------- metadata ---------------------^ +highlight default link gomodVersion Identifier + +let b:current_syntax = "gomod" diff --git a/syntax/graphql.vim b/syntax/graphql.vim index a41f8251..a5351b08 100644 --- a/syntax/graphql.vim +++ b/syntax/graphql.vim @@ -94,6 +94,8 @@ hi def link graphqlStructure Structure hi def link graphqlType Type hi def link graphqlVariable Identifier -syn sync minlines=500 +if !get(b:, 'graphql_nested_syntax') + syn sync minlines=500 +endif let b:current_syntax = 'graphql' diff --git a/syntax/idris2.vim b/syntax/idris2.vim index 1c7d800c..65856380 100644 --- a/syntax/idris2.vim +++ b/syntax/idris2.vim @@ -30,7 +30,6 @@ syn keyword idrisStatement do case of rewrite with syn keyword idrisLet let in syn keyword idrisForall forall syn keyword idrisDataOpt noHints uniqueSearch search external noNewtype containedin=idrisBrackets -syn match idrisSyntax "\(pattern \+\|term \+\)\?syntax" syn keyword idrisConditional if then else syn match idrisNumber "\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>" syn match idrisFloat "\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>" @@ -42,7 +41,7 @@ syn keyword idrisTodo TODO FIXME XXX HACK contained syn match idrisLineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idrisTodo,@Spell syn match idrisDocComment "|||\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contains=idrisTodo,@Spell syn match idrisMetaVar "?[a-z][A-Za-z0-9_']*" -syn match idrisPragma "%\(hide\|logging\|auto_lazy\|unbound_implicits\|undotted_record_projections\|amibguity_depth\|pair\|rewrite\|integerLit\|stringLit\|charLit\|name\|start\|allow_overloads\|language\|default\|transform\|hint\|global_hint\|defaulthint\|inline\|extern\|macro\|spec\|foreign\|runElab\|tcinline\)" +syn match idrisPragma "%\(hide\|logging\|auto_lazy\|unbound_implicits\|undotted_record_projections\|amibguity_depth\|pair\|rewrite\|integerLit\|stringLit\|charLit\|name\|start\|allow_overloads\|language\|default\|transform\|hint\|global_hint\|defaulthint\|inline\|extern\|macro\|spec\|foreign\|runElab\|tcinline\|defaulthint\|auto_implicit_depth\)" syn match idrisChar "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'" syn match idrisBacktick "`[A-Za-z][A-Za-z0-9_']*`" syn region idrisString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell @@ -63,7 +62,6 @@ highlight def link idrisAnnotation Statement highlight def link idrisWhere Structure highlight def link idrisLet Structure highlight def link idrisTotality Statement -highlight def link idrisSyntax Statement highlight def link idrisVisibility Statement highlight def link idrisConditional Conditional highlight def link idrisPragma Statement diff --git a/syntax/lex.vim b/syntax/lex.vim index 7979f3ae..144f0deb 100644 --- a/syntax/lex.vim +++ b/syntax/lex.vim @@ -126,7 +126,7 @@ if has("folding") syn region lexPatComment fold start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell syn region lexPatComment fold start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell else - syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhitecontained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude + syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhite contained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude syn region lexPatComment start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell syn region lexPatComment start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell endif diff --git a/syntax/pgsql.vim b/syntax/pgsql.vim index 91e48eb7..96913e66 100644 --- a/syntax/pgsql.vim +++ b/syntax/pgsql.vim @@ -8,8 +8,8 @@ endif " Version: 2.3.0 " License: Vim license (see `:help license`) -" Based on PostgreSQL 13.0 -" Automatically generated on 2020-11-15 at 22:23:22 +" Based on PostgreSQL 13.1 +" Automatically generated on 2020-12-23 at 20:13:28 if exists("b:current_syntax") finish @@ -34,40 +34,42 @@ syn keyword sqlStatement contained rollback savepoint security select select set syn keyword sqlStatement contained truncate unlisten update vacuum values work syn match sqlStatement contained /\<create\%(\_s\+or\_s\+replace\)\=\>/ " Types -syn keyword sqlType contained aclitem addr addr_gid_seq addrfeat addrfeat_gid_seq anyarray -syn keyword sqlType contained anycompatible anycompatiblearray anycompatiblenonarray -syn keyword sqlType contained anycompatiblerange anyelement anyenum anynonarray anyrange bg bg_gid_seq bit -syn keyword sqlType contained bool box box2d box2df box3d bpchar bytea cardinal_number char -syn keyword sqlType contained character_data cid cidr circle citext county county_gid_seq -syn keyword sqlType contained county_lookup countysub_lookup cousub cousub_gid_seq cstring cube date -syn keyword sqlType contained daterange dblink_pkey_results direction_lookup ean13 earth edges -syn keyword sqlType contained edges_gid_seq errcodes event_trigger faces faces_gid_seq fdw_handler -syn keyword sqlType contained featnames featnames_gid_seq float4 float8 gbtreekey16 gbtreekey32 -syn keyword sqlType contained gbtreekey4 gbtreekey8 gbtreekey_var geocode_settings -syn keyword sqlType contained geocode_settings_default geography geography_columns geometry -syn keyword sqlType contained geometry_columns geometry_dump getfaceedges_returntype ghstore gidx gtrgm -syn keyword sqlType contained gtsvector hstore index_am_handler inet int2 int2vector int4 int4range -syn keyword sqlType contained int8 int8range intbig_gkey internal interval isbn isbn13 ismn ismn13 -syn keyword sqlType contained issn issn13 json jsonb jsonpath language_handler layer line lo -syn keyword sqlType contained loader_lookuptables loader_platform loader_variables lquery lseg -syn keyword sqlType contained ltree ltree_gist ltxtquery macaddr macaddr8 money norm_addy numeric -syn keyword sqlType contained numrange oid oidvector pagc_gaz pagc_gaz_id_seq pagc_lex -syn keyword sqlType contained pagc_lex_id_seq pagc_rules pagc_rules_id_seq path pg_all_foreign_keys -syn keyword sqlType contained pg_ddl_command pg_dependencies pg_lsn pg_mcv_list pg_ndistinct -syn keyword sqlType contained pg_node_tree pg_snapshot place place_gid_seq place_lookup point polygon -syn keyword sqlType contained query_int record refcursor regclass regcollation regconfig -syn keyword sqlType contained regdictionary regnamespace regoper regoperator regproc regprocedure -syn keyword sqlType contained regrole regtype secondary_unit_lookup seg spatial_ref_sys spheroid -syn keyword sqlType contained sql_identifier state state_gid_seq state_lookup stdaddr -syn keyword sqlType contained street_type_lookup tabblock tabblock_gid_seq table_am_handler -syn keyword sqlType contained tablefunc_crosstab_2 tablefunc_crosstab_3 tablefunc_crosstab_4 tap_funky -syn keyword sqlType contained text tid time time_stamp timestamp timestamptz timetz topoelement +syn keyword sqlType contained aclitem addbandarg addr addr_gid_seq addrfeat addrfeat_gid_seq +syn keyword sqlType contained agg_count agg_samealignment anyarray anycompatible +syn keyword sqlType contained anycompatiblearray anycompatiblenonarray anycompatiblerange anyelement +syn keyword sqlType contained anyenum anynonarray anyrange bg bg_gid_seq bit bool box box2d box2df box3d +syn keyword sqlType contained bpchar bytea cardinal_number char character_data cid cidr circle +syn keyword sqlType contained citext county county_gid_seq county_lookup countysub_lookup cousub +syn keyword sqlType contained cousub_gid_seq cstring cube date daterange dblink_pkey_results +syn keyword sqlType contained direction_lookup ean13 earth edges edges_gid_seq errcodes +syn keyword sqlType contained event_trigger faces faces_gid_seq fdw_handler featnames featnames_gid_seq +syn keyword sqlType contained float4 float8 gbtreekey16 gbtreekey32 gbtreekey4 gbtreekey8 +syn keyword sqlType contained gbtreekey_var geocode_settings geocode_settings_default geography +syn keyword sqlType contained geography_columns geometry geometry_columns geometry_dump geomval +syn keyword sqlType contained getfaceedges_returntype ghstore gidx gtrgm gtsvector hstore +syn keyword sqlType contained index_am_handler inet int2 int2vector int4 int4range int8 int8range +syn keyword sqlType contained intbig_gkey internal interval isbn isbn13 ismn ismn13 issn issn13 json +syn keyword sqlType contained jsonb jsonpath language_handler layer line lo loader_lookuptables +syn keyword sqlType contained loader_platform loader_variables lquery lseg ltree ltree_gist +syn keyword sqlType contained ltxtquery macaddr macaddr8 money norm_addy numeric numrange oid +syn keyword sqlType contained oidvector pagc_gaz pagc_gaz_id_seq pagc_lex pagc_lex_id_seq pagc_rules +syn keyword sqlType contained pagc_rules_id_seq path pg_all_foreign_keys pg_ddl_command +syn keyword sqlType contained pg_dependencies pg_lsn pg_mcv_list pg_ndistinct pg_node_tree +syn keyword sqlType contained pg_snapshot place place_gid_seq place_lookup point polygon query_int +syn keyword sqlType contained rastbandarg raster raster_columns raster_overviews reclassarg record +syn keyword sqlType contained refcursor regclass regcollation regconfig regdictionary +syn keyword sqlType contained regnamespace regoper regoperator regproc regprocedure regrole regtype +syn keyword sqlType contained secondary_unit_lookup seg spatial_ref_sys spheroid sql_identifier state +syn keyword sqlType contained state_gid_seq state_lookup stdaddr street_type_lookup +syn keyword sqlType contained summarystats tabblock tabblock_gid_seq table_am_handler +syn keyword sqlType contained tablefunc_crosstab_2 tablefunc_crosstab_3 tablefunc_crosstab_4 tap_funky text +syn keyword sqlType contained tid time time_stamp timestamp timestamptz timetz topoelement syn keyword sqlType contained topoelementarray topogeometry topology topology_id_seq tract -syn keyword sqlType contained tract_gid_seq tsm_handler tsquery tsrange tstzrange tsvector -syn keyword sqlType contained txid_snapshot upc us_gaz us_gaz_id_seq us_lex us_lex_id_seq us_rules -syn keyword sqlType contained us_rules_id_seq uuid valid_detail validatetopology_returntype varbit -syn keyword sqlType contained varchar void xid xid8 xml yes_or_no zcta5 zcta5_gid_seq zip_lookup -syn keyword sqlType contained zip_lookup_all zip_lookup_base zip_state zip_state_loc +syn keyword sqlType contained tract_gid_seq tsm_handler tsquery tsrange tstzrange tsvector txid_snapshot +syn keyword sqlType contained unionarg upc us_gaz us_gaz_id_seq us_lex us_lex_id_seq us_rules +syn keyword sqlType contained us_rules_id_seq uuid valid_detail validatetopology_returntype +syn keyword sqlType contained varbit varchar void xid xid8 xml yes_or_no zcta5 zcta5_gid_seq +syn keyword sqlType contained zip_lookup zip_lookup_all zip_lookup_base zip_state zip_state_loc syn match sqlType /\<pg_toast_\d\+\>/ syn match sqlType /\<time\%[stamp]\s\+with\%[out]\>/ syn match sqlKeyword /\<with\s\+grant\>/ @@ -708,10 +710,11 @@ syn keyword sqlConstant contained btree_gist citext cube dblink dict_int dict_xs syn keyword sqlConstant contained fuzzystrmatch hstore hstore_plperl hstore_plperlu insert_username syn keyword sqlConstant contained intagg intarray isn jsonb_plperl jsonb_plperlu lo ltree moddatetime syn keyword sqlConstant contained pageinspect pg_buffercache pg_freespacemap pg_prewarm -syn keyword sqlConstant contained pg_stat_statements pg_trgm pg_visibility pgcrypto pgrowlocks pgstattuple -syn keyword sqlConstant contained pgtap plperl plperlu plpgsql pltcl pltclu postgis postgis_sfcgal -syn keyword sqlConstant contained postgis_tiger_geocoder postgis_topology postgres_fdw refint seg -syn keyword sqlConstant contained sslinfo tablefunc tcn tsm_system_rows tsm_system_time unaccent xml2 +syn keyword sqlConstant contained pg_stat_statements pg_trgm pg_visibility pgcrypto pgrouting pgrowlocks +syn keyword sqlConstant contained pgstattuple pgtap plperl plperlu plpgsql pltcl pltclu postgis +syn keyword sqlConstant contained postgis_raster postgis_sfcgal postgis_tiger_geocoder postgis_topology +syn keyword sqlConstant contained postgres_fdw refint seg sslinfo tablefunc tcn tsm_system_rows +syn keyword sqlConstant contained tsm_system_time unaccent xml2 " Legacy extensions names syn keyword sqlConstant contained chkpass hstore_plpython2u hstore_plpython3u hstore_plpythonu syn keyword sqlConstant contained jsonb_plpython3u ltree_plpython2u ltree_plpython3u @@ -720,7 +723,7 @@ syn keyword sqlConstant contained ltree_plpythonu pldbgapi plpython2u plpython3u if index(get(g:, 'pgsql_disabled_extensions', []), 'refint') == -1 syn keyword sqlFunction contained check_foreign_key check_primary_key endif " refint -" Extension: postgis (v3.0.2) +" Extension: postgis (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis') == -1 syn keyword sqlFunction contained addauth addgeometrycolumn box syn keyword sqlFunction contained box2d box2d_in box2d_out box2df_in @@ -802,114 +805,116 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis') == -1 syn keyword sqlFunction contained postgis_extensions_upgrade postgis_full_version postgis_geos_noop syn keyword sqlFunction contained postgis_geos_version postgis_getbbox syn keyword sqlFunction contained postgis_hasbbox postgis_index_supportfn - syn keyword sqlFunction contained postgis_lib_build_date postgis_lib_version - syn keyword sqlFunction contained postgis_libjson_version postgis_liblwgeom_version - syn keyword sqlFunction contained postgis_libprotobuf_version postgis_libxml_version - syn keyword sqlFunction contained postgis_noop postgis_proj_version - syn keyword sqlFunction contained postgis_scripts_build_date postgis_scripts_installed - syn keyword sqlFunction contained postgis_scripts_released postgis_svn_version - syn keyword sqlFunction contained postgis_transform_geometry postgis_type_name postgis_typmod_dims - syn keyword sqlFunction contained postgis_typmod_srid postgis_typmod_type - syn keyword sqlFunction contained postgis_version postgis_wagyu_version - syn keyword sqlFunction contained spheroid_in spheroid_out st_3dclosestpoint - syn keyword sqlFunction contained st_3ddfullywithin st_3ddistance st_3ddwithin - syn keyword sqlFunction contained st_3dextent st_3dintersects st_3dlength - syn keyword sqlFunction contained st_3dlineinterpolatepoint st_3dlongestline - syn keyword sqlFunction contained st_3dmakebox st_3dmaxdistance st_3dperimeter - syn keyword sqlFunction contained st_3dshortestline st_addmeasure st_addpoint - syn keyword sqlFunction contained st_affine st_angle st_area st_area2d - syn keyword sqlFunction contained st_asbinary st_asencodedpolyline st_asewkb - syn keyword sqlFunction contained st_asewkt st_asgeobuf st_asgeojson - syn keyword sqlFunction contained st_asgml st_ashexewkb st_askml - syn keyword sqlFunction contained st_aslatlontext st_asmvt st_asmvtgeom st_assvg - syn keyword sqlFunction contained st_astext st_astwkb st_asx3d st_azimuth - syn keyword sqlFunction contained st_bdmpolyfromtext st_bdpolyfromtext - syn keyword sqlFunction contained st_boundary st_boundingdiagonal st_box2dfromgeohash - syn keyword sqlFunction contained st_buffer st_buildarea st_centroid - syn keyword sqlFunction contained st_chaikinsmoothing st_cleangeometry - syn keyword sqlFunction contained st_clipbybox2d st_closestpoint st_closestpointofapproach - syn keyword sqlFunction contained st_clusterdbscan st_clusterintersecting - syn keyword sqlFunction contained st_clusterkmeans st_clusterwithin st_collect - syn keyword sqlFunction contained st_collectionextract st_collectionhomogenize - syn keyword sqlFunction contained st_combinebbox st_concavehull st_contains - syn keyword sqlFunction contained st_containsproperly st_convexhull st_coorddim - syn keyword sqlFunction contained st_coveredby st_covers st_cpawithin - syn keyword sqlFunction contained st_crosses st_curvetoline st_delaunaytriangles - syn keyword sqlFunction contained st_dfullywithin st_difference - syn keyword sqlFunction contained st_dimension st_disjoint st_distance st_distancecpa - syn keyword sqlFunction contained st_distancesphere st_distancespheroid - syn keyword sqlFunction contained st_dump st_dumppoints st_dumprings - syn keyword sqlFunction contained st_dwithin st_endpoint st_envelope st_equals - syn keyword sqlFunction contained st_estimatedextent st_expand st_extent - syn keyword sqlFunction contained st_exteriorring st_filterbym st_findextent - syn keyword sqlFunction contained st_flipcoordinates st_force2d st_force3d - syn keyword sqlFunction contained st_force3dm st_force3dz st_force4d - syn keyword sqlFunction contained st_forcecollection st_forcecurve st_forcepolygonccw - syn keyword sqlFunction contained st_forcepolygoncw st_forcerhr - syn keyword sqlFunction contained st_forcesfs st_frechetdistance st_generatepoints - syn keyword sqlFunction contained st_geogfromtext st_geogfromwkb - syn keyword sqlFunction contained st_geographyfromtext st_geohash st_geomcollfromtext - syn keyword sqlFunction contained st_geomcollfromwkb st_geometricmedian - syn keyword sqlFunction contained st_geometryfromtext st_geometryn st_geometrytype - syn keyword sqlFunction contained st_geomfromewkb st_geomfromewkt st_geomfromgeohash - syn keyword sqlFunction contained st_geomfromgeojson st_geomfromgml - syn keyword sqlFunction contained st_geomfromkml st_geomfromtext st_geomfromtwkb - syn keyword sqlFunction contained st_geomfromwkb st_gmltosql st_hasarc - syn keyword sqlFunction contained st_hausdorffdistance st_interiorringn + syn keyword sqlFunction contained postgis_lib_build_date postgis_lib_revision + syn keyword sqlFunction contained postgis_lib_version postgis_libjson_version + syn keyword sqlFunction contained postgis_liblwgeom_version postgis_libprotobuf_version + syn keyword sqlFunction contained postgis_libxml_version postgis_noop postgis_proj_version + syn keyword sqlFunction contained postgis_scripts_build_date + syn keyword sqlFunction contained postgis_scripts_installed postgis_scripts_released + syn keyword sqlFunction contained postgis_svn_version postgis_transform_geometry + syn keyword sqlFunction contained postgis_type_name postgis_typmod_dims postgis_typmod_srid + syn keyword sqlFunction contained postgis_typmod_type postgis_version + syn keyword sqlFunction contained postgis_wagyu_version spheroid_in spheroid_out + syn keyword sqlFunction contained st_3dclosestpoint st_3ddfullywithin st_3ddistance + syn keyword sqlFunction contained st_3ddwithin st_3dextent st_3dintersects + syn keyword sqlFunction contained st_3dlength st_3dlineinterpolatepoint + syn keyword sqlFunction contained st_3dlongestline st_3dmakebox st_3dmaxdistance + syn keyword sqlFunction contained st_3dperimeter st_3dshortestline + syn keyword sqlFunction contained st_addmeasure st_addpoint st_affine st_angle + syn keyword sqlFunction contained st_area st_area2d st_asbinary + syn keyword sqlFunction contained st_asencodedpolyline st_asewkb st_asewkt st_asgeobuf + syn keyword sqlFunction contained st_asgeojson st_asgml st_ashexewkb + syn keyword sqlFunction contained st_askml st_aslatlontext st_asmvt + syn keyword sqlFunction contained st_asmvtgeom st_assvg st_astext st_astwkb + syn keyword sqlFunction contained st_asx3d st_azimuth st_bdmpolyfromtext + syn keyword sqlFunction contained st_bdpolyfromtext st_boundary st_boundingdiagonal + syn keyword sqlFunction contained st_box2dfromgeohash st_buffer + syn keyword sqlFunction contained st_buildarea st_centroid st_chaikinsmoothing + syn keyword sqlFunction contained st_cleangeometry st_clipbybox2d st_closestpoint + syn keyword sqlFunction contained st_closestpointofapproach st_clusterdbscan + syn keyword sqlFunction contained st_clusterintersecting st_clusterkmeans + syn keyword sqlFunction contained st_clusterwithin st_collect st_collectionextract + syn keyword sqlFunction contained st_collectionhomogenize st_combinebbox + syn keyword sqlFunction contained st_concavehull st_contains st_containsproperly + syn keyword sqlFunction contained st_convexhull st_coorddim st_coveredby + syn keyword sqlFunction contained st_covers st_cpawithin st_crosses st_curvetoline + syn keyword sqlFunction contained st_delaunaytriangles st_dfullywithin + syn keyword sqlFunction contained st_difference st_dimension st_disjoint + syn keyword sqlFunction contained st_distance st_distancecpa st_distancesphere + syn keyword sqlFunction contained st_distancespheroid st_dump st_dumppoints + syn keyword sqlFunction contained st_dumprings st_dwithin st_endpoint + syn keyword sqlFunction contained st_envelope st_equals st_estimatedextent + syn keyword sqlFunction contained st_expand st_extent st_exteriorring + syn keyword sqlFunction contained st_filterbym st_findextent st_flipcoordinates + syn keyword sqlFunction contained st_force2d st_force3d st_force3dm st_force3dz + syn keyword sqlFunction contained st_force4d st_forcecollection + syn keyword sqlFunction contained st_forcecurve st_forcepolygonccw st_forcepolygoncw + syn keyword sqlFunction contained st_forcerhr st_forcesfs st_frechetdistance + syn keyword sqlFunction contained st_generatepoints st_geogfromtext + syn keyword sqlFunction contained st_geogfromwkb st_geographyfromtext st_geohash + syn keyword sqlFunction contained st_geomcollfromtext st_geomcollfromwkb + syn keyword sqlFunction contained st_geometricmedian st_geometryfromtext st_geometryn + syn keyword sqlFunction contained st_geometrytype st_geomfromewkb st_geomfromewkt + syn keyword sqlFunction contained st_geomfromgeohash st_geomfromgeojson + syn keyword sqlFunction contained st_geomfromgml st_geomfromkml st_geomfromtext + syn keyword sqlFunction contained st_geomfromtwkb st_geomfromwkb st_gmltosql + syn keyword sqlFunction contained st_hasarc st_hausdorffdistance st_hexagon + syn keyword sqlFunction contained st_hexagongrid st_interiorringn syn keyword sqlFunction contained st_interpolatepoint st_intersection st_intersects syn keyword sqlFunction contained st_isclosed st_iscollection st_isempty - syn keyword sqlFunction contained st_ispolygonccw st_ispolygoncw st_isring st_issimple - syn keyword sqlFunction contained st_isvalid st_isvaliddetail + syn keyword sqlFunction contained st_ispolygonccw st_ispolygoncw st_isring + syn keyword sqlFunction contained st_issimple st_isvalid st_isvaliddetail syn keyword sqlFunction contained st_isvalidreason st_isvalidtrajectory st_length - syn keyword sqlFunction contained st_length2d st_length2dspheroid st_lengthspheroid - syn keyword sqlFunction contained st_linecrossingdirection + syn keyword sqlFunction contained st_length2d st_length2dspheroid + syn keyword sqlFunction contained st_lengthspheroid st_linecrossingdirection syn keyword sqlFunction contained st_linefromencodedpolyline st_linefrommultipoint st_linefromtext syn keyword sqlFunction contained st_linefromwkb st_lineinterpolatepoint syn keyword sqlFunction contained st_lineinterpolatepoints st_linelocatepoint syn keyword sqlFunction contained st_linemerge st_linestringfromwkb st_linesubstring - syn keyword sqlFunction contained st_linetocurve st_locatealong st_locatebetween - syn keyword sqlFunction contained st_locatebetweenelevations st_longestline + syn keyword sqlFunction contained st_linetocurve st_locatealong + syn keyword sqlFunction contained st_locatebetween st_locatebetweenelevations st_longestline syn keyword sqlFunction contained st_m st_makebox2d st_makeenvelope syn keyword sqlFunction contained st_makeline st_makepoint st_makepointm syn keyword sqlFunction contained st_makepolygon st_makevalid st_maxdistance - syn keyword sqlFunction contained st_memcollect st_memsize st_memunion - syn keyword sqlFunction contained st_minimumboundingcircle st_minimumboundingradius - syn keyword sqlFunction contained st_minimumclearance st_minimumclearanceline - syn keyword sqlFunction contained st_mlinefromtext st_mlinefromwkb st_mpointfromtext - syn keyword sqlFunction contained st_mpointfromwkb st_mpolyfromtext - syn keyword sqlFunction contained st_mpolyfromwkb st_multi st_multilinefromwkb - syn keyword sqlFunction contained st_multilinestringfromtext st_multipointfromtext - syn keyword sqlFunction contained st_multipointfromwkb st_multipolyfromwkb - syn keyword sqlFunction contained st_multipolygonfromtext st_ndims st_node st_normalize - syn keyword sqlFunction contained st_npoints st_nrings st_numgeometries - syn keyword sqlFunction contained st_numinteriorring st_numinteriorrings - syn keyword sqlFunction contained st_numpatches st_numpoints st_offsetcurve - syn keyword sqlFunction contained st_orderingequals st_orientedenvelope st_overlaps - syn keyword sqlFunction contained st_patchn st_perimeter st_perimeter2d - syn keyword sqlFunction contained st_point st_pointfromgeohash st_pointfromtext - syn keyword sqlFunction contained st_pointfromwkb st_pointinsidecircle - syn keyword sqlFunction contained st_pointn st_pointonsurface st_points - syn keyword sqlFunction contained st_polyfromtext st_polyfromwkb st_polygon - syn keyword sqlFunction contained st_polygonfromtext st_polygonfromwkb st_polygonize - syn keyword sqlFunction contained st_project st_quantizecoordinates st_relate - syn keyword sqlFunction contained st_relatematch st_removepoint + syn keyword sqlFunction contained st_maximuminscribedcircle st_memcollect + syn keyword sqlFunction contained st_memsize st_memunion st_minimumboundingcircle + syn keyword sqlFunction contained st_minimumboundingradius st_minimumclearance + syn keyword sqlFunction contained st_minimumclearanceline st_mlinefromtext + syn keyword sqlFunction contained st_mlinefromwkb st_mpointfromtext st_mpointfromwkb + syn keyword sqlFunction contained st_mpolyfromtext st_mpolyfromwkb st_multi + syn keyword sqlFunction contained st_multilinefromwkb st_multilinestringfromtext + syn keyword sqlFunction contained st_multipointfromtext st_multipointfromwkb + syn keyword sqlFunction contained st_multipolyfromwkb st_multipolygonfromtext + syn keyword sqlFunction contained st_ndims st_node st_normalize st_npoints + syn keyword sqlFunction contained st_nrings st_numgeometries st_numinteriorring + syn keyword sqlFunction contained st_numinteriorrings st_numpatches + syn keyword sqlFunction contained st_numpoints st_offsetcurve st_orderingequals + syn keyword sqlFunction contained st_orientedenvelope st_overlaps st_patchn + syn keyword sqlFunction contained st_perimeter st_perimeter2d st_point + syn keyword sqlFunction contained st_pointfromgeohash st_pointfromtext st_pointfromwkb + syn keyword sqlFunction contained st_pointinsidecircle st_pointn + syn keyword sqlFunction contained st_pointonsurface st_points st_polyfromtext + syn keyword sqlFunction contained st_polyfromwkb st_polygon st_polygonfromtext + syn keyword sqlFunction contained st_polygonfromwkb st_polygonize st_project + syn keyword sqlFunction contained st_quantizecoordinates st_reduceprecision + syn keyword sqlFunction contained st_relate st_relatematch st_removepoint syn keyword sqlFunction contained st_removerepeatedpoints st_reverse st_rotate syn keyword sqlFunction contained st_rotatex st_rotatey st_rotatez st_scale - syn keyword sqlFunction contained st_segmentize st_seteffectivearea st_setpoint - syn keyword sqlFunction contained st_setsrid st_sharedpaths + syn keyword sqlFunction contained st_segmentize st_seteffectivearea + syn keyword sqlFunction contained st_setpoint st_setsrid st_sharedpaths syn keyword sqlFunction contained st_shiftlongitude st_shortestline st_simplify syn keyword sqlFunction contained st_simplifypreservetopology st_simplifyvw st_snap - syn keyword sqlFunction contained st_snaptogrid st_split st_srid - syn keyword sqlFunction contained st_startpoint st_subdivide st_summary - syn keyword sqlFunction contained st_swapordinates st_symdifference st_symmetricdifference - syn keyword sqlFunction contained st_tileenvelope st_touches st_transform - syn keyword sqlFunction contained st_translate st_transscale st_unaryunion - syn keyword sqlFunction contained st_union st_voronoilines st_voronoipolygons - syn keyword sqlFunction contained st_within st_wkbtosql st_wkttosql - syn keyword sqlFunction contained st_wrapx st_x st_xmax st_xmin st_y - syn keyword sqlFunction contained st_ymax st_ymin st_z st_zmax - syn keyword sqlFunction contained st_zmflag st_zmin text unlockrows - syn keyword sqlFunction contained updategeometrysrid + syn keyword sqlFunction contained st_snaptogrid st_split st_square + syn keyword sqlFunction contained st_squaregrid st_srid st_startpoint + syn keyword sqlFunction contained st_subdivide st_summary st_swapordinates + syn keyword sqlFunction contained st_symdifference st_symmetricdifference st_tileenvelope + syn keyword sqlFunction contained st_touches st_transform st_translate + syn keyword sqlFunction contained st_transscale st_unaryunion st_union + syn keyword sqlFunction contained st_voronoilines st_voronoipolygons st_within + syn keyword sqlFunction contained st_wkbtosql st_wkttosql st_wrapx st_x + syn keyword sqlFunction contained st_xmax st_xmin st_y st_ymax + syn keyword sqlFunction contained st_ymin st_z st_zmax st_zmflag + syn keyword sqlFunction contained st_zmin text unlockrows updategeometrysrid syn keyword sqlTable contained spatial_ref_sys syn keyword sqlType contained box2d box2df box3d geography syn keyword sqlType contained geometry geometry_dump gidx spheroid @@ -1013,7 +1018,7 @@ endif " dict_xsyn if index(get(g:, 'pgsql_disabled_extensions', []), 'bool_plperlu') == -1 syn keyword sqlFunction contained bool_to_plperlu plperlu_to_bool endif " bool_plperlu -" Extension: address_standardizer (v3.0.2) +" Extension: address_standardizer (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'address_standardizer') == -1 syn keyword sqlFunction contained parse_address standardize_address syn keyword sqlType contained stdaddr @@ -1072,7 +1077,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'cube') == -1 syn keyword sqlType contained cube syn keyword sqlFunction contained g_cube_compress g_cube_decompress endif " cube -" Extension: postgis_tiger_geocoder (v3.0.2) +" Extension: postgis_tiger_geocoder (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_tiger_geocoder') == -1 syn keyword sqlFunction contained count_words create_census_base_tables syn keyword sqlFunction contained cull_null diff_zip @@ -1176,11 +1181,11 @@ endif " pgstattuple if index(get(g:, 'pgsql_disabled_extensions', []), 'autoinc') == -1 syn keyword sqlFunction contained autoinc endif " autoinc -" Extension: address_standardizer_data_us (v3.0.2) +" Extension: address_standardizer_data_us (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'address_standardizer_data_us') == -1 syn keyword sqlTable contained us_gaz us_lex us_rules endif " address_standardizer_data_us -" Extension: postgis_topology (v3.0.2) +" Extension: postgis_topology (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_topology') == -1 syn keyword sqlFunction contained addedge addface addnode syn keyword sqlFunction contained addtopogeometrycolumn addtosearchpath asgml @@ -1213,7 +1218,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_topology') == -1 syn keyword sqlType contained topoelementarray topogeometry syn keyword sqlType contained validatetopology_returntype endif " postgis_topology -" Extension: postgis_raster (v3.0.2) +" Extension: postgis_raster (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_raster') == -1 syn keyword sqlFunction contained addoverviewconstraints addrasterconstraints syn keyword sqlFunction contained box3d bytea dropoverviewconstraints @@ -1561,7 +1566,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'fuzzystrmatch') == -1 syn keyword sqlFunction contained levenshtein levenshtein_less_equal syn keyword sqlFunction contained metaphone soundex text_soundex endif " fuzzystrmatch -" Extension: pgrouting (v3.1.0) +" Extension: pgrouting (v3.1.1) if index(get(g:, 'pgsql_disabled_extensions', []), 'pgrouting') == -1 syn keyword sqlFunction contained pgr_alphashape pgr_analyzegraph syn keyword sqlFunction contained pgr_analyzeoneway pgr_articulationpoints pgr_astar @@ -1605,7 +1610,7 @@ if index(get(g:, 'pgsql_disabled_extensions', []), 'pgcrypto') == -1 syn keyword sqlFunction contained pgp_sym_decrypt_bytea pgp_sym_encrypt syn keyword sqlFunction contained pgp_sym_encrypt_bytea endif " pgcrypto -" Extension: postgis_sfcgal (v3.0.2) +" Extension: postgis_sfcgal (v3.1.0) if index(get(g:, 'pgsql_disabled_extensions', []), 'postgis_sfcgal') == -1 syn keyword sqlFunction contained postgis_sfcgal_noop syn keyword sqlFunction contained postgis_sfcgal_scripts_installed postgis_sfcgal_version st_3darea diff --git a/syntax/ps1.vim b/syntax/ps1.vim index 520be968..20cd36fc 100644 --- a/syntax/ps1.vim +++ b/syntax/ps1.vim @@ -143,6 +143,9 @@ syn match ps1BuiltIn "$\%(args\|error\|foreach\|home\|input\)\>" syn match ps1BuiltIn "$\%(match\(es\)\?\|myinvocation\|host\|lastexitcode\)\>" syn match ps1BuiltIn "$\%(ofs\|shellid\|stacktrace\)\>" +" Named Switch +syn match ps1Label /\s-\w\+/ + " Folding blocks if !exists('g:ps1_nofold_blocks') syn region ps1Block start=/{/ end=/}/ transparent fold @@ -191,6 +194,7 @@ if version >= 508 || !exists("did_ps1_syn_inits") HiLink ps1RepeatAndCmdlet Repeat HiLink ps1Keyword Keyword HiLink ps1KeywordAndCmdlet Keyword + HiLink ps1Label Label delcommand HiLink endif diff --git a/syntax/python.vim b/syntax/python.vim index 49c61c6a..6b5c3904 100644 --- a/syntax/python.vim +++ b/syntax/python.vim @@ -78,9 +78,10 @@ endif syn keyword pythonStatement break continue del return pass yield global assert lambda with syn keyword pythonStatement raise nextgroup=pythonExClass skipwhite -syn keyword pythonStatement def class nextgroup=pythonFunction skipwhite +syn keyword pythonStatement def nextgroup=pythonFunction skipwhite +syn keyword pythonStatement class nextgroup=pythonClass skipwhite if s:Enabled('g:python_highlight_class_vars') - syn keyword pythonClassVar self cls + syn keyword pythonClassVar self cls mcs endif syn keyword pythonRepeat for while syn keyword pythonConditional if elif else @@ -104,10 +105,11 @@ else syn keyword pythonStatement as nonlocal syn match pythonStatement '\v\.@<!<await>' syn match pythonFunction '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained + syn match pythonClass '\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*' display contained syn match pythonStatement '\<async\s\+def\>' nextgroup=pythonFunction skipwhite syn match pythonStatement '\<async\s\+with\>' syn match pythonStatement '\<async\s\+for\>' - syn cluster pythonExpression contains=pythonStatement,pythonRepeat,pythonConditional,pythonOperator,pythonNumber,pythonHexNumber,pythonOctNumber,pythonBinNumber,pythonFloat,pythonString,pythonBytes,pythonBoolean,pythonNone,pythonSingleton,pythonBuiltinObj,pythonBuiltinFunc,pythonBuiltinType + syn cluster pythonExpression contains=pythonStatement,pythonRepeat,pythonConditional,pythonOperator,pythonNumber,pythonHexNumber,pythonOctNumber,pythonBinNumber,pythonFloat,pythonString,pythonFString,pythonRawString,pythonRawFString,pythonBytes,pythonBoolean,pythonNone,pythonSingleton,pythonBuiltinObj,pythonBuiltinFunc,pythonBuiltinType,pythonClassVar endif @@ -116,7 +118,7 @@ endif " syn keyword pythonOperator and in is not or if s:Enabled('g:python_highlight_operators') - syn match pythonOperator '\V=\|-\|+\|*\|@\|/\|%\|&\||\|^\|~\|<\|>\|!=' + syn match pythonOperator '\V=\|-\|+\|*\|@\|/\|%\|&\||\|^\|~\|<\|>\|!=\|:=' endif syn match pythonError '[$?]\|\([-+@%&|^~]\)\1\{1,}\|\([=*/<>]\)\2\{2,}\|\([+@/%&|^~<>]\)\3\@![-+*@/%&|^~<>]\|\*\*[*@/%&|^<>]\|=[*@/%&|^<>]\|-[+*@/%&|^~<]\|[<!>]\+=\{2,}\|!\{2,}=\+' display @@ -268,8 +270,8 @@ if s:Enabled('g:python_highlight_string_format') syn match pythonStrFormat '{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}' contained containedin=pythonString,pythonUniString,pythonUniRawString,pythonRawString else syn match pythonStrFormat "{\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)\=\%(\.\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\[\%(\d\+\|[^!:\}]\+\)\]\)*\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" contained containedin=pythonString,pythonRawString - syn region pythonStrInterpRegion start="{"he=e+1,rs=e+1 end="\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}"hs=s-1,re=s-1 extend contained containedin=pythonFString,pythonRawFString contains=pythonStrInterpRegion,@pythonExpression - syn match pythonStrFormat "{{\|}}" contained containedin=pythonString,pythonRawString,pythonFString,pythonRawFString + syn region pythonStrInterpRegion matchgroup=pythonStrFormat start="{" end="\%(![rsa]\)\=\%(:\%({\%(\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*\|\d\+\)}\|\%([^}]\=[<>=^]\)\=[ +-]\=#\=0\=\d*,\=\%(\.\d\+\)\=[bcdeEfFgGnosxX%]\=\)\=\)\=}" extend contained containedin=pythonFString,pythonRawFString contains=pythonStrInterpRegion,@pythonExpression + syn match pythonStrFormat "{{\|}}" contained containedin=pythonFString,pythonRawFString endif endif @@ -475,7 +477,6 @@ if v:version >= 508 || !exists('did_python_syn_inits') HiLink pythonBytesEscapeError Error HiLink pythonFString String HiLink pythonRawFString String - HiLink pythonStrInterpRegion Special endif HiLink pythonStrFormatting Special @@ -504,6 +505,7 @@ if v:version >= 508 || !exists('did_python_syn_inits') HiLink pythonBuiltinType Structure HiLink pythonExClass Structure + HiLink pythonClass Structure HiLink pythonClassVar Identifier delcommand HiLink diff --git a/syntax/sil.vim b/syntax/sil.vim index ad1907a9..70884ddc 100644 --- a/syntax/sil.vim +++ b/syntax/sil.vim @@ -40,6 +40,7 @@ syn keyword silConventions \ c \ method \ objc_method + \ sil_differentiability_witness \ thick \ thin \ witness_method diff --git a/syntax/smt2.vim b/syntax/smt2.vim index 62479d3b..adb88d28 100644 --- a/syntax/smt2.vim +++ b/syntax/smt2.vim @@ -15,14 +15,13 @@ let b:current_syntax = "smt2" " Comments syntax match smt2Comment ";.*$" -" Keywords -syntax keyword smt2Keyword +" Commands +syntax keyword smt2Commands \ apply - \ as - \ assert \ assert \ assert-soft \ check-sat + \ check-sat-assuming \ check-sat-using \ declare-const \ declare-datatype @@ -34,44 +33,46 @@ syntax keyword smt2Keyword \ declare-var \ define-const \ define-fun + \ define-fun-rec + \ define-funs-rec \ define-sort \ display \ echo \ elim-quantifiers \ eval - \ exists \ exit - \ forall + \ get-assertions \ get-assignment \ get-info \ get-model \ get-option \ get-proof + \ get-unsat-assumptions \ get-unsat-core \ get-user-tactics \ get-value \ help - \ let - \ match \ maximize \ minimize \ pop \ push \ query \ reset + \ reset-assertions \ rule \ set-info \ set-logic \ set-option \ simplify -syntax match smt2Keyword "!" +syntax match smt2Commands "!" " Operators -syntax match smt2Operator "[=\|>\|<\|<=\|>=\|=>\|+\|\-\|*\|/]" +syntax match smt2Operator "[=\|>\|<\|<=\|>=\|=>\|+\|\-\|*\|/\|!]" " Builtins syntax keyword smt2Builtin \ and + \ as \ bit0 \ bit1 \ bvadd @@ -108,16 +109,20 @@ syntax keyword smt2Builtin \ const \ distinct \ div + \ exists \ extract \ false - \ get-assertions + \ forall \ if \ is_int \ ite + \ let \ map + \ match \ mod \ not \ or + \ par \ rem \ repeat \ root-obj @@ -163,7 +168,7 @@ syntax match smt2Delimiter "[()]" syntax keyword smt2Error error highlight def link smt2Comment Comment -highlight def link smt2Keyword Function +highlight def link smt2Commands Function highlight def link smt2Operator Operator highlight def link smt2Builtin Operator highlight def link smt2Identifier Normal diff --git a/syntax/sshdconfig.vim b/syntax/sshdconfig.vim index 81cea2e7..0ae86bab 100644 --- a/syntax/sshdconfig.vim +++ b/syntax/sshdconfig.vim @@ -5,13 +5,14 @@ endif " Vim syntax file " Language: OpenSSH server configuration file (sshd_config) " Author: David Necas (Yeti) -" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de> +" Maintainer: Jakub Jelen <jakuje at gmail dot com> +" Previous Maintainer: Dominik Fischer <d dot f dot fischer at web dot de> " Contributor: Thilo Six " Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de> " Contributor: Karsten Hopp <karsten@redhat.com> " Originally: 2009-07-09 -" Last Change: 2019-05-31 -" SSH Version: 7.9p1 +" Last Change: 2020-10-20 +" SSH Version: 8.4p1 " " Setup @@ -83,16 +84,24 @@ syn match sshdconfigMAC "\<umac-128-etm@openssh\.com\>" syn keyword sshdconfigHostKeyAlgo ssh-ed25519 syn match sshdconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<sk-ssh-ed25519@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<sk-ssh-ed25519-cert-v01@openssh\.com\>" syn keyword sshdconfigHostKeyAlgo ssh-rsa +syn keyword sshdconfigHostKeyAlgo rsa-sha2-256 +syn keyword sshdconfigHostKeyAlgo rsa-sha2-512 syn keyword sshdconfigHostKeyAlgo ssh-dss syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp256 syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp384 syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp521 syn match sshdconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<rsa-sha2-256-cert-v01@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<rsa-sha2-512-cert-v01@openssh\.com\>" syn match sshdconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>" syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>" syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>" syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<sk-ecdsa-sha2-nistp256@openssh\.com\>" +syn match sshdconfigHostKeyAlgo "\<sk-ecdsa-sha2-nistp256-cert-v01@openssh\.com\>" syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only @@ -112,12 +121,17 @@ syn keyword sshdconfigIPQoS ef lowdelay throughput reliability syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1 syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1 +syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha256 +syn keyword sshdconfigKexAlgo diffie-hellman-group16-sha512 +syn keyword sshdconfigKexAlgo diffie-hellman-group18-sha512 syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1 syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256 syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256 syn keyword sshdconfigKexAlgo ecdh-sha2-nistp384 syn keyword sshdconfigKexAlgo ecdh-sha2-nistp521 +syn keyword sshdconfigKexAlgo curve25519-sha256 syn match sshdconfigKexAlgo "\<curve25519-sha256@libssh\.org\>" +syn match sshdconfigKexAlgo "\<sntrup4591761x25519-sha512@tinyssh\.org\>" syn keyword sshdconfigTunnel point-to-point ethernet @@ -191,6 +205,7 @@ syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly syn keyword sshdconfigKeyword IPQoS syn keyword sshdconfigKeyword IgnoreRhosts syn keyword sshdconfigKeyword IgnoreUserKnownHosts +syn keyword sshdconfigKeyword Include syn keyword sshdconfigKeyword KbdInteractiveAuthentication syn keyword sshdconfigKeyword KerberosAuthentication syn keyword sshdconfigKeyword KerberosGetAFSToken @@ -225,11 +240,13 @@ syn keyword sshdconfigKeyword PrintMotd syn keyword sshdconfigKeyword Protocol syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes syn keyword sshdconfigKeyword PubkeyAuthentication +syn keyword sshdconfigKeyword PubkeyAuthOptions syn keyword sshdconfigKeyword RSAAuthentication syn keyword sshdconfigKeyword RekeyLimit syn keyword sshdconfigKeyword RevokedKeys syn keyword sshdconfigKeyword RDomain syn keyword sshdconfigKeyword RhostsRSAAuthentication +syn keyword sshdconfigKeyword SecurityKeyProvider syn keyword sshdconfigKeyword ServerKeyBits syn keyword sshdconfigKeyword SetEnv syn keyword sshdconfigKeyword ShowPatchLevel |