comparison runtime/syntax/generator/vim.vim.base @ 34580:69ab5ebb3d3f

runtime(vim): Update base-syntax, improve :highlight command (#14228) Commit: https://github.com/vim/vim/commit/9530fe4f3a69c6bd11fc745d3b2d1667cdd0cf6d Author: dkearns <dougkearns@gmail.com> Date: Tue Mar 19 05:19:51 2024 +1100 runtime(vim): Update base-syntax, improve :highlight command (https://github.com/vim/vim/issues/14228) Improve :highlight command highlighting - Use the same highlight groups for "default link" with and without bang. - Match some common line-continuation use. - Match :hi clear variants. - Highlight color-name values. Resync vim.vim and generator/vim.vim.base. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 18 Mar 2024 19:30:07 +0100
parents 98d8ef6b57c9
children 4cad34137ea0
comparison
equal deleted inserted replaced
34579:4ad44ed6719d 34580:69ab5ebb3d3f
1 " Vim syntax file 1 " Vim syntax file
2 " Language: Vim script 2 " Language: Vim script
3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com> 3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
4 " Doug Kearns <dougkearns@gmail.com> 4 " Doug Kearns <dougkearns@gmail.com>
5 " URL: https://github.com/vim-jp/syntax-vim-ex 5 " URL: https://github.com/vim-jp/syntax-vim-ex
6 " Last Change: 2024 Mar 10 6 " Last Change: 2024 Mar 18
7 " Former Maintainer: Charles E. Campbell 7 " Former Maintainer: Charles E. Campbell
8 " Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM 8 " Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
9 " Base File Version: 9.0-25 9 " Base File Version: 9.0-25
10 10
11 " DO NOT CHANGE DIRECTLY. 11 " DO NOT CHANGE DIRECTLY.
539 syn case match 539 syn case match
540 540
541 " User Function Highlighting: {{{2 541 " User Function Highlighting: {{{2
542 " (following Gautam Iyer's suggestion) 542 " (following Gautam Iyer's suggestion)
543 " ========================== 543 " ==========================
544 syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute 544 syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
545 syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation 545 syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
546 syn keyword vimFuncEcho contained ec ech echo
546 547
547 " User Command Highlighting: {{{2 548 " User Command Highlighting: {{{2
548 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!' 549 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
549 550
550 " Errors And Warnings: {{{2 551 " Errors And Warnings: {{{2
676 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment 677 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment
677 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror") 678 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
678 syn match vimHiCtermError contained "\D\i*" 679 syn match vimHiCtermError contained "\D\i*"
679 endif 680 endif
680 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster 681 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
681 syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster 682 syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster
682 683
683 syn match vimHiGroup contained "\i\+" 684 syn match vimHiGroup contained "\i\+"
684 syn case ignore 685 syn case ignore
685 syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble 686 syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble
686 syn keyword vimFgBgAttrib contained none bg background fg foreground 687 syn keyword vimFgBgAttrib contained none bg background fg foreground
696 syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'" 697 syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
697 syn match vimHiGuiRgb contained "#\x\{6}" 698 syn match vimHiGuiRgb contained "#\x\{6}"
698 699
699 " Highlighting: hi group key=arg ... {{{2 700 " Highlighting: hi group key=arg ... {{{2
700 syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment 701 syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment
701 syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster 702 syn region vimHiKeyList contained start="\i\+" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster
702 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror") 703 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
703 syn match vimHiKeyError contained "\i\+="he=e-1 704 syn match vimHiKeyError contained "\i\+="he=e-1
704 endif 705 endif
705 syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList 706 syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
706 syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption 707 syn match vimHiStartStop contained "\c\%(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
707 syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList 708 syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
708 syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError 709 syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
709 syn match vimHiCtermul contained "\cctermul="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError 710 syn match vimHiCtermul contained "\cctermul="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
710 syn match vimHiCtermfont contained "\cctermfont="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError 711 syn match vimHiCtermfont contained "\cctermfont="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
711 syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList 712 syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
713 syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib 714 syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
714 syn match vimHiTermcap contained "\S\+" contains=vimNotation 715 syn match vimHiTermcap contained "\S\+" contains=vimNotation
715 syn match vimHiNmbr contained '\d\+' 716 syn match vimHiNmbr contained '\d\+'
716 717
717 " Highlight: clear {{{2 718 " Highlight: clear {{{2
718 syn keyword vimHiClear contained clear nextgroup=vimHiGroup 719 syn keyword vimHiClear contained clear skipwhite nextgroup=vimGroup,vimHiGroup
719 720
720 " Highlight: link {{{2 721 " Highlight: link {{{2
721 " see tst24 (hi def vs hi) (Jul 06, 2018) 722 " see tst24 (hi def vs hi) (Jul 06, 2018)
722 "syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation 723 "syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
723 syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=@vimHiCluster 724 " TODO: simplify and allow line continuations --djk
725 syn region vimHiLink contained matchgroup=Type start="\%(\<hi\%[ghlight]!\=\s\+\)\@<=\%(\%(def\%[ault]\s\+\)\=link\>\|\<def\%[ault]\>\)" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster
724 726
725 " Control Characters: {{{2 727 " Control Characters: {{{2
726 " ================== 728 " ==================
727 syn match vimCtrlChar "[- -]" 729 syn match vimCtrlChar "[- -]"
728 730
990 hi def link vimError Error 992 hi def link vimError Error
991 hi def link vimEscape Special 993 hi def link vimEscape Special
992 hi def link vimFBVar vimVar 994 hi def link vimFBVar vimVar
993 hi def link vimFgBgAttrib vimHiAttrib 995 hi def link vimFgBgAttrib vimHiAttrib
994 hi def link vimFuncEcho vimCommand 996 hi def link vimFuncEcho vimCommand
995 hi def link vimHiCtermul vimHiTerm
996 hi def link vimHiCtermfont vimHiTerm
997 hi def link vimFold Folded 997 hi def link vimFold Folded
998 hi def link vimFor vimCommand 998 hi def link vimFor vimCommand
999 hi def link vimFTCmd vimCommand 999 hi def link vimFTCmd vimCommand
1000 hi def link vimFTOption vimSynType 1000 hi def link vimFTOption vimSynType
1001 hi def link vimFuncKey vimCommand 1001 hi def link vimFuncKey vimCommand
1007 hi def link vimGroupRem vimSynOption 1007 hi def link vimGroupRem vimSynOption
1008 hi def link vimGroupSpecial Special 1008 hi def link vimGroupSpecial Special
1009 hi def link vimGroup Type 1009 hi def link vimGroup Type
1010 hi def link vimHiAttrib PreProc 1010 hi def link vimHiAttrib PreProc
1011 hi def link vimHiBang vimBang 1011 hi def link vimHiBang vimBang
1012 hi def link vimHiClear vimHighlight 1012 hi def link vimHiClear Type
1013 hi def link vimHiCtermColor Constant
1013 hi def link vimHiCtermFgBg vimHiTerm 1014 hi def link vimHiCtermFgBg vimHiTerm
1015 hi def link vimHiCtermfont vimHiTerm
1016 hi def link vimHiCtermul vimHiTerm
1014 hi def link vimHiCTerm vimHiTerm 1017 hi def link vimHiCTerm vimHiTerm
1015 hi def link vimHighlight vimCommand 1018 hi def link vimHighlight vimCommand
1016 hi def link vimHiGroup vimGroupName 1019 hi def link vimHiGroup vimGroupName
1017 hi def link vimHiGuiFgBg vimHiTerm 1020 hi def link vimHiGuiFgBg vimHiTerm
1018 hi def link vimHiGuiFont vimHiTerm 1021 hi def link vimHiGuiFont vimHiTerm