annotate runtime/syntax/generator/vim.vim.base @ 36083:5f02ee300d0d

runtime(vim): Update syntax, improve user-command matching Commit: https://github.com/vim/vim/commit/3c07eb0c6730c258c6955ce8458cf911245c1617 Author: Doug Kearns <dougkearns@gmail.com> Date: Mon Sep 2 10:03:37 2024 +0200 runtime(vim): Update syntax, improve user-command matching - Match -addr and -keepscript attributes and generate -addr values. - Match attribute errors where = is specified. - Highlight attributes with Special like other Ex command options. - Don't highlight user-specified completion function args. - Match :delcommand -buffer attribute. closes: #15586 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 02 Sep 2024 10:15:04 +0200
parents 0b68aa6b2fe9
children fc89268e5d0d
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>
36068
0b68aa6b2fe9 runtime(vim): Update base-syntax, match bracket mark ranges
Christian Brabandt <cb@256bit.org>
parents: 36032
diff changeset
5 " Last Change: 2024 Aug 30
34375
02bd0fe77c68 runtime(misc): announce adoption of various runtime files
Christian Brabandt <cb@256bit.org>
parents: 34374
diff changeset
6 " Former Maintainer: Charles E. Campbell
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 " DO NOT CHANGE DIRECTLY.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 " (Search string "GEN_SYN_VIM:" in this file)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 " Automatically generated keyword lists: {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 " Quit when a syntax file was already loaded {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 if exists("b:current_syntax")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 finish
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 let s:keepcpo= &cpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 set cpo&vim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
21 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
22
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 " vimTodo: contains common special-notices for comments {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 " Use the vimCommentGroup cluster to add your own.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 syn keyword vimTodo contained COMBAK FIXME TODO XXX
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 syn cluster vimCommentGroup contains=vimTodo,@Spell
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 " regular vim commands {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 " 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
30
34374
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
31 " 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
32 syn match vimCommand contained "\<new\>(\@!"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 syn match vimCommand contained "\<z[-+^.=]\=\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 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
35
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 " vimOptions are caught only when contained in a vimSet {{{2
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
37 " GEN_SYN_VIM: vimOption normal, START_STR='syn keyword vimOption contained', END_STR='skipwhite nextgroup=vimSetEqual,vimSetMod'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 " vimOptions: These are the turn-off setting variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 " 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
41
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 " vimOptions: These are the invertible variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 " 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
44
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 " termcap codes (which can also be set) {{{2
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
46 " GEN_SYN_VIM: vimOption term output code, START_STR='syn keyword vimOption contained', END_STR='skipwhite nextgroup=vimSetEqual,vimSetMod'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 " term key codes
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 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
49 syn match vimOption contained "t_%1"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 syn match vimOption contained "t_#2"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 syn match vimOption contained "t_#4"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 syn match vimOption contained "t_@7"
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_&8"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 syn match vimOption contained "t_%i"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 syn match vimOption contained "t_k;"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 " 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
59 " 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
60
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
61 " AutoCmd Events {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
62 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
63 " 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
64
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65 " Highlight commonly used Groupnames {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 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
67
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68 " Default highlighting groups {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69 " 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
70 syn match vimHLGroup contained "\<Conceal\>"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73 " Function Names {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74 " 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
75
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 "--- syntax here and above generated by mkvimvim ---
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 " Special Vim Highlighting (not automatic) {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
79 " Set up commands for this syntax highlighting file {{{2
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
80
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
81 com! -nargs=* Vim9 execute <q-args> s:vim9script ? "" : "contained"
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
82 com! -nargs=* VimL execute <q-args> s:vim9script ? "contained" : ""
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
83
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
84 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
85 if g:vimsyn_folding =~# 'a'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 com! -nargs=* VimFolda <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 if g:vimsyn_folding =~# 'f'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91 com! -nargs=* VimFoldf <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 if g:vimsyn_folding =~# 'h'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 com! -nargs=* VimFoldh <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 com! -nargs=* VimFoldh <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99 endif
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
100 if g:vimsyn_folding =~# 'H'
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
101 com! -nargs=* VimFoldH <args> fold
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
102 else
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
103 com! -nargs=* VimFoldH <args>
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
104 endif
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 if g:vimsyn_folding =~# 'l'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 com! -nargs=* VimFoldl <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 if g:vimsyn_folding =~# 'm'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 com! -nargs=* VimFoldm <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 if g:vimsyn_folding =~# 'p'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116 com! -nargs=* VimFoldp <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 if g:vimsyn_folding =~# 'P'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 com! -nargs=* VimFoldP <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
125 if g:vimsyn_folding =~# 'r'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 com! -nargs=* VimFoldr <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 if g:vimsyn_folding =~# 't'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 com! -nargs=* VimFoldt <args> fold
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=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
136 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 com! -nargs=* VimFoldh <args>
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
139 com! -nargs=* VimFoldH <args>
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
141 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 com! -nargs=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
146 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
147
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 " Deprecated variable options {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
149 if exists("g:vim_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
150 let g:vimsyn_minlines= g:vim_minlines
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:vim_maxlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153 let g:vimsyn_maxlines= g:vim_maxlines
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 if exists("g:vimsyntax_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156 let g:vimsyn_noerror= g:vimsyntax_noerror
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 " Variable options {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160 if exists("g:vim_maxlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
161 let s:vimsyn_maxlines= g:vim_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163 let s:vimsyn_maxlines= 60
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
165
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
166 " Nulls {{{2
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
167 " =====
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
168 Vim9 syn keyword vim9Null null null_blob null_channel null_class null_dict null_function null_job null_list null_object null_partial null_string
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
169
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
170 " Booleans {{{2
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
171 " ========
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
172 Vim9 syn keyword vim9Boolean true false
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
173
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 " Numbers {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175 " =======
34531
0591aba1489d runtime(vim): Update base-syntax, improve number matching (#14175)
Christian Brabandt <cb@256bit.org>
parents: 34513
diff changeset
176 syn case ignore
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
177 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
178 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
179 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
180 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
181 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
182 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
183 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
184 syn case match
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
185
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186 " All vimCommands are contained by vimIsCommand. {{{2
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
187 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimCall,vimCatch,vimConst,vimDef,vimDelcommand,@vimEcho,vimEnddef,vimEndfunction,vimExecute,vimIsCommand,vimExtCmd,vimFor,vimFunction,vimGlobal,vimHighlight,vimLet,vimLoadkeymap,vimMap,vimMark,vimMatch,vimNotFunc,vimNorm,vimSet,vimSleep,vimSyntax,vimThrow,vimUnlet,vimUnmap,vimUserCmd,vimMenu,vimMenutranslate,@vim9CmdList
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
188 syn cluster vim9CmdList contains=vim9Const,vim9Final,vim9For,vim9Var
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
189 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190 syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
191 syn match vimBang contained "!"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
192 syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
193 syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
194 syn match vimVar "\s\zs&\%([lg]:\)\=\a\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
195 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
196 syn match vimVar "\s\zs&t_k;"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
197 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
198 syn keyword vimCommand contained in
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
199
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
200 syn cluster vimExprList contains=vimEnvvar,vimFunc,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar,@vim9ExprList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
201 syn cluster vim9ExprList contains=vim9Boolean,vim9Null
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
202
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
203 " Insertions And Appends: insert append {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
204 " (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
205 " =======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
206 if &buftype != 'nofile'
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
207 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
208 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
209 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
210 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
211
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
212 " Behave! {{{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 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
215 syn match vimBehaveError contained "[^ ]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
216 endif
34354
c99a9fe0886d runtime(vim): Update base-syntax, fix :behave highlighting
Christian Brabandt <cb@256bit.org>
parents: 34353
diff changeset
217 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
218 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
219 syn keyword vimBehaveModel contained mswin xterm
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220
35745
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
221 " Call {{{2
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
222 " ====
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
223 syn match vimCall "\<call\=\>" skipwhite nextgroup=vimFunc
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
224
35394
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
225 " Exception Handling {{{2
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
226 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
227 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
228 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
229
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 " Filetypes {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
232 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
233 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimFTError")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
234 syn match vimFTError contained "\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
235 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
236 syn keyword vimFTCmd contained filet[ype]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237 syn keyword vimFTOption contained detect indent off on plugin
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 " 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
240 " ======= : 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
241 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
242 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
243 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
244 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
245 else
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
246 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
247 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 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
249 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
250 endif
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
251
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
252 syn match vimAutoCmdGroup contained "\S\+"
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
253 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
254 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
255 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
256
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
257 " Operators: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258 " =========
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
259 syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,@vimContinue,vim9Comment,vimVar,vimBoolean,vimNull
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
260 syn match vimOper "||\|&&\|[-+*/%.!]" skipwhite nextgroup=vimString,vimSpecFile
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
261 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
262 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
263 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
264 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
265 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
266 syn match vimOperError ")"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
267 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
268
34935
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
269 " 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
270 " =========
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
271 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
272 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
273
e8ddbfaf0c85 runtime(vim): Update base-syntax, fix nested function folding (#14397)
Christian Brabandt <cb@256bit.org>
parents: 34914
diff changeset
274 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
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
275 syn cluster vimFuncBodyList contains=@vimFuncBodyCommon,vimComment,vimLineComment,vimFuncVar,vimInsert,vimConst,vimLet
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
276 syn cluster vimDefBodyList contains=@vimFuncBodyCommon,vim9Comment,vim9LineComment,vim9Const,vim9Final,vim9Var,vim9Null,vim9Boolean,vim9For
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
277
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
278 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
279 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
280 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
281
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
282 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
283 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
284 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
285
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
286 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
287 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
288
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
289 syn match vimFuncBang contained "!"
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
290 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
291 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
292 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
293 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
294 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
295
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
296 syn region vimFuncParams contained matchgroup=Delimiter start="(" skip=+\n\s*\\\|\n\s*"\\ + end=")" skipwhite skipnl nextgroup=vimFuncBody,vimFuncComment,vimEndfunction,vimFuncMod,vim9CommentError contains=vimFuncParam,@vimContinue
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
297 syn region vimDefParams contained matchgroup=Delimiter start="(" end=")" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimReturnType,vimCommentError contains=vimDefParam,vim9Comment,vimFuncParamEquals
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
298 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
299 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
300
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
301 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
302 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
303
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
304 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
305 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
306
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
307 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
308 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
309
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
310 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
311 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
312 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
313 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
314 endif
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
315
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
316 syn match vimFuncVar contained "a:\%(\K\k*\|\d\+\)\>"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317 syn match vimFuncBlank contained "\s\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
319 " Types: {{{2
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
320 " =====
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
321
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
322 syn region vimReturnType contained start=":\s" end="$" matchgroup=vim9Comment end="\ze[#"]" skipwhite skipnl nextgroup=vimDefBody,vimDefComment,vimEnddef,vimCommentError contains=vimTypeSep transparent
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
323 syn match vimParamType contained ":\s" skipwhite skipnl nextgroup=@vimType contains=vimTypeSep
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
324
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
325 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
326 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
327 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
328 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
329 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
330 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
331
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
332 syn cluster vimType contains=vimType,vimCompoundType,vimUserType
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
334 " Keymaps: {{{2
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
335 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
336
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
337 syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,@vimKeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
338 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
339 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
340 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
341
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
342 " 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
343 if s:vim9script
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
344 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
345 else
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
346 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
347 endif
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
348 syn cluster vimKeymapLineComment contains=vim9\=KeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
349
36032
2964adcfe42b runtime(vim): Update base-syntax, match :loadkeymap after colon and bar
Christian Brabandt <cb@256bit.org>
parents: 36025
diff changeset
350 syn region vimLoadkeymap matchgroup=vimCommand start="\<loadk\%[eymap]\>" end="\%$" contains=vimKeymapStart
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
351
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
352 " Special Filenames, Modifiers, Extension Removal: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
353 " ===============================================
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
354 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
355 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
356 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
357 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
358 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
359 syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
360 syn match vimSpecFileMod "\(:[phtre]\)\+" contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
361
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
362 " User-Specified Commands: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
363 " =======================
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
364 syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,@vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
365 syn keyword vimUserCmdKey contained com[mand]
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
366 syn match vimUserCmdName contained "\<\u[[:alnum:]]*\>" skipwhite nextgroup=vimUserCmdBlock
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
367 syn match vimUserCmd "\<com\%[mand]\>!\=.*$" contains=vimUserCmdKey,vimBang,vimUserCmdAttr,vimUserCmdAttrError,vimUserCmdName,@vimUserCmdList,vimComFilter
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
368 syn match vimUserCmdAttrError contained "-\a\+\ze\%(\s\|=\)"
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
369 syn match vimUserCmdAttr contained "-addr=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrAddr
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
370 syn match vimUserCmdAttr contained "-bang\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
371 syn match vimUserCmdAttr contained "-bar\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
372 syn match vimUserCmdAttr contained "-buffer\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
373 syn match vimUserCmdAttr contained "-complete=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrCmplt,vimUserCmdError
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
374 syn match vimUserCmdAttr contained "-count\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
375 syn match vimUserCmdAttr contained "-count=" contains=vimUserCmdAttrKey nextgroup=vimNumber
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
376 syn match vimUserCmdAttr contained "-keepscript\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
377 syn match vimUserCmdAttr contained "-nargs=" contains=vimUserCmdAttrKey nextgroup=vimUserCmdAttrNargs
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
378 syn match vimUserCmdAttr contained "-range\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
379 syn match vimUserCmdAttr contained "-range=" contains=vimUserCmdAttrKey nextgroup=vimNumber,vimUserCmdAttrRange
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
380 syn match vimUserCmdAttr contained "-register\>" contains=vimUserCmdAttrKey
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
381
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
382 syn match vimUserCmdAttrNargs contained "[01*?+]"
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
383 syn match vimUserCmdAttrRange contained "%"
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
384
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
385 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
386 syn match vimUserCmdError contained "\S\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
387 endif
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
388
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
389 syn case ignore
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
390 syn keyword vimUserCmdAttrKey contained a[ddr] ban[g] bar bu[ffer] com[plete] cou[nt] k[eepscript] n[args] ra[nge] re[gister]
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
391 " GEN_SYN_VIM: vimUserCmdAttrCmplt, START_STR='syn keyword vimUserCmdAttrCmplt contained', END_STR=''
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
392 syn keyword vimUserCmdAttrCmplt contained custom customlist nextgroup=vimUserCmdAttrCmpltFunc,vimUserCmdError
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
393 syn match vimUserCmdAttrCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
394 " GEN_SYN_VIM: vimUserCmdAttrAddr, START_STR='syn keyword vimUserCmdAttrAddr contained', END_STR=''
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
395 syn match vimUserCmdAttrAddr contained "?"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
396 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
397
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
398 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
399
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
400 syn match vimDelcommand "\<delc\%[ommand]\>" skipwhite nextgroup=vimDelcommandAttr
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
401 syn match vimDelcommandAttr contained "-buffer\>"
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
402
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
403 " Lower Priority Comments: after some vim commands... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
404 " =======================
35378
105d15aef7dd runtime(vim): Update base-syntax, configurable comment string highlighting (#14931)
Christian Brabandt <cb@256bit.org>
parents: 35374
diff changeset
405 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
406 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
407 endif
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
408
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
409 if s:vim9script
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
410 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
411 else
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
412 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
413 endif
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
414
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
415 VimL syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
416 VimL syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
417 VimL syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
418 " Vim9 comments - TODO: might be highlighted while they don't work
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
419 Vim9 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
420 Vim9 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
421 Vim9 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
422 " Vim9 comment inside expression
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
423 Vim9 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString contained
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
424 Vim9 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString contained
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
425 Vim9 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString contained
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
426
35495
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
427 syn match vim9CommentError contained "#.*"
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
428 syn match vimCommentError contained +".*+
c13c25901a26 runtime(vim): Update base-syntax, fix function tail comments
Christian Brabandt <cb@256bit.org>
parents: 35446
diff changeset
429
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
430 " Environment Variables: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
431 " =====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
432 syn match vimEnvvar "\$\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
433 syn match vimEnvvar "\${\I\i*}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
434
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
435 " In-String Specials: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
436 " 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
437 " vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
438 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
439 syn match vimPatSepErr contained "\\)"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
440 syn match vimPatSep contained "\\|"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
441 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
442 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
443 syn match vimNotPatSep contained "\\\\"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
444 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
445 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
446 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
447 "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
448 syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
449 syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
450 syn match vimEscape contained "\\."
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
451 " syn match vimEscape contained +\\[befnrt\"]+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
452 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
453 syn match vimEscape contained "\\<" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
454 syn match vimEscape contained "\\<\*[^>]*>\=>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
455
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
456 syn region vimString oneline start=+$'+ skip=+''+ end=+'+ contains=@vimStringInterpolation
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
457 syn region vimString oneline start=+$"+ end=+"+ contains=@vimStringGroup,@vimStringInterpolation
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
458 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
459 syn match vimStringInterpolationBrace contained "{{"
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
460 syn match vimStringInterpolationBrace contained "}}"
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
461 syn cluster vimStringInterpolation contains=vimStringInterpolationExpr,vimStringInterpolationBrace
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
462
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
463 " Substitutions: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
464 " =============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
465 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
466 syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
467 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
468 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
469 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
470 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
471 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
472 " 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
473 " : # 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
474 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
475 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
476 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
477 syn match vimCollClassErr contained "\[:.\{-\}:\]"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
478 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
479 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
480 syn match vimSubstTwoBS contained "\\\\"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
481 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
482 syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
483
35334
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
484 " Vi compatibility
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
485 syn match vimSubstDelim contained "\\"
f9613d63108f runtime(vim): Update base-syntax, allow whitespace before :substitute pattern
Christian Brabandt <cb@256bit.org>
parents: 35283
diff changeset
486 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
487
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
488 " 'String': {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
489 syn match vimString "[^(,]'[^']\{-}\zs'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
490
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
491 " 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
492 syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
36068
0b68aa6b2fe9 runtime(vim): Update base-syntax, match bracket mark ranges
Christian Brabandt <cb@256bit.org>
parents: 36032
diff changeset
493 syn match vimMark "'[[\]{}()<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
0b68aa6b2fe9 runtime(vim): Update base-syntax, match bracket mark ranges
Christian Brabandt <cb@256bit.org>
parents: 36032
diff changeset
494 syn match vimMark ",\zs'[[\]{}()<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
495 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
496 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
497 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
498 syn match vimPlainMark contained "'[a-zA-Z0-9]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
499 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
500
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
501 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
502 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
503 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
504 syn match vimRegister '@"'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
505 syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
506 syn match vimLetRegister contained '@["0-9\-a-zA-Z#=*+_/]'
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 syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
509 syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
510
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
511 syn match vimFilter "^!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
512 syn match vimFilter contained "!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
513 syn match vimComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
514
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515 " Complex Repeats: (:h complex-repeat) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
516 " ===============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
517 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
518 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
519
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
520 " Set command and associated set-options (vimOptions) with comment {{{2
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
521 syn match vimSet "\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skipwhite nextgroup=vimSetBang,vimSetRegion
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
522 syn region vimSetRegion contained start="\S" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*["#]\\ + matchgroup=vimCmdSep end="|" end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=@vimComment,@vimContinue,vimErrSetting,vimOption,vimSetAll,vimSetTermcap
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
523 syn region vimSetEqual contained matchgroup=vimOper start="[=:]\|[-+^]=" skip=+\\\\\|\\|\|\\\s\|\n\s*\\\|\n\s*["#]\\ \|^\s*\\\|^\s*["#]\\ + matchgroup=vimCmdSep end="|" end="\ze\s" end="$" contains=@vimContinue,vimCtrlChar,vimEnvvar,vimNotation,vimSetSep
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
524 syn match vimSetBang contained "\a\@1<=!" skipwhite nextgroup=vimSetAll,vimSetTermcap
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
525 syn keyword vimSetAll contained all nextgroup=vimSetMod
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
526 syn keyword vimSetTermcap contained termcap
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
527 syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
528 syn match vimSetSep contained "[,:]"
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
529 syn match vimSetMod contained "\a\@1<=\%(&vim\=\|[!&?<]\)"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
530
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
531 " Variable Declarations: {{{2
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
532 " =====================
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
533 VimL syn keyword vimLet let skipwhite nextgroup=vimVar,vimFuncVar,vimLetRegister,vimVarList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
534 VimL syn keyword vimConst cons[t] skipwhite nextgroup=vimVar,vimVarList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
535 syn region vimVarList contained start="\[" end="]" contains=vimVar,@vimContinue
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
536
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
537 VimL syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
538 syn match vimUnletBang contained "!" skipwhite nextgroup=vimUnletVars
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
539 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
540
36025
d02e26727718 runtime(vim): Update base-syntax, improve :let-heredoc highlighting
Christian Brabandt <cb@256bit.org>
parents: 36022
diff changeset
541 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='\%(^\z(\s*\)\S.*\)\@<==<<\s*trim\%(\s\+\)\@>\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\z1\=\z2$' extend
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
542 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\%(\s*\)\@>\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\z1$' extend
36025
d02e26727718 runtime(vim): Update base-syntax, improve :let-heredoc highlighting
Christian Brabandt <cb@256bit.org>
parents: 36022
diff changeset
543 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='\%(^\z(\s*\)\S.*\)\@<==<<\s*\%(trim\s\+eval\|eval\s\+trim\)\%(\s\+\)\@>\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\z1\=\z2$' contains=@vimStringInterpolation extend
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
544 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s*eval\%(\s\+\)\@>\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\z1$' contains=@vimStringInterpolation extend
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
545
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
546 Vim9 syn keyword vim9Const const skipwhite nextgroup=vim9Variable,vim9VariableList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
547 Vim9 syn keyword vim9Final final skipwhite nextgroup=vim9Variable,vim9VariableList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
548 Vim9 syn keyword vim9Var var skipwhite nextgroup=vim9Variable,vim9VariableList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
549
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
550 syn match vim9Variable contained "\<\h\w*\>" skipwhite nextgroup=vimTypeSep,vimLetHereDoc
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
551 syn region vim9VariableList contained start="\[" end="]" contains=vim9Variable,@vimContinue
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
552
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
553 " For: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
554 " ===
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
555 if s:vim9script
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
556 syn keyword vim9For for skipwhite nextgroup=vim9Variable,vim9VariableList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
557 else
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
558 syn keyword vimFor for skipwhite nextgroup=vimVar,vimVarList
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
559 endif
34617
624afe810083 runtime(vim): Update base-syntax, remove old unused syntax groups. (#14146)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
560
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
561 " Abbreviations: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
562 " =============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
563 " 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
564 " 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
565
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
566 " Autocmd: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
567 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
568 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
569 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
570 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
571 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
572 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
573 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
574
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
575 " Echo And Execute: -- prefer strings! {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
576 " ================
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
577 " NOTE: No trailing comments
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
578
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
579 syn region vimEcho
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
580 \ matchgroup=vimCommand
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
581 \ start="\<ec\%[ho]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
582 \ start="\<echoe\%[rr]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
583 \ start="\<echom\%[sg]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
584 \ start="\<echoc\%[onsole]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
585 \ start="\<echon\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
586 \ start="\<echow\%[indow]\>"
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
587 \ 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
588 \ 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
589
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
590 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
591 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
592 syn keyword vimEchohlNone contained none
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
593 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
594
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34590
diff changeset
595 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
596
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34531
diff changeset
597 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
598
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
599 " Maps: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
600 " ====
35745
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
601 " GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
602 syn match vimMap "\<map\>" skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
603 syn keyword vimMap no[remap] 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
604 " GEN_SYN_VIM: vimCommand mapclear, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod'
35745
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
605 syn keyword vimMap mapc[lear] skipwhite nextgroup=vimMapBang,vimMapMod
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
606 " GEN_SYN_VIM: vimCommand unmap, START_STR='syn keyword vimUnmap', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
607 syn keyword vimUnmap unm[ap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
608
34513
97fc56ee7ca7 runtime(vim): Update base-syntax, improve :map highlighting (#14141)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
609 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
610 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
611 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
612 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
613 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
614 " 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
615 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
616 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
617 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
618 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
619
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
620 " Menus: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
621 " =====
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
622 " NOTE: tail comments disallowed
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
623 " 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
624 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
625 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
626 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
627 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
628 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
629 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
630 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
631 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
632 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
633 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
634
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
635 syn region vimMenutranslate
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
636 \ 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
637 \ 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
638 \ 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
639 \ 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
640 " 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
641 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
642 syn match vimMenutranslateComment +".*+ contained containedin=vimMenutranslate
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
643
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
644 " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
645 " ======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
646 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
647 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
648
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
649 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
650 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
651 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
652 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
653 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
654 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
655 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
656
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
657 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
658 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
659 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
660 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
661 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
662 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
663
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
664 syn match vimBracket contained "[\\<>]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
665 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
666
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
667 " User Function Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
668 " (following Gautam Iyer's suggestion)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
669 " ==========================
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
670 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
671 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
672 syn keyword vimFuncEcho contained ec ech echo
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
673
35745
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
674 syn match vimMap "\<map\%(\s\+(\)\@=" skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
675
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
676 " User Command Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
677 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
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 " Errors And Warnings: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
680 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
681 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
682 " 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
683 " 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
684 " definitions.
de9d4e6b03d0 runtime(vim): Distinguish Vim9 builtin object methods from namesake builtin functions (#14348)
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
685 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
686 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
687 syn match vimElseIfErr "\<else\s\+if\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
688 syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
689 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
690
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
691 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
692
35581
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
693 " Match: {{{2
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
694 " =====
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
695 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
696 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
697 syn case ignore
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
698 syn keyword vimMatchNone contained none
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
699 syn case match
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
700 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
701
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
702 " Norm: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
703 " ====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
704 syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
705 syn match vimNormCmds contained ".*$"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
706
35408
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
707 " Sleep: {{{2
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
708 " =====
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
709 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
710 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
711 syn match vimSleepArg contained "\<\%(\d\+\)\=m\=\>"
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
712
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
713 " Syntax: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
714 "=======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
715 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
716 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
717 syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
718
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
719 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
720 syn match vimSynError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
721 syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
722 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
723 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
724 syn match vimSynKeyContainedin contained "\<containedin=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
725 syn match vimSynNextgroup contained "\<nextgroup=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
726 if has("conceal")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
727 " no whitespace allowed after '='
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
728 syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
729 syn match vimSynCcharValue contained "\S"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
730 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
731
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
732 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
733 syn cluster vimFuncBodyList add=vimSyntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
734
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
735 " Syntax: case {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
736 syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
737 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
738 syn match vimSynCaseError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
739 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
740 syn keyword vimSynCase contained ignore match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
741
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
742 " Syntax: clear {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
743 syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
744
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
745 " Syntax: cluster {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
746 syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
747 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
748 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
749 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
750
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
751 " Syntax: foldlevel {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
752 syn keyword vimSynType contained foldlevel skipwhite nextgroup=vimSynFoldMethod,vimSynFoldMethodError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
753 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynfoldmethoderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
754 syn match vimSynFoldMethodError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
755 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
756 syn keyword vimSynFoldMethod contained start minimum
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: iskeyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
759 syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimIskList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
760 syn match vimIskList contained '\S\+' contains=vimIskSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
761 syn match vimIskSep contained ','
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
762
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
763 " Syntax: include {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
764 syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
765
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
766 " Syntax: keyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
767 syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
768 syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
769 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
770 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
771
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
772 " Syntax: match {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
773 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
774 syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
775 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
776 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
777
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
778 " Syntax: off and on {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
779 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
780
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
781 " Syntax: region {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
782 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
783 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
784 syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
785 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
786 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
787 syn match vimSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
788 syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
789 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
790 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
791 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
792 syn match vimSynPatMod contained "lc=\d\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
793 syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
794 syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
795 syn match vimSynNotPatRange contained "\\\\\|\\\["
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
796 syn match vimMtchComment contained '"[^"]\+$'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
797
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
798 " Syntax: sync {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
799 " ============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
800 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
801 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
802 syn match vimSyncError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
803 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
804 syn keyword vimSyncC contained ccomment clear fromstart
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
805 syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
806 syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
807 syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
808 syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
809 syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
810 syn match vimSyncGroupName contained "\h\w*" skipwhite nextgroup=vimSyncKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
811 syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
812 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
813 syn keyword vimSyncNone contained NONE
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
814
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
815 " Additional IsCommand: here by reasons of precedence {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
816 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
817 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
818
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
819 " Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
820 " ============
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
821 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,@vimComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
822 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
823 syn match vimHiCtermError contained "\D\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
824 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
825 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
826 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
827
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
828 syn match vimHiGroup contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
829 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
830 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
831 syn keyword vimFgBgAttrib contained none bg background fg foreground
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
832 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
833 syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
834 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
835 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
836 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
837 syn match vimHiCtermColor contained "\<color\d\{1,3}\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
838
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
839 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
840 syn match vimHiFontname contained "[a-zA-Z\-*]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
841 syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
842 syn match vimHiGuiRgb contained "#\x\{6}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
843
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
844 " Highlighting: hi group key=arg ... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
845 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
846 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
847 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
848 syn match vimHiKeyError contained "\i\+="he=e-1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
849 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
850 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
851 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
852 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
853 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
854 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
855 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
856 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
857 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
858 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
859 syn match vimHiTermcap contained "\S\+" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
860 syn match vimHiNmbr contained '\d\+'
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 " Highlight: clear {{{2
34580
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
863 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
864
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
865 " Highlight: link {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
866 " see tst24 (hi def vs hi) (Jul 06, 2018)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
867 "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
868 " 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
869 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
870
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
871 " Control Characters: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
872 " ==================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
873 syn match vimCtrlChar "[- -]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
874
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
875 " Beginners - Patterns that involve ^ {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
876 " =========
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
877 Vim9 syn region vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
878 VimL syn region vimLineComment start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
879
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
880 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
881 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
882
35420
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
883 " allowed anywhere in the file
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
884 if !s:vim9script
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
885 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
886 endif
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
887 syn match vimShebang "\%^#!.*" display
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
888
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
889 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
890 syn match vimContinueComment '^\s*\zs["#]\\ .*'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
891 syn cluster vimContinue contains=vimContinue,vimContinueComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
892 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
893 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
894 syn match vim9CommentTitleLeader '#\s\+'ms=s+1 contained
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
895
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
896 " Searches And Globals: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
897 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
898 syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
899 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
900 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
901 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
902
34870
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
903 " Vim9 Script Regions: {{{2
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
904 " ==================
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
905
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
906 if s:vim9script
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
907 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
908 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
909
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
910 syn keyword vim9Vim9ScriptArg noclear contained
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
911 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
912 endif
3f9703c1bbea runtime(vim): Improve Vim9 and legacy-script comment highlighting (#13104)
Christian Brabandt <cb@256bit.org>
parents: 34828
diff changeset
913
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
914 " Embedded Scripts: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
915 " ================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
916 " perl,ruby : Benoit Cerrina
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
917 " python,tcl : Johannes Zellner
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
918 " mzscheme, lua : Charles Campbell
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 " 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
921 " they want: (perl/python/ruby/tcl support)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
922 " 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
923 " 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
924 " 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
925 " 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
926 " 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
927 " 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
928 " 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
929 if !exists("g:vimsyn_embed")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
930 let g:vimsyn_embed= "lmpPr"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
931 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
932
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
933 " [-- lua --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
934 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
935 if !filereadable(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
936 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
937 if filereadable(fnameescape(s:luapath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
938 let s:luapath= fnameescape(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
939 break
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 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
942 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
943 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
944 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
945 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
946 exe "syn include @vimLuaScript ".s:luapath
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
947 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+^\z(\s*\)lua\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimLuaScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
948 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(\S*\)+ end=+^\z1$+ contains=@vimLuaScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
949 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+^\z(\s*\)lua\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimLuaScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
950 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+^\.$+ contains=@vimLuaScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
951 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
952 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
953 syn region vimEmbedError start=+^\z(\s*\)lua\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
954 syn region vimEmbedError start=+lua\s*<<\s*\z(\S*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
955 syn region vimEmbedError start=+^\z(\s*\)lua\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
956 syn region vimEmbedError start=+lua\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
957 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
958 unlet s:luapath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
959
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
960 " [-- perl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
961 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
962 if !filereadable(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
963 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
964 if filereadable(fnameescape(s:perlpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
965 let s:perlpath= fnameescape(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
966 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
967 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
968 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
969 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
970 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
971 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
972 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
973 exe "syn include @vimPerlScript ".s:perlpath
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
974 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+^\z(\s*\)pe\%[rl]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimPerlScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
975 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(\S*\)+ end=+^\z1$+ contains=@vimPerlScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
976 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+^\z(\s*\)pe\%[rl]\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimPerlScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
977 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
978 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
979 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
980 syn region vimEmbedError start=+^\z(\s*\)pe\%[rl]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
981 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(\S*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
982 syn region vimEmbedError start=+^\z(\s*\)pe\%[rl]\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
983 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
984 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
985 unlet s:perlpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
986
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
987 " [-- ruby --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
988 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
989 if !filereadable(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
990 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
991 if filereadable(fnameescape(s:rubypath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
992 let s:rubypath= fnameescape(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
993 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
994 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
995 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
996 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
997 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
998 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
999 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1000 exe "syn include @vimRubyScript ".s:rubypath
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1001 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+^\z(\s*\)rub\%[y]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimRubyScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1002 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub\%[y]\s*<<\s*\z(\S*\)+ end=+^\z1$+ contains=@vimRubyScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1003 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+^\z(\s*\)rub\%[y]\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimRubyScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1004 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub\%[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1005 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1006 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1007 syn region vimEmbedError start=+^\z(\s*\)rub\%[y]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1008 syn region vimEmbedError start=+rub\%[y]\s*<<\s*\z(\S.*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1009 syn region vimEmbedError start=+^\z(\s*\)rub\%[y]\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1010 syn region vimEmbedError start=+rub\%[y]\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1011 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1012 unlet s:rubypath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1013
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1014 " [-- python --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1015 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
1016 if !filereadable(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1017 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
1018 if filereadable(fnameescape(s:pythonpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1019 let s:pythonpath= fnameescape(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1020 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1021 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1022 endfor
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 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
1025 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1026 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1027 exe "syn include @vimPythonScript ".s:pythonpath
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1028 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+^\z(\s*\)py\%[thon][3x]\=\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimPythonScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1029 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\z(\S\+\)+ end=+^\z1$+ contains=@vimPythonScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1030 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+^\z(\s*\)py\%[thon][3x]\=\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimPythonScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1031 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*$+ end=+^\.$+ contains=@vimPythonScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1032 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\%(trim\s*\)\=\z(\S\+\)+ end=+^\z1$+ contains=@vimPythonScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1033 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\%(trim\s*\)\=$+ end=+^\.$+ contains=@vimPythonScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1034 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1035 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1036 syn region vimEmbedError start=+^\z(\s*\)py\%[thon][3x]\=\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1037 syn region vimEmbedError start=+py\%[thon][3x]\=\s*<<\s*\z(\S\+\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1038 syn region vimEmbedError start=+^\z(\s*\)py\%[thon][3x]\=\s*<<\s*trim\s*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1039 syn region vimEmbedError start=+py\%[thon][3x]\=\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1040 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1041 unlet s:pythonpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1042
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1043 " [-- tcl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1044 if has("win32") || has("win95") || has("win64") || has("win16")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1045 " 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
1046 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
1047 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1048 let s:trytcl= 1
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 if s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1051 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
1052 if !filereadable(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1053 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
1054 if filereadable(fnameescape(s:tclpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1055 let s:tclpath= fnameescape(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1056 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1057 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1058 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1059 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1060 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
1061 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1062 syn cluster vimFuncBodyList add=vimTclRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1063 exe "syn include @vimTclScript ".s:tclpath
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1064 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimTclScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1065 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc\%[l]\=\s*<<\s*\z(\S*\)+ end=+^\z1$+ contains=@vimTclScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1066 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimTclScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1067 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc\%[l]\=\s*<<\s*$+ end=+^\.$+ contains=@vimTclScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1068 syn cluster vimFuncBodyList add=vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1069 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1070 syn region vimEmbedError start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1071 syn region vimEmbedError start=+tc\%[l]\=\s*<<\s*\z(\S*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1072 syn region vimEmbedError start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1073 syn region vimEmbedError start=+tc\%[l]\=\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1074 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1075 unlet s:tclpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1076 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1077 syn region vimEmbedError start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1078 syn region vimEmbedError start=+tc\%[l]\=\s*<<\s*\z(\S*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1079 syn region vimEmbedError start=+^\z(\s*\)tc\%[l]\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1080 syn region vimEmbedError start=+tc\%[l]\=\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1081 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1082 unlet s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1083
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1084 " [-- mzscheme --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1085 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
1086 if !filereadable(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1087 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
1088 if filereadable(fnameescape(s:mzschemepath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1089 let s:mzschemepath= fnameescape(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1090 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1091 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1092 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1093 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1094 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
1095 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1096 let s:iskKeep= &isk
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1097 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1098 exe "syn include @vimMzSchemeScript ".s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1099 let &isk= s:iskKeep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1100 unlet s:iskKeep
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1101 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+^\z(\s*\)mz\%[scheme]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+ contains=@vimMzSchemeScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1102 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(\S*\)+ end=+^\z1$+ contains=@vimMzSchemeScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1103 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+^\z(\s*\)mz\%[scheme]\s*<<\s*trim\s*$+ end=+^\z1\.$+ contains=@vimMzSchemeScript
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1104 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+^\.$+ contains=@vimMzSchemeScript
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1105 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1106 else
36022
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1107 syn region vimEmbedError start=+^\z(\s*\)mz\%[scheme]\s*<<\s*trim\s\+\z(\S\+\)+ end=+^\z1\z2$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1108 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(\S*\)+ end=+^\z1$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1109 syn region vimEmbedError start=+^\z(\s*\)mz\%[scheme]\s*<<\s*trim\s\*$+ end=+^\z1\.$+
978c5fb32390 runtime(vim): Improve heredoc handling for all embedded scripts
Christian Brabandt <cb@256bit.org>
parents: 35980
diff changeset
1110 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+^\.$+
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1111 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1112 unlet s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1113
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1114 " Synchronize (speed) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1115 "============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1116 if exists("g:vimsyn_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1117 exe "syn sync minlines=".g:vimsyn_minlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1118 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1119 exe "syn sync maxlines=".s:vimsyn_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1120 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
1121 syn sync linebreaks=1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1122 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
1123
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1124 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1125 " Highlighting Settings {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1126 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1127
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1128 if !exists("skip_vim_syntax_inits")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1129 if !exists("g:vimsyn_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1130 hi def link vimBehaveError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1131 hi def link vimCollClassErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1132 hi def link vimErrSetting vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1133 hi def link vimEmbedError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1134 hi def link vimFTError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1135 hi def link vimFunctionError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1136 hi def link vimFunc vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1137 hi def link vimHiAttribList vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1138 hi def link vimHiCtermError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1139 hi def link vimHiKeyError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1140 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
1141 hi def link vimShebangError vimError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1142 hi def link vimSubstFlagErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1143 hi def link vimSynCaseError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1144 hi def link vimSynFoldMethodError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1145 hi def link vimBufnrWarn vimWarn
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1146 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1147
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1148 hi def link vimAbb vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1149 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
1150 hi def link vimAugroupBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1151 hi def link vimAugroupError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1152 hi def link vimAugroupKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1153 hi def link vimAutoCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1154 hi def link vimAutoEvent Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1155 hi def link vimAutoCmdMod Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1156 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
1157 hi def link vimBehaveBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1158 hi def link vimBehaveModel vimBehave
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1159 hi def link vimBehave vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1160 hi def link vimBracket Delimiter
35745
154ebf2de10d runtime(vim): Update base-syntax, improve :map highlighting
Christian Brabandt <cb@256bit.org>
parents: 35727
diff changeset
1161 hi def link vimCall vimCommand
35394
201bc52b2509 runtime(vim): Update base-syntax, match :catch and :throw args (#14989)
Christian Brabandt <cb@256bit.org>
parents: 35378
diff changeset
1162 hi def link vimCatch vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1163 hi def link vimCmplxRepeat SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1164 hi def link vimCommand Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1165 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
1166 hi def link vimCommentError vimError
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1167 hi def link vimCommentString vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1168 hi def link vimCommentTitle PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1169 hi def link vimCondHL vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1170 hi def link vimConst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1171 hi def link vimContinue Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1172 hi def link vimContinueComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1173 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
1174 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
1175 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
1176 hi def link vimDefParam vimVar
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1177 hi def link vimDelcommand vimCommand
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1178 hi def link vimDelcommandAttr vimUserCmdAttr
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
1179 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
1180 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
1181 hi def link vimEchohl vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1182 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
1183 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
1184 hi def link vimEnddef vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1185 hi def link vimEnvvar PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1186 hi def link vimError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1187 hi def link vimEscape Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1188 hi def link vimFBVar vimVar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1189 hi def link vimFgBgAttrib vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1190 hi def link vimFuncEcho vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1191 hi def link vimFor vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1192 hi def link vimFTCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1193 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
1194 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
1195 hi def link vimFuncComment vimComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1196 hi def link vimFuncKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1197 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
1198 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
1199 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
1200 hi def link vimFuncParamEquals vimOper
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1201 hi def link vimFuncSID Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1202 hi def link vimFuncVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1203 hi def link vimGroupAdd vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1204 hi def link vimGroupName vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1205 hi def link vimGroupRem vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1206 hi def link vimGroupSpecial Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1207 hi def link vimGroup Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1208 hi def link vimHiAttrib PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1209 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
1210 hi def link vimHiClear Type
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1211 hi def link vimHiCtermColor Constant
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1212 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
1213 hi def link vimHiCtermfont vimHiTerm
69ab5ebb3d3f runtime(vim): Update base-syntax, improve :highlight command (#14228)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
1214 hi def link vimHiCtermul vimHiTerm
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1215 hi def link vimHiCTerm vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1216 hi def link vimHighlight vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1217 hi def link vimHiGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1218 hi def link vimHiGuiFgBg vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1219 hi def link vimHiGuiFont vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1220 hi def link vimHiGuiRgb vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1221 hi def link vimHiGui vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1222 hi def link vimHiNmbr Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1223 hi def link vimHiStartStop vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1224 hi def link vimHiTerm Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1225 hi def link vimHLGroup vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1226 hi def link vimInsert vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1227 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
1228 hi def link vim9KeymapLineComment vimKeymapLineComment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1229 hi def link vimKeymapLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1230 hi def link vimKeymapTailComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1231 hi def link vimLet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1232 hi def link vimLetHereDoc vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1233 hi def link vimLetHereDocStart Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1234 hi def link vimLetHereDocStop Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1235 hi def link vimLetRegister Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1236 hi def link vimLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1237 hi def link vimMapBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1238 hi def link vimMapModKey vimFuncSID
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1239 hi def link vimMapMod vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1240 hi def link vimMap vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1241 hi def link vimMark Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1242 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
1243 hi def link vimMatch vimCommand
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
1244 hi def link vimMatchGroup vimGroup
80f900c63a11 runtime(vim): Update base-syntax, improve :match command highlighting
Christian Brabandt <cb@256bit.org>
parents: 35495
diff changeset
1245 hi def link vimMatchNone vimGroup
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1246 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
1247 hi def link vimMenuClear Special
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1248 hi def link vimMenuMod vimMapMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1249 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
1250 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
1251 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
1252 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
1253 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
1254 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
1255 hi def link vimMethodName vimFuncName
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1256 hi def link vimMtchComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1257 hi def link vimNorm vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1258 hi def link vimNotation Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1259 hi def link vimNotFunc vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1260 hi def link vimNotPatSep vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1261 hi def link vimNumber Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1262 hi def link vimOperError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1263 hi def link vimOper Operator
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1264 hi def link vimOption PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1265 hi def link vimParenSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1266 hi def link vimPatSepErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1267 hi def link vimPatSepR vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1268 hi def link vimPatSep SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1269 hi def link vimPatSepZone vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1270 hi def link vimPatSepZ vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1271 hi def link vimPattern Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1272 hi def link vimPlainMark vimMark
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1273 hi def link vimPlainRegister vimRegister
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1274 hi def link vimRegister SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1275 hi def link vimScriptDelim Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1276 hi def link vimSearchDelim Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1277 hi def link vimSearch vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1278 hi def link vimSep Delimiter
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
1279 hi def link vimSet vimCommand
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
1280 hi def link vimSetAll vimOption
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
1281 hi def link vimSetBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1282 hi def link vimSetMod vimOption
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
1283 hi def link vimSetSep vimSep
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1284 hi def link vimSetString vimString
35782
b13fed316f2e runtime(vim): Update base-syntax, improve :set highlighting
Christian Brabandt <cb@256bit.org>
parents: 35745
diff changeset
1285 hi def link vimSetTermcap vimOption
35420
1886767c5f70 runtime(vim): Update base-syntax, match shebang lines (#15011)
Christian Brabandt <cb@256bit.org>
parents: 35408
diff changeset
1286 hi def link vimShebang PreProc
35408
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1287 hi def link vimSleep vimCommand
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1288 hi def link vimSleepArg Constant
5c70d42c8e4d runtime(vim): Update base-syntax, match :sleep arg
Christian Brabandt <cb@256bit.org>
parents: 35394
diff changeset
1289 hi def link vimSleepBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1290 hi def link vimSpecFile Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1291 hi def link vimSpecFileMod vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1292 hi def link vimSpecial Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1293 hi def link vimStringCont vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1294 hi def link vimString String
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1295 hi def link vimStringEnd vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1296 hi def link vimStringInterpolationBrace vimEscape
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1297 hi def link vimSubst1 vimSubst
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1298 hi def link vimSubstDelim Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1299 hi def link vimSubstFlags Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1300 hi def link vimSubstSubstr SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1301 hi def link vimSubstTwoBS vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1302 hi def link vimSubst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1303 hi def link vimSynCaseError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1304 hi def link vimSynCase Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1305 hi def link vimSyncC Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1306 hi def link vimSyncError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1307 hi def link vimSyncGroupName vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1308 hi def link vimSyncGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1309 hi def link vimSyncKey Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1310 hi def link vimSyncNone Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1311 hi def link vimSynContains vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1312 hi def link vimSynError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1313 hi def link vimSynFoldMethodError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1314 hi def link vimSynFoldMethod Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1315 hi def link vimSynKeyContainedin vimSynContains
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1316 hi def link vimSynKeyOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1317 hi def link vimSynCchar vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1318 hi def link vimSynCcharValue Character
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1319 hi def link vimSynMtchGrp vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1320 hi def link vimSynMtchOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1321 hi def link vimSynNextgroup vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1322 hi def link vimSynNotPatRange vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1323 hi def link vimSynOption Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1324 hi def link vimSynPatRange vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1325 hi def link vimSynRegOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1326 hi def link vimSynRegPat vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1327 hi def link vimSynReg Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1328 hi def link vimSyntax vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1329 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
1330 hi def link vimThrow vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1331 hi def link vimTodo Todo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1332 hi def link vimType Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1333 hi def link vimUnlet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1334 hi def link vimUnletBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1335 hi def link vimUnmap vimMap
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1336 hi def link vimUserCmdAttrAddr vimSpecial
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1337 hi def link vimUserCmdAttrCmplt vimSpecial
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1338 hi def link vimUserCmdAttrNargs vimSpecial
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1339 hi def link vimUserCmdAttrRange vimSpecial
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1340 hi def link vimUserCmdAttrKey vimUserCmdAttr
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1341 hi def link vimUserCmdAttr Special
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1342 hi def link vimUserCmdAttrError Error
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1343 hi def link vimUserCmdError Error
36083
5f02ee300d0d runtime(vim): Update syntax, improve user-command matching
Christian Brabandt <cb@256bit.org>
parents: 36068
diff changeset
1344 hi def link vimUserCmdKey vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1345 hi def link vimUserFunc Normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1346 hi def link vimVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1347 hi def link vimWarn WarningMsg
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1348
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1349 hi def link vim9Boolean Boolean
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1350 hi def link vim9Comment Comment
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1351 hi def link vim9CommentError vimError
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1352 hi def link vim9CommentTitle PreProc
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1353 hi def link vim9Const vimCommand
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1354 hi def link vim9Final vimCommand
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1355 hi def link vim9For vimCommand
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1356 hi def link vim9LineComment vimComment
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1357 hi def link vim9Null Constant
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1358 hi def link vim9Var vimCommand
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1359 hi def link vim9Variable vimVar
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1360 hi def link vim9Vim9Script vimCommand
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1361 hi def link vim9Vim9ScriptArg Special
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1362 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1363
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1364 " Current Syntax Variable: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1365 let b:current_syntax = "vim"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1366
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1367 " ---------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1368 " Cleanup: {{{1
35727
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1369 delc Vim9
e4a0c5bba6a0 runtime(vim): Update base-syntax, match types in Vim9 variable declarations
Christian Brabandt <cb@256bit.org>
parents: 35581
diff changeset
1370 delc VimL
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1371 delc VimFolda
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1372 delc VimFoldf
34914
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1373 delc VimFoldh
4f97b92f4451 runtime(vim): Update base-syntax, add legacy header folding
Christian Brabandt <cb@256bit.org>
parents: 34870
diff changeset
1374 delc VimFoldH
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1375 delc VimFoldl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1376 delc VimFoldm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1377 delc VimFoldp
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1378 delc VimFoldP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1379 delc VimFoldr
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1380 delc VimFoldt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1381 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
1382 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
1383 " vim:ts=18 fdm=marker ft=vim