summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-18 21:49:57 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-18 21:49:57 +0000
commitd13166e788fcaef59ec65c20b46ca4be16625669 (patch)
tree4e1b18aac62e1650eaf92cfab756031cd50f4b10 /runtime/syntax
parent236dffab43f919bdbc565e6edc38eb27e7a5b657 (diff)
Update runtime files
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/go.vim115
-rw-r--r--runtime/syntax/help.vim4
-rw-r--r--runtime/syntax/html.vim12
-rw-r--r--runtime/syntax/nsis.vim32
-rw-r--r--runtime/syntax/ptcap.vim2
-rw-r--r--runtime/syntax/sshconfig.vim6
-rw-r--r--runtime/syntax/sshdconfig.vim4
7 files changed, 136 insertions, 39 deletions
diff --git a/runtime/syntax/go.vim b/runtime/syntax/go.vim
index 0c326254b8..904c8ad7f2 100644
--- a/runtime/syntax/go.vim
+++ b/runtime/syntax/go.vim
@@ -5,7 +5,7 @@
" go.vim: Vim syntax file for Go.
" Language: Go
" Maintainer: Billie Cleek <bhcleek@gmail.com>
-" Latest Revision: 2021-09-18
+" Latest Revision: 2022-11-17
" License: BSD-style. See LICENSE file in source repository.
" Repository: https://github.com/fatih/vim-go
@@ -117,7 +117,7 @@ hi def link goLabel Label
hi def link goRepeat Repeat
" Predefined types
-syn keyword goType chan map bool string error
+syn keyword goType chan map bool string error any comparable
syn keyword goSignedInts int int8 int16 int32 int64 rune
syn keyword goUnsignedInts byte uint uint8 uint16 uint32 uint64 uintptr
syn keyword goFloats float32 float64
@@ -187,6 +187,8 @@ else
syn region goRawString start=+`+ end=+`+
endif
+syn match goImportString /^\%(\s\+\|import \)\(\h\w* \)\?\zs"[^"]\+"$/ contained containedin=goImport
+
if s:HighlightFormatStrings()
" [n] notation is valid for specifying explicit argument indexes
" 1. Match a literal % not preceded by a %.
@@ -204,6 +206,7 @@ if s:HighlightFormatStrings()
hi def link goFormatSpecifier goSpecialString
endif
+hi def link goImportString String
hi def link goString String
hi def link goRawString String
@@ -223,9 +226,9 @@ endif
" import
if s:FoldEnable('import')
- syn region goImport start='import (' end=')' transparent fold contains=goImport,goString,goComment
+ syn region goImport start='import (' end=')' transparent fold contains=goImport,goImportString,goComment
else
- syn region goImport start='import (' end=')' transparent contains=goImport,goString,goComment
+ syn region goImport start='import (' end=')' transparent contains=goImport,goImportString,goComment
endif
" var, const
@@ -245,14 +248,10 @@ endif
syn match goSingleDecl /\%(import\|var\|const\) [^(]\@=/ contains=goImport,goVar,goConst
" Integers
-syn match goDecimalInt "\<-\=\(0\|[1-9]_\?\(\d\|\d\+_\?\d\+\)*\)\%([Ee][-+]\=\d\+\)\=\>"
-syn match goDecimalError "\<-\=\(_\(\d\+_*\)\+\|\([1-9]\d*_*\)\+__\(\d\+_*\)\+\|\([1-9]\d*_*\)\+_\+\)\%([Ee][-+]\=\d\+\)\=\>"
-syn match goHexadecimalInt "\<-\=0[xX]_\?\(\x\+_\?\)\+\>"
-syn match goHexadecimalError "\<-\=0[xX]_\?\(\x\+_\?\)*\(\([^ \t0-9A-Fa-f_)]\|__\)\S*\|_\)\>"
-syn match goOctalInt "\<-\=0[oO]\?_\?\(\o\+_\?\)\+\>"
-syn match goOctalError "\<-\=0[0-7oO_]*\(\([^ \t0-7oOxX_/)\]\}\:;]\|[oO]\{2,\}\|__\)\S*\|_\|[oOxX]\)\>"
-syn match goBinaryInt "\<-\=0[bB]_\?\([01]\+_\?\)\+\>"
-syn match goBinaryError "\<-\=0[bB]_\?[01_]*\([^ \t01_)]\S*\|__\S*\|_\)\>"
+syn match goDecimalInt "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\>"
+syn match goHexadecimalInt "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+\>"
+syn match goOctalInt "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+\>"
+syn match goBinaryInt "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+\>"
hi def link goDecimalInt Integer
hi def link goDecimalError Error
@@ -265,19 +264,55 @@ hi def link goBinaryError Error
hi def link Integer Number
" Floating point
-syn match goFloat "\<-\=\d\+\.\d*\%([Ee][-+]\=\d\+\)\=\>"
-syn match goFloat "\<-\=\.\d\+\%([Ee][-+]\=\d\+\)\=\>"
+"float_lit = decimal_float_lit | hex_float_lit .
+"
+"decimal_float_lit = decimal_digits "." [ decimal_digits ] [ decimal_exponent ] |
+" decimal_digits decimal_exponent |
+" "." decimal_digits [ decimal_exponent ] .
+"decimal_exponent = ( "e" | "E" ) [ "+" | "-" ] decimal_digits .
+"
+"hex_float_lit = "0" ( "x" | "X" ) hex_mantissa hex_exponent .
+"hex_mantissa = [ "_" ] hex_digits "." [ hex_digits ] |
+" [ "_" ] hex_digits |
+" "." hex_digits .
+"hex_exponent = ( "p" | "P" ) [ "+" | "-" ] decimal_digits .
+" decimal floats with a decimal point
+syn match goFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\.\%(\%(\%(\d\|\d_\d\)\+\)\=\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=\>\)\="
+syn match goFloat "\s\zs-\=\.\%(\d\|\d_\d\)\+\%(\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\>\)\="
+" decimal floats without a decimal point
+syn match goFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)[Ee][-+]\=\%(\d\|\d_\d\)\+\>"
+" hexadecimal floats with a decimal point
+syn match goHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+\.\%(\%(\x\|\x_\x\)\+\)\=\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=\>"
+syn match goHexadecimalFloat "\<-\=0[xX]\.\%(\x\|\x_\x\)\+\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=\>"
+" hexadecimal floats without a decimal point
+syn match goHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+[Pp][-+]\=\%(\d\|\d_\d\)\+\>"
hi def link goFloat Float
+hi def link goHexadecimalFloat Float
" Imaginary literals
-syn match goImaginary "\<-\=\d\+i\>"
-syn match goImaginary "\<-\=\d\+[Ee][-+]\=\d\+i\>"
-syn match goImaginaryFloat "\<-\=\d\+\.\d*\%([Ee][-+]\=\d\+\)\=i\>"
-syn match goImaginaryFloat "\<-\=\.\d\+\%([Ee][-+]\=\d\+\)\=i\>"
-
-hi def link goImaginary Number
-hi def link goImaginaryFloat Float
+syn match goImaginaryDecimal "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)i\>"
+syn match goImaginaryHexadecimal "\<-\=0[xX]_\?\%(\x\|\x_\x\)\+i\>"
+syn match goImaginaryOctal "\<-\=0[oO]\?_\?\%(\o\|\o_\o\)\+i\>"
+syn match goImaginaryBinary "\<-\=0[bB]_\?\%([01]\|[01]_[01]\)\+i\>"
+
+" imaginary decimal floats with a decimal point
+syn match goImaginaryFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)\.\%(\%(\%(\d\|\d_\d\)\+\)\=\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=\)\=i\>"
+syn match goImaginaryFloat "\s\zs-\=\.\%(\d\|\d_\d\)\+\%([Ee][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
+" imaginary decimal floats without a decimal point
+syn match goImaginaryFloat "\<-\=\%(0\|\%(\d\|\d_\d\)\+\)[Ee][-+]\=\%(\d\|\d_\d\)\+i\>"
+" imaginary hexadecimal floats with a decimal point
+syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+\.\%(\%(\x\|\x_\x\)\+\)\=\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
+syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\.\%(\x\|\x_\x\)\+\%([Pp][-+]\=\%(\d\|\d_\d\)\+\)\=i\>"
+" imaginary hexadecimal floats without a decimal point
+syn match goImaginaryHexadecimalFloat "\<-\=0[xX]\%(_\x\|\x\)\+[Pp][-+]\=\%(\d\|\d_\d\)\+i\>"
+
+hi def link goImaginaryDecimal Number
+hi def link goImaginaryHexadecimal Number
+hi def link goImaginaryOctal Number
+hi def link goImaginaryBinary Number
+hi def link goImaginaryFloat Float
+hi def link goImaginaryHexadecimalFloat Float
" Spaces after "[]"
if s:HighlightArrayWhitespaceError()
@@ -346,6 +381,8 @@ if s:HighlightOperators()
syn match goOperator /\%(<<\|>>\|&^\)=\?/
" match remaining two-char operators: := && || <- ++ --
syn match goOperator /:=\|||\|<-\|++\|--/
+ " match ~
+ syn match goOperator /\~/
" match ...
hi def link goPointerOperator goOperator
@@ -353,13 +390,37 @@ if s:HighlightOperators()
endif
hi def link goOperator Operator
+" -> type constraint opening bracket
+" |-> start non-counting group
+" || -> any word character
+" || | -> at least one, as many as possible
+" || | | -> start non-counting group
+" || | | | -> match ~
+" || | | | | -> at most once
+" || | | | | | -> allow a slice type
+" || | | | | | | -> any word character
+" || | | | | | | | -> start a non-counting group
+" || | | | | | | | | -> that matches word characters and |
+" || | | | | | | | | | -> close the non-counting group
+" || | | | | | | | | | | -> close the non-counting group
+" || | | | | | | | | | | |-> any number of matches
+" || | | | | | | | | | | || -> start a non-counting group
+" || | | | | | | | | | | || | -> a comma and whitespace
+" || | | | | | | | | | | || | | -> at most once
+" || | | | | | | | | | | || | | | -> close the non-counting group
+" || | | | | | | | | | | || | | | | -> at least one of those non-counting groups, as many as possible
+" || | | | | | -------- | | | | || | | | | | -> type constraint closing bracket
+" || | | | | || | | | | | || | | | | | |
+syn match goTypeParams /\[\%(\w\+\s\+\%(\~\?\%(\[]\)\?\w\%(\w\||\)\)*\%(,\s*\)\?\)\+\]/ nextgroup=goSimpleParams,goDeclType contained
+
" Functions;
if s:HighlightFunctions() || s:HighlightFunctionParameters()
syn match goDeclaration /\<func\>/ nextgroup=goReceiver,goFunction,goSimpleParams skipwhite skipnl
+ syn match goReceiverDecl /(\s*\zs\%(\%(\w\+\s\+\)\?\*\?\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\)\ze\s*)/ contained contains=goReceiverVar,goReceiverType,goPointerOperator
syn match goReceiverVar /\w\+\ze\s\+\%(\w\|\*\)/ nextgroup=goPointerOperator,goReceiverType skipwhite skipnl contained
syn match goPointerOperator /\*/ nextgroup=goReceiverType contained skipwhite skipnl
- syn match goFunction /\w\+/ nextgroup=goSimpleParams contained skipwhite skipnl
- syn match goReceiverType /\w\+/ contained
+ syn match goFunction /\w\+/ nextgroup=goSimpleParams,goTypeParams contained skipwhite skipnl
+ syn match goReceiverType /\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\ze\s*)/ contained
if s:HighlightFunctionParameters()
syn match goSimpleParams /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType nextgroup=goFunctionReturn skipwhite skipnl
syn match goFunctionReturn /(\%(\w\|\_s\|[*\.\[\],\{\}<>-]\)*)/ contained contains=goParamName,goType skipwhite skipnl
@@ -369,7 +430,7 @@ if s:HighlightFunctions() || s:HighlightFunctionParameters()
hi def link goReceiverVar goParamName
hi def link goParamName Identifier
endif
- syn match goReceiver /(\s*\w\+\%(\s\+\*\?\s*\w\+\)\?\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverVar skipwhite skipnl
+ syn match goReceiver /(\s*\%(\w\+\s\+\)\?\*\?\s*\w\+\%(\[\%(\%(\[\]\)\?\w\+\%(,\s*\)\?\)\+\]\)\?\s*)\ze\s*\w/ contained nextgroup=goFunction contains=goReceiverDecl skipwhite skipnl
else
syn keyword goDeclaration func
endif
@@ -377,7 +438,7 @@ hi def link goFunction Function
" Function calls;
if s:HighlightFunctionCalls()
- syn match goFunctionCall /\w\+\ze(/ contains=goBuiltins,goDeclaration
+ syn match goFunctionCall /\w\+\ze\%(\[\%(\%(\[]\)\?\w\+\(,\s*\)\?\)\+\]\)\?(/ contains=goBuiltins,goDeclaration
endif
hi def link goFunctionCall Type
@@ -404,7 +465,7 @@ hi def link goField Identifier
if s:HighlightTypes()
syn match goTypeConstructor /\<\w\+{\@=/
syn match goTypeDecl /\<type\>/ nextgroup=goTypeName skipwhite skipnl
- syn match goTypeName /\w\+/ contained nextgroup=goDeclType skipwhite skipnl
+ syn match goTypeName /\w\+/ contained nextgroup=goDeclType,goTypeParams skipwhite skipnl
syn match goDeclType /\<\%(interface\|struct\)\>/ skipwhite skipnl
hi def link goReceiverType Type
else
@@ -444,7 +505,7 @@ if s:HighlightBuildConstraints()
" The rs=s+2 option lets the \s*+build portion be part of the inner region
" instead of the matchgroup so it will be highlighted as a goBuildKeyword.
syn region goBuildComment matchgroup=goBuildCommentStart
- \ start="//\s*+build\s"rs=s+2 end="$"
+ \ start="//\(\s*+build\s\|go:build\)"rs=s+2 end="$"
\ contains=goBuildKeyword,goBuildDirectives
hi def link goBuildCommentStart Comment
hi def link goBuildDirectives Type
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 5c8aed8d5f..a2fddbb0ff 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
-" Last Change: 2022 Nov 09
+" Last Change: 2022 Nov 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -11,7 +11,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
-syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_]*?\=\ze\(\s\+\*\|$\)"
+syn match helpHeadline "^[A-Z.][-A-Z0-9 .,()_']*?\=\ze\(\s\+\*\|$\)"
syn match helpSectionDelim "^===.*===$"
syn match helpSectionDelim "^---.*--$"
if has("conceal")
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index 9061bdee90..605db3ae1c 100644
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -3,7 +3,7 @@
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainers: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
" Claudio Fleiner <claudio@fleiner.com>
-" Last Change: 2022 Jul 20
+" Last Change: 2022 Nov 18
" Please check :help html.vim for some comments and a description of the options
@@ -272,6 +272,16 @@ if main_syntax == "html"
syn sync minlines=10
endif
+" Folding
+" Originally by Ingo Karkat and Marcus Zanona
+if get(g:, "html_syntax_folding", 0)
+ syn region htmlFold start="<\z(\<\%(area\|base\|br\|col\|command\|embed\|hr\|img\|input\|keygen\|link\|meta\|param\|source\|track\|wbr\>\)\@![a-z-]\+\>\)\%(\_s*\_[^/]\?>\|\_s\_[^>]*\_[^>/]>\)" end="</\z1\_s*>" fold transparent keepend extend containedin=htmlHead,htmlH\d
+ " fold comments (the real ones and the old Netscape ones)
+ if exists("html_wrong_comments")
+ syn region htmlComment start=+<!--+ end=+--\s*>\%(\n\s*<!--\)\@!+ contains=@Spell fold
+ endif
+endif
+
" The default highlighting.
hi def link htmlTag Function
hi def link htmlEndTag Identifier
diff --git a/runtime/syntax/nsis.vim b/runtime/syntax/nsis.vim
index 3a73fe0989..49fa17abf1 100644
--- a/runtime/syntax/nsis.vim
+++ b/runtime/syntax/nsis.vim
@@ -3,7 +3,7 @@
" Maintainer: Ken Takata
" URL: https://github.com/k-takata/vim-nsis
" Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>
-" Last Change: 2020-10-18
+" Last Change: 2022-11-05
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -394,9 +394,13 @@ syn keyword nsisInstruction contained CreateShortcut nextgroup=nsisCreateShortcu
syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd
syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>"
+syn keyword nsisInstruction contained GetWinVer nextgroup=nsisGetWinVerOpt skipwhite
+syn region nsisGetWinVerOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetWinVerKwd
+syn keyword nsisGetWinVerKwd contained Major Minor Build ServicePack
+
syn keyword nsisInstruction contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite
-syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
-syn match nsisGetDLLVersionKwd contained "/ProductVersion\>"
+syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
+syn match nsisGetDLLVersionKwd contained "/ProductVersion\>"
syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite
syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd
@@ -562,10 +566,19 @@ syn match nsisSystem contained "!execute\>"
syn match nsisSystem contained "!makensis\>"
syn match nsisSystem contained "!packhdr\>"
syn match nsisSystem contained "!finalize\>"
+syn match nsisSystem contained "!uninstfinalize\>"
syn match nsisSystem contained "!system\>"
syn match nsisSystem contained "!tempfile\>"
-syn match nsisSystem contained "!getdllversion\>"
-syn match nsisSystem contained "!gettlbversion\>"
+
+" Add 'P' to avoid conflicts with nsisGetDLLVersionOpt. ('P' for preprocessor.)
+syn match nsisSystem contained "!getdllversion\>" nextgroup=nsisPGetdllversionOpt skipwhite
+syn region nsisPGetdllversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGetdllversionKwd
+syn match nsisPGetdllversionKwd contained "/\%(noerrors\|packed\|productversion\)\>"
+
+syn match nsisSystem contained "!gettlbversion\>" nextgroup=nsisPGettlbversionOpt skipwhite
+syn region nsisPGettlbversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGettlbversionKwd
+syn match nsisPGettlbversionKwd contained "/\%(noerrors\|packed\)\>"
+
syn match nsisSystem contained "!warning\>"
syn match nsisSystem contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite
@@ -581,7 +594,10 @@ syn match nsisDefine contained "!define\>" nextgroup=nsisDefineOpt skipwhite
syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd
syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"
-syn match nsisDefine contained "!undef\>"
+syn match nsisDefine contained "!undef\>" nextgroup=nsisUndefineOpt skipwhite
+syn region nsisUndefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisUndefineKwd
+syn match nsisUndefineKwd contained "/noerrors\>"
+
syn match nsisPreCondit contained "!ifdef\>"
syn match nsisPreCondit contained "!ifndef\>"
@@ -659,6 +675,7 @@ hi def link nsisWriteRegMultiStrKwd Constant
hi def link nsisSetRegViewKwd Constant
hi def link nsisCopyFilesKwd Constant
hi def link nsisCreateShortcutKwd Constant
+hi def link nsisGetWinVerKwd Constant
hi def link nsisGetDLLVersionKwd Constant
hi def link nsisGetFullPathNameKwd Constant
hi def link nsisFileAttrib Constant
@@ -696,9 +713,12 @@ hi def link nsisIncludeKwd Constant
hi def link nsisAddplugindirKwd Constant
hi def link nsisAppendfileKwd Constant
hi def link nsisDelfileKwd Constant
+hi def link nsisPGetdllversionKwd Constant
+hi def link nsisPGettlbversionKwd Constant
hi def link nsisPragmaKwd Constant
hi def link nsisVerboseKwd Constant
hi def link nsisDefineKwd Constant
+hi def link nsisUndefineKwd Constant
hi def link nsisIfKwd Constant
hi def link nsisSearchparseKwd Constant
hi def link nsisSearchreplaceKwd Constant
diff --git a/runtime/syntax/ptcap.vim b/runtime/syntax/ptcap.vim
index 1ebeb5227b..5db7bda896 100644
--- a/runtime/syntax/ptcap.vim
+++ b/runtime/syntax/ptcap.vim
@@ -53,7 +53,7 @@ syn match ptcapNumberError "#0x\x*[^[:xdigit:]:\\]"lc=1 contained
" The `=' operator assigns a string to the preceding flag
syn match ptcapOperator "[@#=]" contained
-" Some terminal capabilites have special names like `#5' and `@1', and we
+" Some terminal capabilities have special names like `#5' and `@1', and we
" need special rules to match these properly
syn match ptcapSpecialCap "\W[#@]\d" contains=ptcapDelimiter contained
diff --git a/runtime/syntax/sshconfig.vim b/runtime/syntax/sshconfig.vim
index 88665e5f6d..750289d83e 100644
--- a/runtime/syntax/sshconfig.vim
+++ b/runtime/syntax/sshconfig.vim
@@ -6,7 +6,7 @@
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
" Contributor: Karsten Hopp <karsten@redhat.com>
" Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com>
-" Last Change: 2022 Nov 09
+" Last Change: 2022 Nov 10
" Added RemoteCommand from pull request #4809
" Included additional keywords from Martin.
" Included PR #5753
@@ -171,6 +171,7 @@ syn keyword sshconfigKeyword EnableSSHKeysign
syn keyword sshconfigKeyword EscapeChar
syn keyword sshconfigKeyword ExitOnForwardFailure
syn keyword sshconfigKeyword FingerprintHash
+syn keyword sshconfigKeyword ForkAfterAuthentication
syn keyword sshconfigKeyword ForwardAgent
syn keyword sshconfigKeyword ForwardX11
syn keyword sshconfigKeyword ForwardX11Timeout
@@ -221,13 +222,16 @@ syn keyword sshconfigKeyword RekeyLimit
syn keyword sshconfigKeyword RemoteCommand
syn keyword sshconfigKeyword RemoteForward
syn keyword sshconfigKeyword RequestTTY
+syn keyword sshconfigKeyword RequiredRSASize
syn keyword sshconfigKeyword RevokedHostKeys
syn keyword sshconfigKeyword SecurityKeyProvider
syn keyword sshconfigKeyword SendEnv
syn keyword sshconfigKeyword ServerAliveCountMax
syn keyword sshconfigKeyword ServerAliveInterval
+syn keyword sshconfigKeyword SessionType
syn keyword sshconfigKeyword SmartcardDevice
syn keyword sshconfigKeyword SetEnv
+syn keyword sshconfigKeyword StdinNull
syn keyword sshconfigKeyword StreamLocalBindMask
syn keyword sshconfigKeyword StreamLocalBindUnlink
syn keyword sshconfigKeyword StrictHostKeyChecking
diff --git a/runtime/syntax/sshdconfig.vim b/runtime/syntax/sshdconfig.vim
index d8e12047e0..c0d9c3f598 100644
--- a/runtime/syntax/sshdconfig.vim
+++ b/runtime/syntax/sshdconfig.vim
@@ -7,7 +7,7 @@
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
" Contributor: Karsten Hopp <karsten@redhat.com>
" Originally: 2009-07-09
-" Last Change: 2022 Nov 09
+" Last Change: 2022 Nov 10
" SSH Version: 8.5p1
"
@@ -221,6 +221,7 @@ syn keyword sshdconfigKeyword Match
syn keyword sshdconfigKeyword MaxAuthTries
syn keyword sshdconfigKeyword MaxSessions
syn keyword sshdconfigKeyword MaxStartups
+syn keyword sshdconfigKeyword ModuliFile
syn keyword sshdconfigKeyword PasswordAuthentication
syn keyword sshdconfigKeyword PerSourceMaxStartups
syn keyword sshdconfigKeyword PerSourceNetBlockSize
@@ -244,6 +245,7 @@ syn keyword sshdconfigKeyword PubkeyAuthentication
syn keyword sshdconfigKeyword PubkeyAuthOptions
syn keyword sshdconfigKeyword RSAAuthentication
syn keyword sshdconfigKeyword RekeyLimit
+syn keyword sshdconfigKeyword RequiredRSASize
syn keyword sshdconfigKeyword RevokedKeys
syn keyword sshdconfigKeyword RDomain
syn keyword sshdconfigKeyword RhostsRSAAuthentication