summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--after/syntax/c.vim16
-rw-r--r--after/syntax/cpp.vim10
-rw-r--r--after/syntax/javascript/graphql.vim6
-rw-r--r--after/syntax/php/graphql.vim4
-rw-r--r--after/syntax/reason/graphql.vim4
-rw-r--r--after/syntax/typescript/graphql.vim4
-rw-r--r--autoload/ledger.vim13
-rw-r--r--autoload/terraform.vim19
-rw-r--r--autoload/yats.vim2
-rw-r--r--extras/filetype.vim28
-rw-r--r--ftplugin/css.vim5
-rw-r--r--ftplugin/eelixir.vim9
-rw-r--r--ftplugin/elixir.vim2
-rw-r--r--ftplugin/erlang.vim111
-rw-r--r--ftplugin/idris2.vim7
-rw-r--r--ftplugin/nroff.vim10
-rw-r--r--ftplugin/spec.vim36
-rw-r--r--indent/crystal.vim10
-rw-r--r--indent/html.vim4
-rw-r--r--indent/typescript.vim2
-rw-r--r--indent/typescriptreact.vim42
-rw-r--r--syntax/aidl.vim4
-rw-r--r--syntax/basic/members.vim2
-rw-r--r--syntax/cabal-2.vim25
-rw-r--r--syntax/cs.vim39
-rw-r--r--syntax/debchangelog.vim6
-rw-r--r--syntax/debsources.vim6
-rw-r--r--syntax/diff.vim6
-rw-r--r--syntax/eelixir.vim9
-rw-r--r--syntax/elixir.vim4
-rw-r--r--syntax/gosum.vim59
-rw-r--r--syntax/graphql.vim4
-rw-r--r--syntax/idris2.vim4
-rw-r--r--syntax/lex.vim2
-rw-r--r--syntax/pgsql.vim287
-rw-r--r--syntax/ps1.vim4
-rw-r--r--syntax/python.vim16
-rw-r--r--syntax/sil.vim1
-rw-r--r--syntax/smt2.vim29
-rw-r--r--syntax/sshdconfig.vim23
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