]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update syntax file (#14009)
authordkearns <dougkearns@gmail.com>
Sun, 11 Feb 2024 16:13:34 +0000 (03:13 +1100)
committerGitHub <noreply@github.com>
Sun, 11 Feb 2024 16:13:34 +0000 (17:13 +0100)
- allow comments after :highight commands
- match the bang in a :highlight[!] command
- highlight the bang in :map[!], :menu[!] and :unlet[!] with vimOper
  like all other commands

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/syntax/testdir/dumps/vim_map_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_map_99.dump [new file with mode: 0644]
runtime/syntax/testdir/input/vim_map.vim [new file with mode: 0644]
runtime/syntax/vim.vim

diff --git a/runtime/syntax/testdir/dumps/vim_map_00.dump b/runtime/syntax/testdir/dumps/vim_map_00.dump
new file mode 100644 (file)
index 0000000..d3a290e
--- /dev/null
@@ -0,0 +1,20 @@
+>"+0#0000e05#ffffff0| |V|i|m| |m|a|p| |c|o|m@1|a|n|d|s| +0#0000000&@56
+@75
+|m+0#af5f00255&|a|p|!| +0#0000000&@70
+|m+0#af5f00255&|a|p|!| +0#0000000&|l|h|s| |r|h|s| @62
+|m+0#af5f00255&|a|p| +0#0000000&@71
+|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |r|h|s| @63
+@75
+|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@51
+|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p| +0#0000000&|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@50
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|m|a|p|.|v|i|m|"| |9|L|,| |1|0|5|B| @28|1|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/dumps/vim_map_99.dump b/runtime/syntax/testdir/dumps/vim_map_99.dump
new file mode 100644 (file)
index 0000000..f8710b9
--- /dev/null
@@ -0,0 +1,20 @@
+|"+0#0000e05#ffffff0| |V|i|m| |m|a|p| |c|o|m@1|a|n|d|s| +0#0000000&@56
+@75
+|m+0#af5f00255&|a|p|!| +0#0000000&@70
+|m+0#af5f00255&|a|p|!| +0#0000000&|l|h|s| |r|h|s| @62
+|m+0#af5f00255&|a|p| +0#0000000&@71
+|m+0#af5f00255&|a|p| +0#0000000&|l|h|s| |r|h|s| @63
+@75
+|c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@51
+>c+0#af5f00255&|a|l@1| +0#0000000&|m+0#00e0e07&|a|p| +0#0000000&|(+0#e000e06&|l+0#00e0e07&|i|s|t|,+0#0000000&| |'+0#e000002&|v|:|v|a|l|'|)+0#e000e06&| +0#0000000&@50
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|"+0#0000000&|i|n|p|u|t|/|v|i|m|_|m|a|p|.|v|i|m|"| |9|L|,| |1|0|5|B| @28|9|,|1| @10|A|l@1| 
diff --git a/runtime/syntax/testdir/input/vim_map.vim b/runtime/syntax/testdir/input/vim_map.vim
new file mode 100644 (file)
index 0000000..7c73b99
--- /dev/null
@@ -0,0 +1,9 @@
+" Vim map commands
+
+map!
+map! lhs rhs
+map 
+map lhs rhs
+
+call map(list, 'v:val')
+call map (list, 'v:val')
index e9feb35b5b37845aab5ead86e372480fdc029bfa..983c2639a017275319ae3dc6daa3beff6683029b 100644 (file)
@@ -2,19 +2,22 @@
 " Language:    Vim 9.0 script
 " Maintainer:  Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
 " Last Change: May 09, 2023
-"      2023 Nov 12 by Vim Project (:let-heredoc improvements)
-"      2023 Nov 20 by Vim Project (:loadkeymap improvements)
-"      2023 Dec 06 by Vim Project (add missing assignment operators)
-"      2023 Dec 10 by Vim Project (improve variable matching)
-"      2023 Dec 21 by Vim Project (improve ex command matching)
-"      2023 Dec 30 by Vim Project (:syntax improvements)
-"      2024 Jan 14 by Vim Project (TermResponseAll autocommand)
-"      2024 Jan 15 by Vim Project (:hi ctermfont attribute)
-"      2024 Jan 23 by Vim Project (add :[23]match commands)
-"      2024 Jan 25 by Vim Project (WinNewPre autocommand)
-"      2024 Jan 27 by Vim Project (add foreach() function)
-"      2024 Jan 28 by Vim Project (improve line-continuation matching & string interpolation)
-"      2024 Feb 01 by Vim Project (improve special key matching)
+"      Vim Project changes: {{{1
+"      2023 Nov 12 (:let-heredoc improvements)
+"      2023 Nov 20 (:loadkeymap improvements)
+"      2023 Dec 06 (add missing assignment operators)
+"      2023 Dec 10 (improve variable matching)
+"      2023 Dec 21 (improve ex command matching)
+"      2023 Dec 30 (:syntax improvements)
+"      2024 Jan 14 (TermResponseAll autocommand)
+"      2024 Jan 15 (:hi ctermfont attribute)
+"      2024 Jan 23 (add :[23]match commands)
+"      2024 Jan 25 (WinNewPre autocommand)
+"      2024 Jan 27 (add foreach() function)
+"      2024 Jan 28 (improve line-continuation matching & string interpolation)
+"      2024 Feb 01 (improve special key matching)
+"      2024 Feb 10 (improve :highlight and :map)
+" }}}
 " Version:     9.0-25
 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
@@ -481,7 +484,8 @@ syn case match
 
 " Maps: {{{2
 " ====
-syn match      vimMap          "\<map\>!\=\ze\s*[^(]" skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match      vimMap          "\<map\>\ze\s*(\@!"         skipwhite nextgroup=vimMapMod,vimMapLhs
+syn match      vimMap          "\<map!"          contains=vimMapBang skipwhite nextgroup=vimMapMod,vimMapLhs
 syn keyword    vimMap          cm[ap] cno[remap] im[ap] ino[remap] lm[ap] ln[oremap] nm[ap] nn[oremap] no[remap] om[ap] ono[remap] smap snor[emap] tno[remap] tm[ap] vm[ap] vmapc[lear] vn[oremap] xm[ap] xn[oremap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
 syn keyword    vimMap          mapc[lear] smapc[lear]
 syn keyword    vimUnmap                cu[nmap] iu[nmap] lu[nmap] nun[map] ou[nmap] sunm[ap] tunma[p] unm[ap] unm[ap] vu[nmap] xu[nmap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
@@ -678,7 +682,7 @@ syn match   vimHiBang       contained       "!"     skipwhite nextgroup=@vimHighlightCluster
 
 syn match      vimHiGroup      contained       "\i\+"
 syn case ignore
-syn keyword    vimHiAttrib     contained       none bold inverse italic nocombine reverse standout strikethrough underline undercurl
+syn keyword    vimHiAttrib     contained       none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble
 syn keyword    vimFgBgAttrib   contained       none bg background fg foreground
 syn case match
 syn match      vimHiAttribList contained       "\i\+"  contains=vimHiAttrib
@@ -693,7 +697,7 @@ syn match   vimHiGuiFontname        contained       "'[a-zA-Z\-* ]\+'"
 syn match      vimHiGuiRgb     contained       "#\x\{6}"
 
 " Highlighting: hi group key=arg ... {{{2
-syn cluster    vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
+syn cluster    vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment
 syn region     vimHiKeyList    contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||"      contains=@vimHiCluster
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
  syn match     vimHiKeyError   contained       "\i\+="he=e-1
@@ -960,6 +964,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimAutoEvent      Type
  hi def link vimAutoCmdMod     Special
  hi def link vimAutoSet        vimCommand
+ hi def link vimBang   vimOper
  hi def link vimBehaveModel    vimBehave
  hi def link vimBehave vimCommand
  hi def link vimBracket        Delimiter
@@ -1000,6 +1005,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimGroupSpecial   Special
  hi def link vimGroup  Type
  hi def link vimHiAttrib       PreProc
+ hi def link vimHiBang vimBang
  hi def link vimHiClear        vimHighlight
  hi def link vimHiCtermFgBg    vimHiTerm
  hi def link vimHiCTerm        vimHiTerm
@@ -1027,12 +1033,13 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimLetRegister    Special
  hi def link vimLineComment    vimComment
  hi def link vim9LineComment   vimComment
- hi def link vimMapBang        vimCommand
+ hi def link vimMapBang        vimBang
  hi def link vimMapModKey      vimFuncSID
  hi def link vimMapMod vimBracket
  hi def link vimMap    vimCommand
  hi def link vimMark   Number
  hi def link vimMarkNumber     vimNumber
+ hi def link vimMenuBang       vimBang
  hi def link vimMenuMod        vimMapMod
  hi def link vimMenuNameMore   vimMenuName
  hi def link vimMenuName       PreProc
@@ -1107,7 +1114,7 @@ if !exists("skip_vim_syntax_inits")
  hi def link vimTodo   Todo
  hi def link vimType   Type
  hi def link vimUnlet  vimCommand
- hi def link vimUnletBang      vimCommand
+ hi def link vimUnletBang      vimBang
  hi def link vimUnmap  vimMap
  hi def link vimUserAttrbCmpltFunc     Special
  hi def link vimUserAttrbCmplt vimSpecial