annotate runtime/syntax/generator/vim.vim.base @ 35581:80f900c63a11

runtime(vim): Update base-syntax, improve :match command highlighting Commit: https://github.com/vim/vim/commit/e85fdc730e2a538db9af72a255207aa3d5f3fafc Author: Doug Kearns <dougkearns@gmail.com> Date: Sun Jul 7 20:45:37 2024 +0200 runtime(vim): Update base-syntax, improve :match command highlighting Match group and pattern arguments to :match commands. closes: #15096 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 07 Jul 2024 21:00:10 +0200
parents c13c25901a26
children e4a0c5bba6a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Vim syntax file
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34617
diff changeset
2 " Language: Vim script
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34617
diff changeset
3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34617
diff changeset
4 " Doug Kearns <dougkearns@gmail.com>
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34617
diff changeset
5 " URL: https://github.com/vim-jp/syntax-vim-ex
35581
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
6 " Last Change: 2024 Jul 05
34375
02bd0fe77c68 runtime(misc): announce adoption of various runtime files
Christian Brabandt <cb@256bit.org>
parents: 34374
diff changeset
7 " Former Maintainer: Charles E. Campbell
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " DO NOT CHANGE DIRECTLY.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 " THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 " (Search string "GEN_SYN_VIM:" in this file)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 " Automatically generated keyword lists: {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 " Quit when a syntax file was already loaded {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 if exists("b:current_syntax")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 finish
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 let s:keepcpo= &cpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 set cpo&vim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
22 let s:vim9script = "\n" .. getline(1, 32)->join("\n") =~# '\n\s*vim9\%[script]\>'
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
23
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 " vimTodo: contains common special-notices for comments {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 " Use the vimCommentGroup cluster to add your own.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 syn keyword vimTodo contained COMBAK FIXME TODO XXX
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 syn cluster vimCommentGroup contains=vimTodo,@Spell
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 " regular vim commands {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 " GEN_SYN_VIM: vimCommand normal, START_STR='syn keyword vimCommand contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31
34374
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
32 " Lower priority for _new_ to distinguish constructors from the command.
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
33 syn match vimCommand contained "\<new\>(\@!"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 syn match vimCommand contained "\<z[-+^.=]\=\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man Over Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 " vimOptions are caught only when contained in a vimSet {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 " GEN_SYN_VIM: vimOption normal, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 " vimOptions: These are the turn-off setting variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41 " GEN_SYN_VIM: vimOption turn-off, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 " vimOptions: These are the invertible variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 " GEN_SYN_VIM: vimOption invertible, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 " termcap codes (which can also be set) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 " GEN_SYN_VIM: vimOption term output code, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 " term key codes
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 syn keyword vimOption contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 syn match vimOption contained "t_%1"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 syn match vimOption contained "t_#2"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 syn match vimOption contained "t_#4"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 syn match vimOption contained "t_@7"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54 syn match vimOption contained "t_*7"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 syn match vimOption contained "t_&8"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 syn match vimOption contained "t_%i"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 syn match vimOption contained "t_k;"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 " unsupported settings: some were supported by vi but don't do anything in vim {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
60 " GEN_SYN_VIM: Missing vimOption, START_STR='syn keyword vimErrSetting contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
61
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
62 " AutoCmd Events {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
63 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
64 " GEN_SYN_VIM: vimAutoEvent, START_STR='syn keyword vimAutoEvent contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 " Highlight commonly used Groupnames {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
67 syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69 " Default highlighting groups {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
70 " GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', END_STR=''
35283
eae910db39c1 runtime(vim): fix syntax vim bug (Close #14858) (#14861)
Christian Brabandt <cb@256bit.org>
parents: 34935
diff changeset
71 syn match vimHLGroup contained "\<Conceal\>"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74 " Function Names {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
75 " GEN_SYN_VIM: vimFuncName, START_STR='syn keyword vimFuncName contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 "--- syntax here and above generated by mkvimvim ---
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 " Special Vim Highlighting (not automatic) {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80 " Set up folding commands for this syntax highlighting file {{{2
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
81 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhHlmpPrt]'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 if g:vimsyn_folding =~# 'a'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 com! -nargs=* VimFolda <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 if g:vimsyn_folding =~# 'f'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88 com! -nargs=* VimFoldf <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 if g:vimsyn_folding =~# 'h'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 com! -nargs=* VimFoldh <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 com! -nargs=* VimFoldh <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 endif
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
97 if g:vimsyn_folding =~# 'H'
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
98 com! -nargs=* VimFoldH <args> fold
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
99 else
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
100 com! -nargs=* VimFoldH <args>
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
101 endif
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 if g:vimsyn_folding =~# 'l'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 com! -nargs=* VimFoldl <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 if g:vimsyn_folding =~# 'm'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 com! -nargs=* VimFoldm <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 if g:vimsyn_folding =~# 'p'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113 com! -nargs=* VimFoldp <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 if g:vimsyn_folding =~# 'P'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 com! -nargs=* VimFoldP <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 if g:vimsyn_folding =~# 'r'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 com! -nargs=* VimFoldr <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
125 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 if g:vimsyn_folding =~# 't'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128 com! -nargs=* VimFoldt <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 com! -nargs=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
132 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
133 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 com! -nargs=* VimFoldh <args>
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
136 com! -nargs=* VimFoldH <args>
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
139 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
141 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 com! -nargs=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 " Deprecated variable options {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
146 if exists("g:vim_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
147 let g:vimsyn_minlines= g:vim_minlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
149 if exists("g:vim_maxlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
150 let g:vimsyn_maxlines= g:vim_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
151 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
152 if exists("g:vimsyntax_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153 let g:vimsyn_noerror= g:vimsyntax_noerror
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
154 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
155
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156 " Variable options {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 if exists("g:vim_maxlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158 let s:vimsyn_maxlines= g:vim_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160 let s:vimsyn_maxlines= 60
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
161 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163 " Numbers {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164 " =======
34531
0591aba1489d runtime(vim): Update base-syntax, improve number matching (#14175)
Christian Brabandt <cb@256bit.org>
parents: 34513
diff changeset
165 syn case ignore
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
166 syn match vimNumber '\<\d\+\%(\.\d\+\%(e[+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
167 syn match vimNumber '\<0b[01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
168 syn match vimNumber '\<0o\=\o\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
169 syn match vimNumber '\<0x\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
170 syn match vimNumber '\<0z\>' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
171 syn match vimNumber '\<0z\%(\x\x\)\+\%(\.\%(\x\x\)\+\)*' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
172 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,@vimComment
34531
0591aba1489d runtime(vim): Update base-syntax, improve number matching (#14175)
Christian Brabandt <cb@256bit.org>
parents: 34513
diff changeset
173 syn case match
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175 " All vimCommands are contained by vimIsCommand. {{{2
35581
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
176 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCatch,vimDef,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
177 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
178 syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179 syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
180 syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
181 syn match vimVar "\s\zs&\%([lg]:\)\=\a\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182 syn match vimVar "\s\zs&t_\S[a-zA-Z0-9]\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
183 syn match vimVar "\s\zs&t_k;"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
184 syn match vimFBVar contained "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
185 syn keyword vimCommand contained in
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
187 syn cluster vimExprList contains=vimEnvvar,vimFunc,vimFuncVar,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
188
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
189 " Insertions And Appends: insert append {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190 " (buftype != nofile test avoids having append, change, insert show up in the command window)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
191 " =======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
192 if &buftype != 'nofile'
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
193 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$" matchgroup=vimCommand end="^\.$" extend
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
194 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$" matchgroup=vimCommand end="^\.$" extend
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
195 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$" matchgroup=vimCommand end="^\.$" extend
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
196 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
197
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
198 " Behave! {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
199 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
200 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
201 syn match vimBehaveError contained "[^ ]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
202 endif
34354
c99a9fe0886d runtime(vim): Update base-syntax, fix :behave highlighting
Christian Brabandt <cb@256bit.org>
parents: 34353
diff changeset
203 syn match vimBehave "\<be\%[have]\>" nextgroup=vimBehaveBang,vimBehaveModel,vimBehaveError skipwhite
c99a9fe0886d runtime(vim): Update base-syntax, fix :behave highlighting
Christian Brabandt <cb@256bit.org>
parents: 34353
diff changeset
204 syn match vimBehaveBang contained "\a\@1<=!" nextgroup=vimBehaveModel skipwhite
c99a9fe0886d runtime(vim): Update base-syntax, fix :behave highlighting
Christian Brabandt <cb@256bit.org>
parents: 34353
diff changeset
205 syn keyword vimBehaveModel contained mswin xterm
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
206
35394
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
207 " Exception Handling {{{2
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
208 syn keyword vimThrow th[row] skipwhite nextgroup=@vimExprList
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
209 syn keyword vimCatch cat[ch] skipwhite nextgroup=vimCatchPattern
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
210 syn region vimCatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
211
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
212 " Filetypes {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
213 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
214 syn match vimFiletype "\<filet\%[ype]\(\s\+\I\i*\)*" skipwhite contains=vimFTCmd,vimFTOption,vimFTError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
215 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimFTError")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
216 syn match vimFTError contained "\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
217 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
218 syn keyword vimFTCmd contained filet[ype]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
219 syn keyword vimFTOption contained detect indent off on plugin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
221 " Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
222 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
223 syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,@vimComment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
224 syn match vimAugroup "\<aug\%[roup]\>" contains=vimAugroupKey,vimAugroupBang skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
225 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a'
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
226 syn region vimAugroup fold start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
227 else
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
228 syn region vimAugroup start="\<aug\%[roup]\>\ze\s\+\%([eE][nN][dD]\)\@!\S\+" matchgroup=vimAugroupKey end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList,vimAugroupkey skipwhite nextgroup=vimAugroupEnd
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
229 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
231 syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
232 endif
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
233
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
234 syn match vimAutoCmdGroup contained "\S\+"
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
235 syn match vimAugroupEnd contained "\c\<END\>"
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
236 syn match vimAugroupBang contained "\a\@1<=!" skipwhite nextgroup=vimAutoCmdGroup
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
237 syn keyword vimAugroupKey contained aug[roup] skipwhite nextgroup=vimAugroupBang,vimAutoCmdGroup,vimAugroupEnd
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
238
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
239 " Operators: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
240 " =========
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
241 syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
242 syn match vimOper "||\|&&\|[-+*/%.!]" skipwhite nextgroup=vimString,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243 syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\|!\~#\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
244 syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
34617
624afe810083 runtime(vim): Update base-syntax, remove old unused syntax groups. (#14146)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
245 syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246 syn region vimOperParen matchgroup=vimSep start="#\={" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
247 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 syn match vimOperError ")"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
249 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
250
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
251 " Functions: Tag is provided for those who wish to highlight tagged functions {{{2
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252 " =========
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
253 syn cluster vimFuncList contains=vimFuncBang,vimFunctionError,vimFuncKey,vimFuncSID,Tag
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
254 syn cluster vimDefList contains=vimFuncBang,vimFunctionError,vimDefKey,vimFuncSID,Tag
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
255
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
256 syn cluster vimFuncBodyCommon contains=@vimCmdList,vimCmplxRepeat,vimContinue,vimCtrlChar,vimDef,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimLetHereDoc,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimFuncFold
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
257 syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
258 syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
259
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
260 syn region vimFuncPattern contained matchgroup=vimOper start="/" end="$" contains=@vimSubstList
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
261 syn match vimFunction "\<fu\%[nction]\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimFuncKey
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
262 syn match vimDef "\<def\>" skipwhite nextgroup=vimCmdSep,vimComment,vimFuncPattern contains=vimDefKey
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
263
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
264 syn match vimFunction "\<fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimFuncList skipwhite nextgroup=vimFuncParams
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
265 syn match vimDef "\<def\s\+new\%(\i\|{.\{-1,}}\)\+" contains=@vimDefList nextgroup=vimDefParams
34701
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
266 syn match vimDef "\<def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+" contains=@vimDefList,vimMethodName nextgroup=vimDefParams
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
267
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
268 syn match vimFuncComment contained +".*+ skipwhite skipnl nextgroup=vimFuncBody,vimEndfunction
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
269 syn match vimDefComment contained "#.*" skipwhite skipnl nextgroup=vimDefBody,vimEnddef
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
270
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
271 syn match vimFuncBang contained "!"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
272 syn match vimFuncSID contained "\c<sid>"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
273 syn match vimFuncSID contained "\<[sg]:"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
274 syn keyword vimFuncKey contained fu[nction]
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
275 syn keyword vimDefKey contained def
34701
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
276 syn keyword vimMethodName contained empty len string
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
277
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
278 syn region vimFuncParams contained matchgroup=Delimiter start="(" skip=+\n\s*\\\|\n\s*"\\ + end=")" skipwhite skipnl nextgroup=vimFuncBody,vimFuncComment,vimEndfunction,vimFuncMod,vim9CommentError contains=vimFuncParam,@vimContinue
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
279 syn region vimDefParams contained matchgroup=Delimiter start="(" end=")" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError contains=vimDefParam,vim9Comment
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
280 syn match vimFuncParam contained "\<\h\w*\>\|\.\.\." skipwhite nextgroup=vimFuncParamEquals
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
281 syn match vimDefParam contained "\<\h\w*\>" skipwhite nextgroup=vimParamType,vimFuncParamEquals
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
282
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
283 syn match vimFuncParamEquals contained "=" skipwhite nextgroup=@vimExprList
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
284 syn match vimFuncMod contained "\<\%(abort\|closure\|dict\|range\)\>" skipwhite skipnl nextgroup=vimFuncBody,vimFuncComment,vimEndfunction,vimFuncMod,vim9CommentError
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
285
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
286 syn region vimFuncBody contained start="^.\=" matchgroup=vimCommand end="\<endfu\%[nction]\>" contains=@vimFuncBodyList skipwhite nextgroup=vimCmdSep,vimComment,vim9CommentError
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
287 syn region vimDefBody contained start="^.\=" matchgroup=vimCommand end="\<enddef\>" contains=@vimDefBodyList skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
288
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
289 syn match vimEndfunction "\<endf\%[unction]\>" skipwhite nextgroup=vimCmdSep,vimComment,vim9CommentError
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
290 syn match vimEnddef "\<enddef\>" skipwhite nextgroup=vimCmdSep,vim9Comment,vimCommentError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
293 syn region vimFuncFold start="^\s*:\=\s*fu\%[nction]\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)\+\s*(" end="^\s*:\=\s*endf\%[unction]\>" contains=vimFunction fold keepend extend transparent
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
294 syn region vimFuncFold start="^\s*:\=\s*def\>!\=\s*\%(<[sS][iI][dD]>\|[sg]:\)\=\%(\i\|[#.]\)\+(" end="^\s*:\=\s*enddef\>" contains=vimDef fold keepend extend transparent
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
295 syn region vimFuncFold start="^\s*:\=\s*def\s\+new\i\+(" end="^\s*:\=\s*enddef\>" contains=vimDef fold keepend extend transparent
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296 endif
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
297
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
298 syn match vimFuncVar contained "a:\%(\K\k*\|\d\+\)\>"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
299 syn match vimFuncBlank contained "\s\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
300
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
301 " Types: {{{2
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
302 " =====
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
303 " vimTypes : new for vim9
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
304 syn region vimReturnType contained start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimCommentError contains=vimTypeSep transparent
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
305 syn match vimParamType contained ":\s\+\a" skipwhite skipnl nextgroup=vimFuncParamEquals contains=vimTypeSep,@vimType
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
306
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
307 syn match vimTypeSep contained ":\s\@=" skipwhite nextgroup=@vimType
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
308 syn keyword vimType contained any blob bool channel float job number string void
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
309 syn match vimType contained "\<func\>"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
310 syn region vimCompoundType contained matchgroup=vimType start="\<func(" end=")" nextgroup=vimTypeSep contains=@vimType oneline transparent
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
311 syn region vimCompoundType contained matchgroup=vimType start="\<\%(list\|dict\)<" end=">" contains=@vimType oneline transparent
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
312 syn match vimUserType contained "\<\u\w*\>"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
313
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
314 syn cluster vimType contains=vimType,vimCompoundType,vimUserType
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
315
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
316 " Keymaps: {{{2
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
319 syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,@vimKeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
320 syn match vimKeymapLhs "\S\+" contained skipwhite nextgroup=vimKeymapRhs contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
321 syn match vimKeymapRhs "\S\+" contained skipwhite nextgroup=vimKeymapTailComment contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
322 syn match vimKeymapTailComment "\S.*" contained
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
323
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
324 " TODO: remove when :" comment is matched in parts as "ex-colon comment" --djk
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
325 if s:vim9script
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
326 syn match vim9KeymapLineComment "#.*" contained contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
327 else
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
328 syn match vimKeymapLineComment +".*+ contained contains=@vimCommentGroup,vimCommentString,vimCommentTitle
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
329 endif
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
330 syn cluster vimKeymapLineComment contains=vim9\=KeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
331
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
332 syn region vimKeymap matchgroup=vimCommand start="\<loadk\%[eymap]\>" end="\%$" contains=vimKeymapStart
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
334 " Special Filenames, Modifiers, Extension Removal: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
335 " ===============================================
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
336 syn match vimSpecFile "<c\(word\|WORD\)>" nextgroup=vimSpecFileMod,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
337 syn match vimSpecFile "<\([acs]file\|amatch\|abuf\)>" nextgroup=vimSpecFileMod,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
338 syn match vimSpecFile "\s%[ \t:]"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
339 syn match vimSpecFile "\s%$"ms=s+1 nextgroup=vimSpecFileMod,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
340 syn match vimSpecFile "\s%<"ms=s+1,me=e-1 nextgroup=vimSpecFileMod,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
341 syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
342 syn match vimSpecFileMod "\(:[phtre]\)\+" contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
343
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
344 " User-Specified Commands: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
345 " =======================
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
346 syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
347 syn keyword vimUserCommand contained com[mand]
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
348 syn match vimUserCmdName contained "\<\u\w*\>" nextgroup=vimUserCmdBlock skipwhite
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
349 syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter,vimCmdBlock,vimUserCmdName
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
350 syn match vimUserAttrbError contained "-\a\+\ze\s"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
351 syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
352 syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
353 syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
354 syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
355 syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
356 syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
357 syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
358 syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
359 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
360 syn match vimUserCmdError contained "\S\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
361 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
362 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
363 syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
364 " GEN_SYN_VIM: vimUserAttrbCmplt, START_STR='syn keyword vimUserAttrbCmplt contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
365 syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
366 syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
367
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
368 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
369 syn match vimUserAttrbCmplt contained "custom,\u\w*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
370
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
371 syn region vimUserCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
372
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
373 " Lower Priority Comments: after some vim commands... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
374 " =======================
35378
105d15aef7dd runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Christian Brabandt <cb@256bit.org>
parents: 35374
diff changeset
375 if get(g:, "vimsyn_comment_strings", 1)
105d15aef7dd runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Christian Brabandt <cb@256bit.org>
parents: 35374
diff changeset
376 syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
105d15aef7dd runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Christian Brabandt <cb@256bit.org>
parents: 35374
diff changeset
377 endif
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
378
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
379 if s:vim9script
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
380 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
381 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
382 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
383 " Vim9 comments - TODO: might be highlighted while they don't work
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
384 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
385 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
386 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
387 " Vim9 comment inside expression
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
388 " syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
389 " syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
390 " syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
391
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
392 syn cluster vimComment contains=vim9Comment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
393 else
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
394 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
395 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
396 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
397 " Vim9 comments - TODO: might be highlighted while they don't work
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
398 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
399 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
400 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
401 " Vim9 comment inside expression
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
402 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
403 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
404 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString contained
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
405
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
406 syn cluster vimComment contains=vimComment
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
407 endif
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
408
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
409 syn match vim9CommentError contained "#.*"
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
410 syn match vimCommentError contained +".*+
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
411
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
412 " Environment Variables: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
413 " =====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
414 syn match vimEnvvar "\$\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
415 syn match vimEnvvar "\${\I\i*}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
416
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
417 " In-String Specials: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
418 " Try to catch strings, if nothing else matches (therefore it must precede the others!)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
419 " vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
420 syn region vimEscapeBrace oneline contained transparent start="[^\\]\(\\\\\)*\[\zs\^\=\]\=" skip="\\\\\|\\\]" end="]"me=e-1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
421 syn match vimPatSepErr contained "\\)"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
422 syn match vimPatSep contained "\\|"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
423 syn region vimPatSepZone oneline contained matchgroup=vimPatSepZ start="\\%\=\ze(" skip="\\\\" end="\\)\|[^\\]['"]" contains=@vimStringGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
424 syn region vimPatRegion contained transparent matchgroup=vimPatSepR start="\\[z%]\=(" end="\\)" contains=@vimSubstList oneline
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
425 syn match vimNotPatSep contained "\\\\"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
426 syn cluster vimStringGroup contains=vimEscape,vimEscapeBrace,vimPatSep,vimNotPatSep,vimPatSepErr,vimPatSepZone,@Spell
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
427 syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"+ matchgroup=vimStringEnd end=+"+ contains=@vimStringGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
428 syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
429 "syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup " see tst45.vim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
430 syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
431 syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
432 syn match vimEscape contained "\\."
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
433 " syn match vimEscape contained +\\[befnrt\"]+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
434 syn match vimEscape contained "\\\o\{1,3}\|\\[xX]\x\{1,2}\|\\u\x\{1,4}\|\\U\x\{1,8}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
435 syn match vimEscape contained "\\<" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
436 syn match vimEscape contained "\\<\*[^>]*>\=>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
437
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
438 syn region vimString oneline start=+$'+ skip=+''+ end=+'+ contains=vimStringInterpolationBrace,vimStringInterpolationExpr
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
439 syn region vimString oneline start=+$"+ end=+"+ contains=@vimStringGroup,vimStringInterpolationBrace,vimStringInterpolationExpr
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
440 syn region vimStringInterpolationExpr oneline contained matchgroup=vimSep start=+{+ end=+}+ contains=@vimExprList
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
441 syn match vimStringInterpolationBrace contained "{{"
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
442 syn match vimStringInterpolationBrace contained "}}"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
443
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
444 " Substitutions: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
445 " =============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
446 syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
447 syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
448 syn cluster vimSubstList add=vimCollection
35334
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
449 syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
450 syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
451 syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
452 syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
453 " TODO: Vim9 illegal separators for abbreviated :s form are [-.:], :su\%[...] required
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
454 " : # is allowed but "not recommended" (see :h pattern-delimiter)
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
455 syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
456 syn region vimSubstRep4 contained matchgroup=vimSubstDelim start="\z(.\)" skip="\\\\\|\\\z1" end="\z1" matchgroup=vimNotation end="<[cC][rR]>" contains=@vimSubstRepList nextgroup=vimSubstFlagErr oneline
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
457 syn region vimCollection contained transparent start="\\\@<!\[" skip="\\\[" end="\]" contains=vimCollClass
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
458 syn match vimCollClassErr contained "\[:.\{-\}:\]"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
459 syn match vimCollClass contained transparent "\%#=1\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|retu\%[rn]\|tab\|escape\|backspace\):\]"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
460 syn match vimSubstSubstr contained "\\z\=\d"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
461 syn match vimSubstTwoBS contained "\\\\"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
462 syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
463 syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
464
35334
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
465 " Vi compatibility
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
466 syn match vimSubstDelim contained "\\"
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
467 syn match vimSubstPat contained "\\\ze[/?&]" contains=vimSubstDelim nextgroup=vimSubstRep4
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
468
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
469 " 'String': {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
470 syn match vimString "[^(,]'[^']\{-}\zs'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
471
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
472 " Marks, Registers, Addresses, Filters: {{{2
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
473 syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
474 syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
475 syn match vimMark ",\zs'[<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
476 syn match vimMark "[!,:]\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
477 syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
478 syn match vimMarkNumber "[-+]\d\+" contained contains=vimOper nextgroup=vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
479 syn match vimPlainMark contained "'[a-zA-Z0-9]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
480 syn match vimRange "[`'][a-zA-Z0-9],[`'][a-zA-Z0-9]" contains=vimMark skipwhite nextgroup=vimFilter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
481
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
482 syn match vimRegister '[^,;[{: \t]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
483 syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
484 syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
485 syn match vimRegister '@"'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
486 syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
487 syn match vimLetRegister contained '@["0-9\-a-zA-Z#=*+_/]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
488
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
489 syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
490 syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
491
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
492 syn match vimFilter "^!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
493 syn match vimFilter contained "!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
494 syn match vimComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
495
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
496 " Complex Repeats: (:h complex-repeat) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
497 " ===============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
498 syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
499 syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
500
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
501 " Set command and associated set-options (vimOptions) with comment {{{2
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
502 syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\.\n\@!" end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,@vimComment,vimSetString,vimSetMod
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
503 syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]"me=e-1 end="$" contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
504 syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
505 syn match vimSetSep contained "[,:]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
506 syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
507
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
508 " Let And Var: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
509 " ===========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
510 syn keyword vimLet let skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc,vimLetRegister,vimVarList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
511 syn keyword vimConst cons[t] skipwhite nextgroup=vimVar,vimLetHereDoc,vimVarList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
512 syn region vimVarList contained start="\[" end="]" contains=vimVar,vimContinue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
513
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
514 syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515 syn match vimUnletBang contained "!" skipwhite nextgroup=vimUnletVars
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
516 syn region vimUnletVars contained start="$\I\|\h" skip="\n\s*\\" end="$" end="|" contains=vimVar,vimEnvvar,vimContinue,vimString,vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
517
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
518 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s*\%(trim\s\+\%(eval\s\+\)\=\|eval\s\+\%(trim\s\+\)\=\)\=\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' extend
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
519 syn keyword vimLet var skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
520
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
521 " For: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
522 " ===
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
523 syn keyword vimFor for skipwhite nextgroup=vimVar,vimVarList
34617
624afe810083 runtime(vim): Update base-syntax, remove old unused syntax groups. (#14146)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
524
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
525 " Abbreviations: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
526 " =============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
527 " GEN_SYN_VIM: vimCommand abbrev, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34617
diff changeset
528 " GEN_SYN_VIM: vimCommand abclear, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
529
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
530 " Autocmd: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
531 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
532 syn match vimAutoEventList contained "\(!\s\+\)\=\(\a\+,\)*\a\+" contains=vimAutoEvent nextgroup=vimAutoCmdSpace
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
533 syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
534 syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod,vimAutoCmdBlock
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
535 syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
536 syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)" skipwhite nextgroup=vimAutoCmdBlock
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
537 syn region vimAutoCmdBlock contained matchgroup=vimSep start="{" end="}" contains=@vimDefBodyList
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
538
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
539 " Echo And Execute: -- prefer strings! {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
540 " ================
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
541 " NOTE: No trailing comments
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
542
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
543 syn region vimEcho
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
544 \ matchgroup=vimCommand
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
545 \ start="\<ec\%[ho]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
546 \ start="\<echoe\%[rr]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
547 \ start="\<echom\%[sg]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
548 \ start="\<echoc\%[onsole]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
549 \ start="\<echon\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
550 \ start="\<echow\%[indow]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
551 \ skip=+\\|\|\n\s*\\\|\n\s*"\\ +
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
552 \ matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
553
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
554 syn match vimEchohl "\<echohl\=\>" skipwhite nextgroup=vimGroup,vimHLGroup,vimEchohlNone
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
555 syn case ignore
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
556 syn keyword vimEchohlNone contained none
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
557 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
558
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
559 syn cluster vimEcho contains=vimEcho,vimEchohl
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
560
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
561 syn region vimExecute matchgroup=vimCommand start="\<exe\%[cute]\>" skip=+\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimExprList transparent
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
562
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
563 " Maps: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
564 " ====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
565 syn match vimMap "\<map\>\ze\s*(\@!" skipwhite nextgroup=vimMapMod,vimMapLhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
566 syn match vimMap "\<map!" contains=vimMapBang skipwhite nextgroup=vimMapMod,vimMapLhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
567 " GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs'
34402
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34375
diff changeset
568 " GEN_SYN_VIM: vimCommand mapclear, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod'
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34375
diff changeset
569 syn keyword vimMap mapc[lear] skipwhite nextgroup=vimMapBang,vimMapMod
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
570 " GEN_SYN_VIM: vimCommand unmap, START_STR='syn keyword vimUnmap', END_STR='skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs'
34513
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
571 syn match vimMapLhs contained "\%(.\|\S\)\+" contains=vimCtrlChar,vimNotation skipwhite nextgroup=vimMapRhs
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
572 syn match vimMapLhs contained "\%(.\|\S\)\+\ze\s*$" contains=vimCtrlChar,vimNotation skipwhite skipnl nextgroup=vimMapRhsContinue
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
573 syn match vimMapBang contained "\a\@1<=!" skipwhite nextgroup=vimMapMod,vimMapLhs
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
574 syn match vimMapMod contained "\%#=1\c<\(buffer\|expr\|\(local\)\=leader\|nowait\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
34513
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
575 syn region vimMapRhs contained start="\S" skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation skipnl nextgroup=vimMapRhsContinue
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
576 " assume a continuation comment introduces the RHS
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
577 syn region vimMapRhsContinue contained start=+^\s*\%(\\\|"\\ \)+ skip=+\\|\|\@1<=|\|\n\s*\\\|\n\s*"\\ + end="|" end="$" contains=@vimContinue,vimCtrlChar,vimNotation
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
578 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
579 syn keyword vimMapModKey contained buffer expr leader localleader nowait plug script sid silent unique
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
580 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
581
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
582 " Menus: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
583 " =====
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
584 " NOTE: tail comments disallowed
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
585 " GEN_SYN_VIM: vimCommand menu, START_STR='syn keyword vimMenu', END_STR='skipwhite nextgroup=vimMenuBang,vimMenuMod,vimMenuName,vimMenuPriority,vimMenuStatus'
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
586 syn keyword vimMenu popu[p] skipwhite nextgroup=vimMenuBang,vimMenuName
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
587 syn region vimMenuRhs contained contains=@vimContinue,vimNotation start="|\@!\S" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + end="$" matchgroup=vimSep end="|"
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
588 syn region vimMenuRhsContinue contained contains=@vimContinue,vimNotation start=+^\s*\%(\\\|"\\ \)+ skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + end="$" matchgroup=vimSep end="|"
34590
4cad34137ea0 runtime(vim): Update base-syntax, disallow '.' at start of menu item names (#14232)
Christian Brabandt <cb@256bit.org>
parents: 34580
diff changeset
589 syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation skipwhite nextgroup=vimCmdSep,vimMenuRhs
4cad34137ea0 runtime(vim): Update base-syntax, disallow '.' at start of menu item names (#14232)
Christian Brabandt <cb@256bit.org>
parents: 34580
diff changeset
590 syn match vimMenuName "\.\@!\%(\\\s\|\S\)\+\ze\s*$" contained contains=vimMenuNotation,vimNotation skipwhite skipnl nextgroup=vimCmdSep,vimMenuRhsContinue
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
591 syn match vimMenuNotation "&\a\|&&\|\\\s\|\\\." contained
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
592 syn match vimMenuPriority "\<\d\+\%(\.\d\+\)*\>" contained skipwhite nextgroup=vimMenuName
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
593 syn match vimMenuMod "\c<\%(script\|silent\|special\)>" contained skipwhite nextgroup=vimMenuName,vimMenuPriority,vimMenuMod contains=vimMapModKey,vimMapModErr
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
594 syn keyword vimMenuStatus enable disable nextgroup=vimMenuName skipwhite
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
595 syn match vimMenuBang "\a\@1<=!" contained skipwhite nextgroup=vimMenuName,vimMenuMod
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
596
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
597 syn region vimMenutranslate
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
598 \ matchgroup=vimCommand start="\<menut\%[ranslate]\>"
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
599 \ skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ +
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
600 \ end="$" matchgroup=vimCmdSep end="|" matchgroup=vimMenuClear end="\<clear\ze\s*\%(["#|]\|$\)"
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
601 \ contains=@vimContinue,vimMenutranslateName keepend transparent
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
602 " oneline is sufficient to match the current formatting in runtime/lang/*.vim
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
603 syn match vimMenutranslateName "\%(\\\s\|\S\)\+" contained contains=vimMenuNotation,vimNotation
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
604 syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
605
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
606 " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
607 " ======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
608 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
609 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd]-\)\{0,4}x\=\%(f\d\{1,2}\|[^ \t:]\|space\|bar\|bslash\|nl\|newline\|lf\|linefeed\|cr\|retu\%[rn]\|enter\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|csi\|right\|paste\%(start\|end\)\|left\|help\|undo\|k\=insert\|ins\|mouse\|[kz]\=home\|[kz]\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|kpoint\|space\|k\=\%(page\)\=\%(\|down\|up\|k\d\>\)\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
610
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
611 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(net\|dec\|jsb\|pterm\|urxvt\|sgr\)mouse>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
612 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}\%(left\|middle\|right\)\%(mouse\|drag\|release\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
613 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}left\%(mouse\|release\)nm>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
614 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}x[12]\%(mouse\|drag\|release\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
615 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}sgrmouserelease>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
616 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}mouse\%(up\|down\|move\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
617 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd2-4]-\)\{0,4}scrollwheel\%(up\|down\|right\|left\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
618
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
619 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%(sid\|nop\|nul\|lt\|drop\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
620 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%(snr\|plug\|cursorhold\|ignore\|cmd\|scriptcmd\|focus\%(gained\|lost\)\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
621 syn match vimNotation '\%(\\\|<lt>\)\=<C-R>[0-9a-z"%#:.\-=]'he=e-1 contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
622 syn match vimNotation '\%#=1\%(\\\|<lt>\)\=<\%(q-\)\=\%(line[12]\|count\|bang\|reg\|args\|mods\|f-args\|f-mods\|lt\)>' contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
623 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([cas]file\|abuf\|amatch\|cexpr\|cword\|cWORD\|client\|stack\|script\|sf\=lnum\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
624 syn match vimNotation "\%#=1\%(\\\|<lt>\)\=<\%([scamd]-\)\{0,4}char-\%(\d\+\|0\o\+\|0x\x\+\)>" contains=vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
625
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
626 syn match vimBracket contained "[\\<>]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
627 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
628
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
629 " User Function Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
630 " (following Gautam Iyer's suggestion)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
631 " ==========================
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
632 syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
34701
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
633 syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation,vimMethodName
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
634 syn keyword vimFuncEcho contained ec ech echo
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
635
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
636 " User Command Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
637 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
638
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
639 " Errors And Warnings: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
640 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
641 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
34374
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
642 " TODO: The new-prefix exception should only apply to constructor definitions.
34701
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
643 " TODO: The |builtin-object-methods| exception should only apply to method
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
644 " definitions.
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
645 syn match vimFunctionError "\s\zs\%(empty\|len\|new\|string\)\@![a-z0-9]\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
646 syn match vimFunctionError "\s\zs\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\d\i\{-}\ze\s*(" contained contains=vimFuncKey,vimFuncBlank
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
647 syn match vimElseIfErr "\<else\s\+if\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
648 syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
649 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
650
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
651 syn match vimNotFunc "\<if\>\|\<el\%[seif]\>\|\<retu\%[rn]\>\|\<while\>" skipwhite nextgroup=vimOper,vimOperParen,vimVar,vimFunc,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
652
35581
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
653 " Match: {{{2
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
654 " =====
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
655 syn match vimMatch "\<[23]\=mat\%[ch]\>" skipwhite nextgroup=vimMatchGroup,vimMatchNone
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
656 syn match vimMatchGroup contained "[[:alnum:]._-]\+" skipwhite nextgroup=vimMatchPattern
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
657 syn case ignore
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
658 syn keyword vimMatchNone contained none
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
659 syn case match
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
660 syn region vimMatchPattern contained matchgroup=Delimiter start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)" skip="\\\\\|\\\z1" end="\z1" contains=@vimSubstList oneline
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
661
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
662 " Norm: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
663 " ====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
664 syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
665 syn match vimNormCmds contained ".*$"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
666
35408
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
667 " Sleep: {{{2
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
668 " =====
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
669 syn keyword vimSleep sl[eep] skipwhite nextgroup=vimSleepBang,vimSleepArg
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
670 syn match vimSleepBang contained "\a\@1<=!" skipwhite nextgroup=vimSleepArg
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
671 syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>"
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
672
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
673 " Syntax: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
674 "=======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
675 syn match vimGroupList contained "[^[:space:],]\+\%(\s*,\s*[^[:space:],]\+\)*" contains=vimGroupSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
676 syn region vimGroupList contained start=/^\s*["#]\\ \|^\s*\\\|[^[:space:],]\+\s*,/ skip=/\s*\n\s*\\\|\s*\n\s*["#]\\ \|^\s*\\\|^\s*["#]\\ / end=/[^[:space:],]\s*$\|[^[:space:],]\ze\s\+\w/ contains=@vimContinue,vimGroupSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
677 syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
678
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
679 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
680 syn match vimSynError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
681 syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
682 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
683 syn match vimSynContains contained "\<contain\%(s\|edin\)=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
684 syn match vimSynKeyContainedin contained "\<containedin=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
685 syn match vimSynNextgroup contained "\<nextgroup=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
686 if has("conceal")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
687 " no whitespace allowed after '='
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
688 syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
689 syn match vimSynCcharValue contained "\S"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
690 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
691
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
692 syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,@vimComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
693 syn cluster vimFuncBodyList add=vimSyntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
694
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
695 " Syntax: case {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
696 syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
697 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
698 syn match vimSynCaseError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
699 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
700 syn keyword vimSynCase contained ignore match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
701
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
702 " Syntax: clear {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
703 syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
704
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
705 " Syntax: cluster {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
706 syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
707 syn region vimClusterName contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="$\||" contains=@vimContinue,vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
708 syn match vimGroupAdd contained keepend "\<add=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
709 syn match vimGroupRem contained keepend "\<remove=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
710
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
711 " Syntax: foldlevel {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
712 syn keyword vimSynType contained foldlevel skipwhite nextgroup=vimSynFoldMethod,vimSynFoldMethodError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
713 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynfoldmethoderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
714 syn match vimSynFoldMethodError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
715 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
716 syn keyword vimSynFoldMethod contained start minimum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
717
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
718 " Syntax: iskeyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
719 syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimIskList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
720 syn match vimIskList contained '\S\+' contains=vimIskSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
721 syn match vimIskSep contained ','
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
722
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
723 " Syntax: include {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
724 syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
725
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
726 " Syntax: keyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
727 syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
728 syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
729 syn region vimSynKeyRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|\|$" contains=@vimSynKeyGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
730 syn match vimSynKeyOpt contained "\%#=1\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
731
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
732 " Syntax: match {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
733 syn cluster vimSynMtchGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vimMtchComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
734 syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
735 syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*\>" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|\|$" contains=@vimSynMtchGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
736 syn match vimSynMtchOpt contained "\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
737
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
738 " Syntax: off and on {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
739 syn keyword vimSynType contained enable list manual off on reset
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
740
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
741 " Syntax: region {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
742 syn cluster vimSynRegPatGroup contains=@vimContinue,vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
743 syn cluster vimSynRegGroup contains=@vimContinue,vimSynCchar,vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
744 syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
745 syn region vimSynRegion contained keepend matchgroup=vimGroupName start="\h\w*" skip=+\\\\\|\\\|\n\s*\\\|\n\s*"\\ + end="|\|$" contains=@vimSynRegGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
746 syn match vimSynRegOpt contained "\%#=1\<\(conceal\(ends\)\=\|transparent\|contained\|excludenl\|skipempty\|skipwhite\|display\|keepend\|oneline\|extend\|skipnl\|fold\)\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
747 syn match vimSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
748 syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
749 syn region vimSynRegPat contained extend start="\z([-`~!@#$%^&*_=+;:'",./?]\)" skip=/\\\\\|\\\z1\|\n\s*\\\|\n\s*"\\ / end="\z1" contains=@vimSynRegPatGroup skipwhite nextgroup=vimSynPatMod,vimSynReg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
750 syn match vimSynPatMod contained "\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\="
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
751 syn match vimSynPatMod contained "\%#=1\(hs\|ms\|me\|hs\|he\|rs\|re\)=[se]\([-+]\d\+\)\=," nextgroup=vimSynPatMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
752 syn match vimSynPatMod contained "lc=\d\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
753 syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
754 syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
755 syn match vimSynNotPatRange contained "\\\\\|\\\["
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
756 syn match vimMtchComment contained '"[^"]\+$'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
757
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
758 " Syntax: sync {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
759 " ============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
760 syn keyword vimSynType contained sync skipwhite nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinebreak,vimSyncLinecont,vimSyncRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
761 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
762 syn match vimSyncError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
763 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
764 syn keyword vimSyncC contained ccomment clear fromstart
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
765 syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
766 syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
767 syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
768 syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
769 syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
770 syn match vimSyncGroupName contained "\h\w*" skipwhite nextgroup=vimSyncKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
771 syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
772 syn match vimSyncGroup contained "\h\w*" skipwhite nextgroup=vimSynRegPat,vimSyncNone
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
773 syn keyword vimSyncNone contained NONE
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
774
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
775 " Additional IsCommand: here by reasons of precedence {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
776 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
777 syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
778
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
779 " Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
780 " ============
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
781 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,@vimComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
782 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
783 syn match vimHiCtermError contained "\D\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
784 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
785 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
786 syn match vimHiBang contained "\a\@1<=!" skipwhite nextgroup=@vimHighlightCluster
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
787
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
788 syn match vimHiGroup contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
789 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
790 syn keyword vimHiAttrib contained none bold inverse italic nocombine reverse standout strikethrough underline undercurl underdashed underdotted underdouble
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
791 syn keyword vimFgBgAttrib contained none bg background fg foreground
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
792 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
793 syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
794 syn match vimHiAttribList contained "\i\+,"he=e-1 contains=vimHiAttrib nextgroup=vimHiAttribList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
795 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
796 syn keyword vimHiCtermColor contained black blue brown cyan darkblue darkcyan darkgray darkgreen darkgrey darkmagenta darkred darkyellow gray green grey grey40 grey50 grey90 lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightred lightyellow magenta red seagreen white yellow
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
797 syn match vimHiCtermColor contained "\<color\d\{1,3}\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
798
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
799 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
800 syn match vimHiFontname contained "[a-zA-Z\-*]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
801 syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
802 syn match vimHiGuiRgb contained "#\x\{6}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
803
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
804 " Highlighting: hi group key=arg ... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
805 syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
806 syn region vimHiKeyList contained start="\i\+" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" excludenl end="$" contains=@vimContinue,@vimHiCluster
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
807 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
808 syn match vimHiKeyError contained "\i\+="he=e-1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
809 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
810 syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
811 syn match vimHiStartStop contained "\c\%(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
812 syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
813 syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
814 syn match vimHiCtermul contained "\cctermul="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
815 syn match vimHiCtermfont contained "\cctermfont="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
816 syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
817 syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
818 syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
819 syn match vimHiTermcap contained "\S\+" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
820 syn match vimHiNmbr contained '\d\+'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
821
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
822 " Highlight: clear {{{2
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
823 syn keyword vimHiClear contained clear skipwhite nextgroup=vimGroup,vimHiGroup
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
824
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
825 " Highlight: link {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
826 " see tst24 (hi def vs hi) (Jul 06, 2018)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
827 "syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
828 " TODO: simplify and allow line continuations --djk
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
829 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
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
830
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
831 " Control Characters: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
832 " ==================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
833 syn match vimCtrlChar "[- -]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
834
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
835 " Beginners - Patterns that involve ^ {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
836 " =========
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
837 if s:vim9script
35374
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
838 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
839 syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
840 else
35374
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
841 syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
842 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
843 endif
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
844 syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
845 syn match vim9CommentTitle '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup
35374
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
846
35420
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
847 " allowed anywhere in the file
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
848 if !s:vim9script
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
849 syn match vimShebangError "^\s*\zs#!.*" display
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
850 endif
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
851 syn match vimShebang "\%^#!.*" display
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
852
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
853 syn match vimContinue "^\s*\zs\\"
35374
b091ef9a0d32 runtime(vim): Update base-syntax, match multiline continued comments (#13936)
Christian Brabandt <cb@256bit.org>
parents: 35334
diff changeset
854 syn match vimContinueComment '^\s*\zs["#]\\ .*'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
855 syn cluster vimContinue contains=vimContinue,vimContinueComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
856 syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
857 syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
858 syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
859
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
860 " Searches And Globals: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
861 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
862 syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
863 syn match vimSearchDelim '^\s*\zs[/?]\|[/?]$' contained
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
864 syn region vimGlobal matchgroup=Statement start='\<g\%[lobal]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
865 syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' end='/' skipwhite nextgroup=vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
866
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
867 " Vim9 Script Regions: {{{2
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
868 " ==================
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
869
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
870 if s:vim9script
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
871 syn cluster vimLegacyTop contains=TOP,vim9LegacyHeader,vim9Comment,vim9LineComment
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
872 VimFoldH syn region vim9LegacyHeader start="\%^" end="^\ze\s*vim9s\%[cript]\>" contains=@vimLegacyTop,vimComment,vimLineComment
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
873
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
874 syn keyword vim9Vim9ScriptArg noclear contained
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
875 syn keyword vim9Vim9Script vim9s[cript] nextgroup=vim9Vim9ScriptArg skipwhite
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
876 endif
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
877
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
878 " Embedded Scripts: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
879 " ================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
880 " perl,ruby : Benoit Cerrina
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
881 " python,tcl : Johannes Zellner
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
882 " mzscheme, lua : Charles Campbell
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
883
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
884 " Allows users to specify the type of embedded script highlighting
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
885 " they want: (perl/python/ruby/tcl support)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
886 " g:vimsyn_embed == 0 : don't embed any scripts
35446
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
887 " g:vimsyn_embed =~# 'l' : embed Lua (but only if vim supports it)
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
888 " g:vimsyn_embed =~# 'm' : embed MzScheme (but only if vim supports it)
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
889 " g:vimsyn_embed =~# 'p' : embed Perl (but only if vim supports it)
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
890 " g:vimsyn_embed =~# 'P' : embed Python (but only if vim supports it)
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
891 " g:vimsyn_embed =~# 'r' : embed Ruby (but only if vim supports it)
9d1bc7b46c10 runtime(doc): Fix typos in several documents
Christian Brabandt <cb@256bit.org>
parents: 35420
diff changeset
892 " g:vimsyn_embed =~# 't' : embed Tcl (but only if vim supports it)
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
893 if !exists("g:vimsyn_embed")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
894 let g:vimsyn_embed= "lmpPr"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
895 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
896
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
897 " [-- lua --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
898 let s:luapath= fnameescape(expand("<sfile>:p:h")."/lua.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
899 if !filereadable(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
900 for s:luapath in split(globpath(&rtp,"syntax/lua.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
901 if filereadable(fnameescape(s:luapath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
902 let s:luapath= fnameescape(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
903 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
904 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
905 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
906 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
907 if (g:vimsyn_embed =~# 'l' && has("lua")) && filereadable(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
908 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
909 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
910 exe "syn include @vimLuaScript ".s:luapath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
911 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimLuaScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
912 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+ contains=@vimLuaScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
913 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
914 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
915 syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
916 syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
917 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
918 unlet s:luapath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
919
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
920 " [-- perl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
921 let s:perlpath= fnameescape(expand("<sfile>:p:h")."/perl.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
922 if !filereadable(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
923 for s:perlpath in split(globpath(&rtp,"syntax/perl.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
924 if filereadable(fnameescape(s:perlpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
925 let s:perlpath= fnameescape(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
926 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
927 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
928 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
929 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
930 if (g:vimsyn_embed =~# 'p' && has("perl")) && filereadable(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
931 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
932 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
933 exe "syn include @vimPerlScript ".s:perlpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
934 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(\S*\)\ze\(\s*["#].*\)\=$+ end=+^\z1\ze\(\s*[#"].*\)\=$+ contains=@vimPerlScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
935 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
936 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
937 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
938 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
939 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
940 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
941 unlet s:perlpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
942
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
943 " [-- ruby --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
944 let s:rubypath= fnameescape(expand("<sfile>:p:h")."/ruby.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
945 if !filereadable(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
946 for s:rubypath in split(globpath(&rtp,"syntax/ruby.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
947 if filereadable(fnameescape(s:rubypath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
948 let s:rubypath= fnameescape(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
949 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
950 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
951 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
952 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
953 if (g:vimsyn_embed =~# 'r' && has("ruby")) && filereadable(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
954 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
955 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
956 exe "syn include @vimRubyScript ".s:rubypath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
957 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimRubyScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
958 syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
959 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
960 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
961 syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
962 syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
963 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
964 unlet s:rubypath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
965
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
966 " [-- python --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
967 let s:pythonpath= fnameescape(expand("<sfile>:p:h")."/python.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
968 if !filereadable(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
969 for s:pythonpath in split(globpath(&rtp,"syntax/python.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
970 if filereadable(fnameescape(s:pythonpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
971 let s:pythonpath= fnameescape(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
972 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
973 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
974 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
975 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
976 if g:vimsyn_embed =~# 'P' && has("pythonx") && filereadable(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
977 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
978 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
979 exe "syn include @vimPythonScript ".s:pythonpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
980 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\%(trim\s*\)\=\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
981 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\%(trim\s*\)\=$+ end=+\.$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
982 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\%(trim\s*\)\=\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
983 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*\%(trim\s*\)\=$+ end=+\.$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
984 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
985 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
986 syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
987 syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
988 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
989 unlet s:pythonpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
990
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
991 " [-- tcl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
992 if has("win32") || has("win95") || has("win64") || has("win16")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
993 " apparently has("tcl") has been hanging vim on some windows systems with cygwin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
994 let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
995 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
996 let s:trytcl= 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
997 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
998 if s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
999 let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1000 if !filereadable(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1001 for s:tclpath in split(globpath(&rtp,"syntax/tcl.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1002 if filereadable(fnameescape(s:tclpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1003 let s:tclpath= fnameescape(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1004 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1005 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1006 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1007 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1008 if (g:vimsyn_embed =~# 't' && has("tcl")) && filereadable(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1009 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1010 syn cluster vimFuncBodyList add=vimTclRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1011 exe "syn include @vimTclScript ".s:tclpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1012 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1013 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1014 syn cluster vimFuncBodyList add=vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1015 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1016 syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1017 syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1018 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1019 unlet s:tclpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1020 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1021 syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1022 syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1023 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1024 unlet s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1025
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1026 " [-- mzscheme --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1027 let s:mzschemepath= fnameescape(expand("<sfile>:p:h")."/scheme.vim")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1028 if !filereadable(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1029 for s:mzschemepath in split(globpath(&rtp,"syntax/mzscheme.vim"),"\n")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1030 if filereadable(fnameescape(s:mzschemepath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1031 let s:mzschemepath= fnameescape(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1032 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1033 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1034 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1035 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1036 if (g:vimsyn_embed =~# 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1037 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1038 let s:iskKeep= &isk
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1039 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1040 exe "syn include @vimMzSchemeScript ".s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1041 let &isk= s:iskKeep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1042 unlet s:iskKeep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1043 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1044 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1045 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1046 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1047 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1048 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1049 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1050 unlet s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1051
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1052 " Synchronize (speed) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1053 "============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1054 if exists("g:vimsyn_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1055 exe "syn sync minlines=".g:vimsyn_minlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1056 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1057 exe "syn sync maxlines=".s:vimsyn_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1058 syn sync linecont "^\s\+\\"
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1059 syn sync linebreaks=1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1060 syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1061
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1062 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1063 " Highlighting Settings {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1064 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1065
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1066 if !exists("skip_vim_syntax_inits")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1067 if !exists("g:vimsyn_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1068 hi def link vimBehaveError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1069 hi def link vimCollClassErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1070 hi def link vimErrSetting vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1071 hi def link vimEmbedError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1072 hi def link vimFTError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1073 hi def link vimFunctionError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1074 hi def link vimFunc vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1075 hi def link vimHiAttribList vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1076 hi def link vimHiCtermError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1077 hi def link vimHiKeyError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1078 hi def link vimMapModErr vimError
35420
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
1079 hi def link vimShebangError vimError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1080 hi def link vimSubstFlagErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1081 hi def link vimSynCaseError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1082 hi def link vimSynFoldMethodError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1083 hi def link vimBufnrWarn vimWarn
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1084 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1085
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1086 hi def link vim9Vim9ScriptArg Special
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1087 hi def link vimAbb vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1088 hi def link vimAddress vimMark
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
1089 hi def link vimAugroupBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1090 hi def link vimAugroupError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1091 hi def link vimAugroupKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1092 hi def link vimAutoCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1093 hi def link vimAutoEvent Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1094 hi def link vimAutoCmdMod Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1095 hi def link vimBang vimOper
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
1096 hi def link vimBehaveBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1097 hi def link vimBehaveModel vimBehave
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1098 hi def link vimBehave vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1099 hi def link vimBracket Delimiter
35394
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
1100 hi def link vimCatch vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1101 hi def link vimCmplxRepeat SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1102 hi def link vimCommand Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1103 hi def link vimComment Comment
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
1104 hi def link vimCommentError vimError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1105 hi def link vim9Comment Comment
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
1106 hi def link vim9CommentError vimError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1107 hi def link vimCommentString vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1108 hi def link vimCommentTitle PreProc
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
1109 hi def link vim9CommentTitle PreProc
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1110 hi def link vimCondHL vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1111 hi def link vimConst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1112 hi def link vimContinue Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1113 hi def link vimContinueComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1114 hi def link vimCtrlChar SpecialChar
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
1115 hi def link vimDefComment vim9Comment
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1116 hi def link vimDefKey vimCommand
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1117 hi def link vimDefParam vimVar
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
1118 hi def link vimEcho vimCommand
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
1119 hi def link vimEchohlNone vimGroup
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
1120 hi def link vimEchohl vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1121 hi def link vimElseIfErr Error
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1122 hi def link vimEndfunction vimCommand
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1123 hi def link vimEnddef vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1124 hi def link vimEnvvar PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1125 hi def link vimError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1126 hi def link vimEscape Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1127 hi def link vimFBVar vimVar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1128 hi def link vimFgBgAttrib vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1129 hi def link vimFuncEcho vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1130 hi def link vimFor vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1131 hi def link vimFTCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1132 hi def link vimFTOption vimSynType
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1133 hi def link vimFuncBang vimBang
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1134 hi def link vimFuncComment vimComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1135 hi def link vimFuncKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1136 hi def link vimFuncName Function
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1137 hi def link vimFuncMod Special
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1138 hi def link vimFuncParam vimVar
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
1139 hi def link vimFuncParamEquals vimOper
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1140 hi def link vimFuncSID Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1141 hi def link vimFuncVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1142 hi def link vimGroupAdd vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1143 hi def link vimGroupName vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1144 hi def link vimGroupRem vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1145 hi def link vimGroupSpecial Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1146 hi def link vimGroup Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1147 hi def link vimHiAttrib PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1148 hi def link vimHiBang vimBang
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1149 hi def link vimHiClear Type
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1150 hi def link vimHiCtermColor Constant
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1151 hi def link vimHiCtermFgBg vimHiTerm
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1152 hi def link vimHiCtermfont vimHiTerm
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1153 hi def link vimHiCtermul vimHiTerm
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1154 hi def link vimHiCTerm vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1155 hi def link vimHighlight vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1156 hi def link vimHiGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1157 hi def link vimHiGuiFgBg vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1158 hi def link vimHiGuiFont vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1159 hi def link vimHiGuiRgb vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1160 hi def link vimHiGui vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1161 hi def link vimHiNmbr Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1162 hi def link vimHiStartStop vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1163 hi def link vimHiTerm Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1164 hi def link vimHLGroup vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1165 hi def link vimInsert vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1166 hi def link vimIskSep Delimiter
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
1167 hi def link vim9KeymapLineComment vimKeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1168 hi def link vimKeymapLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1169 hi def link vimKeymapTailComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1170 hi def link vimLet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1171 hi def link vimLetHereDoc vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1172 hi def link vimLetHereDocStart Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1173 hi def link vimLetHereDocStop Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1174 hi def link vimLetRegister Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1175 hi def link vimLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1176 hi def link vim9LineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1177 hi def link vimMapBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1178 hi def link vimMapModKey vimFuncSID
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1179 hi def link vimMapMod vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1180 hi def link vimMap vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1181 hi def link vimMark Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1182 hi def link vimMarkNumber vimNumber
35581
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
1183 hi def link vimMatch vimCommand
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
1184 hi def link vimMatchGroup vimGroup
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
1185 hi def link vimMatchNone vimGroup
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1186 hi def link vimMenuBang vimBang
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1187 hi def link vimMenuClear Special
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1188 hi def link vimMenuMod vimMapMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1189 hi def link vimMenuName PreProc
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1190 hi def link vimMenu vimCommand
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1191 hi def link vimMenuNotation vimNotation
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1192 hi def link vimMenuPriority Number
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1193 hi def link vimMenuStatus Special
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
1194 hi def link vimMenutranslateComment vimComment
34701
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
1195 hi def link vimMethodName vimFuncName
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1196 hi def link vimMtchComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1197 hi def link vimNorm vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1198 hi def link vimNotation Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1199 hi def link vimNotFunc vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1200 hi def link vimNotPatSep vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1201 hi def link vimNumber Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1202 hi def link vimOperError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1203 hi def link vimOper Operator
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1204 hi def link vimOption PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1205 hi def link vimParenSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1206 hi def link vimPatSepErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1207 hi def link vimPatSepR vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1208 hi def link vimPatSep SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1209 hi def link vimPatSepZone vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1210 hi def link vimPatSepZ vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1211 hi def link vimPattern Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1212 hi def link vimPlainMark vimMark
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1213 hi def link vimPlainRegister vimRegister
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1214 hi def link vimRegister SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1215 hi def link vimScriptDelim Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1216 hi def link vimSearchDelim Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1217 hi def link vimSearch vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1218 hi def link vimSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1219 hi def link vimSetMod vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1220 hi def link vimSetSep Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1221 hi def link vimSetString vimString
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1222 hi def link vim9Vim9Script vimCommand
35420
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
1223 hi def link vimShebang PreProc
35408
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1224 hi def link vimSleep vimCommand
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1225 hi def link vimSleepArg Constant
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1226 hi def link vimSleepBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1227 hi def link vimSpecFile Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1228 hi def link vimSpecFileMod vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1229 hi def link vimSpecial Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1230 hi def link vimStringCont vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1231 hi def link vimString String
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1232 hi def link vimStringEnd vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1233 hi def link vimStringInterpolationBrace vimEscape
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1234 hi def link vimSubst1 vimSubst
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1235 hi def link vimSubstDelim Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1236 hi def link vimSubstFlags Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1237 hi def link vimSubstSubstr SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1238 hi def link vimSubstTwoBS vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1239 hi def link vimSubst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1240 hi def link vimSynCaseError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1241 hi def link vimSynCase Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1242 hi def link vimSyncC Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1243 hi def link vimSyncError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1244 hi def link vimSyncGroupName vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1245 hi def link vimSyncGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1246 hi def link vimSyncKey Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1247 hi def link vimSyncNone Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1248 hi def link vimSynContains vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1249 hi def link vimSynError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1250 hi def link vimSynFoldMethodError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1251 hi def link vimSynFoldMethod Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1252 hi def link vimSynKeyContainedin vimSynContains
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1253 hi def link vimSynKeyOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1254 hi def link vimSynCchar vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1255 hi def link vimSynCcharValue Character
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1256 hi def link vimSynMtchGrp vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1257 hi def link vimSynMtchOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1258 hi def link vimSynNextgroup vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1259 hi def link vimSynNotPatRange vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1260 hi def link vimSynOption Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1261 hi def link vimSynPatRange vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1262 hi def link vimSynRegOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1263 hi def link vimSynRegPat vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1264 hi def link vimSynReg Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1265 hi def link vimSyntax vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1266 hi def link vimSynType vimSpecial
35394
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
1267 hi def link vimThrow vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1268 hi def link vimTodo Todo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1269 hi def link vimType Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1270 hi def link vimUnlet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1271 hi def link vimUnletBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1272 hi def link vimUnmap vimMap
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1273 hi def link vimUserAttrbCmpltFunc Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1274 hi def link vimUserAttrbCmplt vimSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1275 hi def link vimUserAttrbKey vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1276 hi def link vimUserAttrb vimSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1277 hi def link vimUserAttrbError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1278 hi def link vimUserCmdError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1279 hi def link vimUserCommand vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1280 hi def link vimUserFunc Normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1281 hi def link vimVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1282 hi def link vimWarn WarningMsg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1283 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1284
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1285 " Current Syntax Variable: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1286 let b:current_syntax = "vim"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1287
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1288 " ---------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1289 " Cleanup: {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1290 delc VimFolda
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1291 delc VimFoldf
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1292 delc VimFoldh
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1293 delc VimFoldH
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1294 delc VimFoldl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1295 delc VimFoldm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1296 delc VimFoldp
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1297 delc VimFoldP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1298 delc VimFoldr
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1299 delc VimFoldt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1300 let &cpo = s:keepcpo
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
1301 unlet s:keepcpo s:vim9script
34513
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
1302 " vim:ts=18 fdm=marker ft=vim