aboutsummaryrefslogtreecommitdiff
path: root/runtime/syntax
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-03-20 07:04:31 +0800
committerGitHub <noreply@github.com>2024-03-20 07:04:31 +0800
commit37db3d97ea49fd1e22d50dd21e8924ed047cba95 (patch)
tree86635b24c6619bf5a49d81965db63f7bf48d6458 /runtime/syntax
parent4694ce68774dd63a63e39009b4a887ac08636987 (diff)
downloadrneovim-37db3d97ea49fd1e22d50dd21e8924ed047cba95.tar.gz
rneovim-37db3d97ea49fd1e22d50dd21e8924ed047cba95.tar.bz2
rneovim-37db3d97ea49fd1e22d50dd21e8924ed047cba95.zip
vim-patch:ec21bafc135a (#27939)
runtime(vim): Update base-syntax, disallow '.' at start of menu item names (vim/vim#14232) Disallow '.' at the start of a menu item name. This is the menu path separator character and should be escaped with a '\' in this case. Partially fixes vim/vim#14230. "popup" is still incorrectly matched as the Ex command. https://github.com/vim/vim/commit/ec21bafc135a1e78d40e4fc9118e022bbab958e8 Co-authored-by: dkearns <dougkearns@gmail.com>
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/vim.vim4
1 files changed, 2 insertions, 2 deletions
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 1cd2bdc568..d5761087e0 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -488,8 +488,8 @@ syn keyword vimMenu am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu]
syn keyword vimMenu popu[p] skipwhite nextgroup=vimMenuBang,vimMenuName
syn region vimMenuRhs contained contains=@vimContinue,vimNotation start="|\@!\S" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + end="$" matchgroup=vimSep end="|"
syn region vimMenuRhsContinue contained contains=@vimContinue,vimNotation start=+^\s*\%(\\\|"\\ \)+ skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + end="$" matchgroup=vimSep end="|"
-syn match vimMenuName "\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation skipwhite nextgroup=vimCmdSep,vimMenuRhs
-syn match vimMenuName "\%(\\\s\|\S\)\+\ze\s*$" contained contains=vimMenuNotation,vimNotation skipwhite skipnl nextgroup=vimCmdSep,vimMenuRhsContinue
+syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation skipwhite nextgroup=vimCmdSep,vimMenuRhs
+syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+\ze\s*$" contained contains=vimMenuNotation,vimNotation skipwhite skipnl nextgroup=vimCmdSep,vimMenuRhsContinue
syn match vimMenuNotation "&\a\|&&\|\\\s\|\\\." contained
syn match vimMenuPriority "\<\d\+\%(\.\d\+\)*\>" contained skipwhite nextgroup=vimMenuName
syn match vimMenuMod "\c<\%(script\|silent\|special\)>" contained skipwhite nextgroup=vimMenuName,vimMenuPriority,vimMenuMod contains=vimMapModKey,vimMapModErr