Mercurial > vim
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 |