annotate runtime/syntax/generator/vim.vim.base @ 34477:86c7f8ed551f

runtime(vim): Update base-syntax, fix issue #14135 (#14136) Commit: https://github.com/vim/vim/commit/691aee8b070506e6eea8ec166bf69d9a03002790 Author: dkearns <dougkearns@gmail.com> Date: Mon Mar 4 05:02:47 2024 +1100 runtime(vim): Update base-syntax, fix issue https://github.com/vim/vim/issues/14135 (https://github.com/vim/vim/issues/14136) Fix incorrect error highlighting for function calls in :command definitions. vimFunctionError should be restricted to :function header lines. fixes: #14135 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 03 Mar 2024 19:15:02 +0100
parents 1454f1f19f98
children 7375d8465b7e
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
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2 " Language: Vim script
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 " Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
34353
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
4 " Doug Kearns <dougkearns@gmail.com>
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 " URL: https://github.com/vim-jp/syntax-vim-ex
34477
86c7f8ed551f runtime(vim): Update base-syntax, fix issue #14135 (#14136)
Christian Brabandt <cb@256bit.org>
parents: 34475
diff changeset
6 " Last Change: Mar 03, 2024
34375
02bd0fe77c68 runtime(misc): announce adoption of various runtime files
Christian Brabandt <cb@256bit.org>
parents: 34374
diff changeset
7 " Former Maintainer: Charles E. Campbell
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 " Base File URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " Base File Version: 9.0-25
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 " DO NOT CHANGE DIRECTLY.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 " THIS FILE PARTLY GENERATED BY gen_syntax_vim.vim.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 " (Search string "GEN_SYN_VIM:" in this file)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 " Automatically generated keyword lists: {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 " Quit when a syntax file was already loaded {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 if exists("b:current_syntax")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 finish
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 let s:keepcpo= &cpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 set cpo&vim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 " vimTodo: contains common special-notices for comments {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 " Use the vimCommentGroup cluster to add your own.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 syn keyword vimTodo contained COMBAK FIXME TODO XXX
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 syn cluster vimCommentGroup contains=vimTodo,@Spell
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 " regular vim commands {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 " GEN_SYN_VIM: vimCommand normal, START_STR='syn keyword vimCommand contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32 syn keyword vimCommand contained 2mat[ch] 3mat[ch]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33
34374
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
34 " 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
35 syn match vimCommand contained "\<new\>(\@!"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 syn match vimCommand contained "\<z[-+^.=]\=\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 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
38
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 " vimOptions are caught only when contained in a vimSet {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 " GEN_SYN_VIM: vimOption normal, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 " vimOptions: These are the turn-off setting variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 " 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
44
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 " vimOptions: These are the invertible variants {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 " 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
47
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 " termcap codes (which can also be set) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 " GEN_SYN_VIM: vimOption term output code, START_STR='syn keyword vimOption contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50 " term key codes
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 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
52 syn match vimOption contained "t_%1"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 syn match vimOption contained "t_#2"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54 syn match vimOption contained "t_#4"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 syn match vimOption contained "t_@7"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 syn match vimOption contained "t_*7"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 syn match vimOption contained "t_&8"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 syn match vimOption contained "t_%i"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 syn match vimOption contained "t_k;"
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 " 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
62 " 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
63
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
64 " AutoCmd Events {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 " 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
67
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68 " Highlight commonly used Groupnames {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69 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
70
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 " Default highlighting groups {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72 " GEN_SYN_VIM: vimHLGroup, START_STR='syn keyword vimHLGroup contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
75 " Function Names {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 " 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
77
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 "--- syntax here and above generated by mkvimvim ---
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79 " Special Vim Highlighting (not automatic) {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
81 " Set up folding commands for this syntax highlighting file {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# '[afhlmpPrt]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 if g:vimsyn_folding =~# 'a'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 com! -nargs=* VimFolda <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
87 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
88 if g:vimsyn_folding =~# 'f'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 com! -nargs=* VimFoldf <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 if g:vimsyn_folding =~# 'h'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 com! -nargs=* VimFoldh <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 com! -nargs=* VimFoldh <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 if g:vimsyn_folding =~# 'l'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99 com! -nargs=* VimFoldl <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
100 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
101 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 if g:vimsyn_folding =~# 'm'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 com! -nargs=* VimFoldm <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 if g:vimsyn_folding =~# 'p'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 com! -nargs=* VimFoldp <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113 if g:vimsyn_folding =~# 'P'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114 com! -nargs=* VimFoldP <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 if g:vimsyn_folding =~# 'r'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119 com! -nargs=* VimFoldr <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 if g:vimsyn_folding =~# 't'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124 com! -nargs=* VimFoldt <args> fold
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
125 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 com! -nargs=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129 com! -nargs=* VimFolda <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 com! -nargs=* VimFoldf <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 com! -nargs=* VimFoldh <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
132 com! -nargs=* VimFoldl <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
133 com! -nargs=* VimFoldm <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 com! -nargs=* VimFoldp <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 com! -nargs=* VimFoldP <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
136 com! -nargs=* VimFoldr <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 com! -nargs=* VimFoldt <args>
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
139
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 " Deprecated variable options {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
141 if exists("g:vim_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 let g:vimsyn_minlines= g:vim_minlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144 if exists("g:vim_maxlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 let g:vimsyn_maxlines= g:vim_maxlines
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 if exists("g:vimsyntax_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 let g:vimsyn_noerror= g:vimsyntax_noerror
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
149 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
150
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
151 " Variable options {{{2
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 s:vimsyn_maxlines= g:vim_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
154 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
155 let s:vimsyn_maxlines= 60
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158 " Numbers {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 " =======
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
160 syn match vimNumber '\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
161 syn match vimNumber '-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
162 syn match vimNumber '\<0[xX]\x\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
163 syn match vimNumber '\%(^\|\A\)\zs#\x\{6}' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
164 syn match vimNumber '\<0[zZ][a-zA-Z0-9.]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
165 syn match vimNumber '0[0-7]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
166 syn match vimNumber '0[bB][01]\+' skipwhite nextgroup=vimGlobal,vimSubst1,vimCommand,vimComment,vim9Comment
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
167
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
168 " All vimCommands are contained by vimIsCommand. {{{2
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
169 syn cluster vimCmdList contains=vimAbb,vimAddress,vimAutoCmd,vimAugroup,vimBehave,vimEcho,vimEchoHL,vimExecute,vimIsCommand,vimExtCmd,vimFunction,vimGlobal,vimHighlight,vimLet,vimMap,vimMark,vimNotFunc,vimNorm,vimSet,vimSyntax,vimUnlet,vimUnmap,vimUserCmd
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
170 syn match vimCmdSep "[:|]\+" skipwhite nextgroup=@vimCmdList,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
171 syn match vimIsCommand "\<\%(\h\w*\|[23]mat\%[ch]\)\>" contains=vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
172 syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
173 syn match vimVar "\<[bwglstav]:\h[a-zA-Z0-9#_]*\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 syn match vimVar "\s\zs&\%([lg]:\)\=\a\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175 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
176 syn match vimVar "\s\zs&t_k;"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
177 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
178 syn keyword vimCommand contained in
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
180 syn cluster vimExprList contains=vimEnvvar,vimFunc,vimFuncVar,vimNumber,vimOper,vimOperParen,vimLetRegister,vimString,vimVar
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
181
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182 " Insertions And Appends: insert append {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
183 " (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
184 " =======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
185 if &buftype != 'nofile'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$" matchgroup=vimCommand end="^\.$""
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
187 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$" matchgroup=vimCommand end="^\.$""
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
188 syn region vimInsert matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$" matchgroup=vimCommand end="^\.$""
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
189 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
191 " Behave! {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
192 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
193 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nobehaveerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
194 syn match vimBehaveError contained "[^ ]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
195 endif
34354
c99a9fe0886d runtime(vim): Update base-syntax, fix :behave highlighting
Christian Brabandt <cb@256bit.org>
parents: 34353
diff changeset
196 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
197 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
198 syn keyword vimBehaveModel contained mswin xterm
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
199
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
200 " Filetypes {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
201 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
202 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
203 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimFTError")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
204 syn match vimFTError contained "\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
205 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
206 syn keyword vimFTCmd contained filet[ype]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
207 syn keyword vimFTOption contained detect indent off on plugin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
208
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
209 " 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
210 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
34477
86c7f8ed551f runtime(vim): Update base-syntax, fix issue #14135 (#14136)
Christian Brabandt <cb@256bit.org>
parents: 34475
diff changeset
211 syn cluster vimAugroupList contains=@vimCmdList,vimFilter,vimFunc,vimLineComment,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vim9Comment,vimString,vimSubst,vimRegister,vimCmplxRepeat,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
212 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
213 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
214 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
215 else
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
216 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
217 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
218 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
219 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
220 endif
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
221
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
222 syn match vimAutoCmdGroup contained "\S\+"
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
223 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
224 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
225 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
226
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
227 " Operators: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
228 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
229 syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimType,vimRegister,@vimContinue,vim9Comment,vimVar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 syn match vimOper "||\|&&\|[-+*/%.!]" skipwhite nextgroup=vimString,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 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
232 syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
233 syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=vimoperStar,@vimOperGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
234 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
235 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
236 syn match vimOperError ")"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237 endif
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 " Functions : Tag is provided for those who wish to highlight tagged functions {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
240 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
242 syn cluster vimFuncBodyList contains=@vimCmdList,vimCmplxRepeat,vimComment,vim9Comment,vimContinue,vimCtrlChar,vimEnvvar,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimLetHereDoc,vimLineComment,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSearch,vimSpecFile,vimString,vimSubst,vimSynLine
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243 syn match vimFunction "\<\(fu\%[nction]\)!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
34374
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
244 syn match vimFunction "\<def\s\+new\i\{-}(" contains=@vimFuncList nextgroup=vimFuncBody
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
245 syn match vimFunction "\<def!\=\s\+\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246 "syn match vimFunction "\<def!\=\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
247
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
249 syn region vimFuncBody contained fold start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\|enddef\>\)" contains=@vimFuncBodyList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
250 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
251 syn region vimFuncBody contained start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\|enddef\>\)" contains=@vimFuncBodyList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
253 syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
254 syn match vimFuncSID contained "\c<sid>\|\<s:"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
255 syn keyword vimFuncKey contained fu[nction]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
256 syn keyword vimFuncKey contained def
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
257 syn match vimFuncBlank contained "\s\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
259 syn keyword vimPattern contained start skip end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
261 " vimTypes : new for vim9
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
262 syn match vimType ":\s*\zs\<\(bool\|number\|float\|string\|blob\|list<\|dict<\|job\|channel\|func\)\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
263
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
264 " Keymaps: (Vim Project Addition) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
265 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
266
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
267 " TODO: autogenerated vimCommand keyword list does not handle all abbreviations
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
268 " : handle Vim9 script comments when something like #13104 is merged
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
269 syn match vimKeymapStart "^" contained skipwhite nextgroup=vimKeymapLhs,vimKeymapLineComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
270 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
271 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
272 syn match vimKeymapTailComment "\S.*" contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
273 syn match vimKeymapLineComment +".*+ contained contains=@vimCommentGroup,vimCommentString,vimCommentTitle
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
274
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
275 syn region vimKeymap matchgroup=vimCommand start="\<loadk\%[eymap]\>" end="\%$" contains=vimKeymapStart
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
276
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
277 " Special Filenames, Modifiers, Extension Removal: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
278 " ===============================================
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
279 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
280 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
281 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
282 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
283 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
284 syn match vimSpecFile "#\d\+\|[#%]<\>" nextgroup=vimSpecFileMod,vimSubst1
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
285 syn match vimSpecFileMod "\(:[phtre]\)\+" contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
286
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
287 " User-Specified Commands: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
288 " =======================
34477
86c7f8ed551f runtime(vim): Update base-syntax, fix issue #14135 (#14136)
Christian Brabandt <cb@256bit.org>
parents: 34475
diff changeset
289 syn cluster vimUserCmdList contains=@vimCmdList,vimCmplxRepeat,vimComment,vim9Comment,vimCtrlChar,vimEscapeBrace,vimFunc,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
290 syn keyword vimUserCommand contained com[mand]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291 syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList,vimComFilter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292 syn match vimUserAttrbError contained "-\a\+\ze\s"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
293 syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
294 syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
295 syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296 syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
297 syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
298 syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
299 syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
300 syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
301 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
302 syn match vimUserCmdError contained "\S\+\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
303 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
304 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
305 syn keyword vimUserAttrbKey contained bar ban[g] cou[nt] ra[nge] com[plete] n[args] re[gister]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
306 " GEN_SYN_VIM: vimUserAttrbCmplt, START_STR='syn keyword vimUserAttrbCmplt contained', END_STR=''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
307 syn keyword vimUserAttrbCmplt contained custom customlist nextgroup=vimUserAttrbCmpltFunc,vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
308 syn match vimUserAttrbCmpltFunc contained ",\%([sS]:\|<[sS][iI][dD]>\)\=\%(\h\w*\%([.#]\h\w*\)\+\|\h\w*\)"hs=s+1 nextgroup=vimUserCmdError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
309
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
310 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
311 syn match vimUserAttrbCmplt contained "custom,\u\w*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
312
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
313 " Lower Priority Comments: after some vim commands... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
314 " =======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
315 syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
316 syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317 syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318 syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
319 " Vim9 comments - TODO: might be highlighted while they don't work
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
320 syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
321 syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
322 syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
323 " Vim9 comment inside expression
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
324 syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
325 syn match vim9Comment +^\s*#[^{].*$+ contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
326 syn match vim9Comment +^\s*#$+ contains=@vimCommentGroup,vimCommentString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
327
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
328 " Environment Variables: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
329 " =====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
330 syn match vimEnvvar "\$\I\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
331 syn match vimEnvvar "\${\I\i*}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
332
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333 " In-String Specials: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
334 " 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
335 " vimEscapeBrace handles ["] []"] (ie. "s don't terminate string inside [])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
336 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
337 syn match vimPatSepErr contained "\\)"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
338 syn match vimPatSep contained "\\|"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
339 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
340 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
341 syn match vimNotPatSep contained "\\\\"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
342 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
343 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
344 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
345 "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
346 syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
347 syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
348 syn match vimEscape contained "\\."
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
349 " syn match vimEscape contained +\\[befnrt\"]+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
350 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
351 syn match vimEscape contained "\\<" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
352 syn match vimEscape contained "\\<\*[^>]*>\=>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
353
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
354 syn region vimString oneline start=+$'+ skip=+''+ end=+'+ contains=vimStringInterpolationBrace,vimStringInterpolationExpr
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
355 syn region vimString oneline start=+$"+ end=+"+ contains=@vimStringGroup,vimStringInterpolationBrace,vimStringInterpolationExpr
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
356 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
357 syn match vimStringInterpolationBrace contained "{{"
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
358 syn match vimStringInterpolationBrace contained "}}"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
359
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
360 " Substitutions: {{{2
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 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
363 syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
364 syn cluster vimSubstList add=vimCollection
34433
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
365 syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>[\"#|]\@!" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
366 syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)_\@=" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
367 syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\ze#.\{-}#.\{-}#" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
368 syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>[\"#|]\@!" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
369 syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)_\@=" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
370 syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\ze#.\{-}#.\{-}#" nextgroup=vimSubstPat
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
371 " 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
372 " : # 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
373 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
374 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
375 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
376 syn match vimCollClassErr contained "\[:.\{-\}:\]"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
377 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
378 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
379 syn match vimSubstTwoBS contained "\\\\"
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
380 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
381 syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
382
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
383 " 'String': {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
384 syn match vimString "[^(,]'[^']\{-}\zs'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
385
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
386 " 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
387 syn match vimMark "'[a-zA-Z0-9]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
388 syn match vimMark "'[<>]\ze[-+,!]" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
389 syn match vimMark ",\zs'[<>]\ze" nextgroup=vimFilter,vimMarkNumber,vimSubst1
f7438681c79b runtime(vim): Update syntax file, improve :substitute matching (#14093)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
390 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
391 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
392 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
393 syn match vimPlainMark contained "'[a-zA-Z0-9]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
394 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
395
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
396 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
397 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
398 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
399 syn match vimRegister '@"'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
400 syn match vimPlainRegister contained '"[a-zA-Z0-9\-:.%#*+=]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
401 syn match vimLetRegister contained '@["0-9\-a-zA-Z#=*+_/]'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
402
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
403 syn match vimAddress ",\zs[.$]" skipwhite nextgroup=vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
404 syn match vimAddress "%\ze\a" skipwhite nextgroup=vimString,vimSubst1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
405
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
406 syn match vimFilter "^!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
407 syn match vimFilter contained "!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
408 syn match vimComFilter contained "|!!\=[^"]\{-}\(|\|\ze\"\|$\)" contains=vimOper,vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
409
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
410 " Complex Repeats: (:h complex-repeat) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
411 " ===============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
412 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
413 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
414
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
415 " Set command and associated set-options (vimOptions) with comment {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
416 syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\.\n\@!" end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
417 syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]"me=e-1 end="$" contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
418 syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
419 syn match vimSetSep contained "[,:]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
420 syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
421
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
422 " Let And Var: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
423 " ===========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
424 syn keyword vimLet let skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc,vimLetRegister,vimVarList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
425 syn keyword vimConst cons[t] skipwhite nextgroup=vimVar,vimLetHereDoc,vimVarList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
426 syn region vimVarList contained start="\[" end="]" contains=vimVar,vimContinue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
427
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
428 syn keyword vimUnlet unl[et] skipwhite nextgroup=vimUnletBang,vimUnletVars
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
429 syn match vimUnletBang contained "!" skipwhite nextgroup=vimUnletVars
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
430 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
431
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
432 VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s*\%(trim\s\+\%(eval\s\+\)\=\|eval\s\+\%(trim\s\+\)\=\)\=\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
433 syn keyword vimLet var skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc
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 " For: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
436 " ===
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
437 syn keyword vimFor for skipwhite nextgroup=vimVar,vimVarList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
438 " Abbreviations: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
439 " =============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
440 " GEN_SYN_VIM: vimCommand abbrev, START_STR='syn keyword vimAbb', END_STR='skipwhite nextgroup=vimMapMod,vimMapLhs'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
441
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
442 " Autocmd: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
443 " =======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
444 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
445 syn match vimAutoCmdSpace contained "\s\+" nextgroup=vimAutoCmdSfxList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
446 syn match vimAutoCmdSfxList contained "\S*" skipwhite nextgroup=vimAutoCmdMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
447 syn keyword vimAutoCmd au[tocmd] do[autocmd] doautoa[ll] skipwhite nextgroup=vimAutoEventList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
448 syn match vimAutoCmdMod "\(++\)\=\(once\|nested\)"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
449
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
450 " Echo And Execute: -- prefer strings! {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
451 " ================
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
452 " GEN_SYN_VIM: vimCommand echo, START_STR='syn keyword vimEcho', END_STR='skipwhite nextgroup=vimEchoExpr'
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
453 syn region vimEchoExpr contained start="[^[:space:]|]" skip=+\\\\\|\\|\|\n\s*\\\|\n\s*"\\ + matchgroup=vimCmdSep end="|" end="$" contains=@vimContinue,@vimExprList
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
454
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
455 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
456 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
457 syn keyword vimEchoHLNone none
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
458 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
459
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
460 syn region vimExecute oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimFuncVar,vimIsCommand,vimOper,vimNotation,vimOperParen,vimString,vimVar
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
461
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
462 " Maps: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
463 " ====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
464 syn match vimMap "\<map\>\ze\s*(\@!" skipwhite nextgroup=vimMapMod,vimMapLhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
465 syn match vimMap "\<map!" contains=vimMapBang skipwhite nextgroup=vimMapMod,vimMapLhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
466 " GEN_SYN_VIM: vimCommand map, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs'
34402
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34375
diff changeset
467 " GEN_SYN_VIM: vimCommand mapclear, START_STR='syn keyword vimMap', END_STR='skipwhite nextgroup=vimMapMod'
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34375
diff changeset
468 syn keyword vimMap mapc[lear] skipwhite nextgroup=vimMapBang,vimMapMod
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
469 " GEN_SYN_VIM: vimCommand unmap, START_STR='syn keyword vimUnmap', END_STR='skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
470 syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
34402
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34375
diff changeset
471 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
472 syn match vimMapMod contained "\%#=1\c<\(buffer\|expr\|\(local\)\=leader\|nowait\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
473 syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
474 syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
475 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
476 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
477 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
478
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
479 " Menus: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
480 " =====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
481 syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
482 " GEN_SYN_VIM: vimCommand menu, START_STR='syn keyword vimCommand', END_STR='skipwhite nextgroup=@vimMenuList'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
483 syn match vimMenuName "[^ \t\\<]\+" contained nextgroup=vimMenuNameMore,vimMenuMap
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
484 syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMenuName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
485 syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
486 syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
487 syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
488 syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vim9Comment,vimIsCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
489 syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
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 " Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
492 " ======================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
493 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
494 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
495
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
496 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
497 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
498 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
499 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
500 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
501 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
502 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
503
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
504 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
505 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
506 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
507 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
508 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
509 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
510
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
511 syn match vimBracket contained "[\\<>]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
512 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
513
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
514 " User Function Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515 " (following Gautam Iyer's suggestion)
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 vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
518 syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
519 syn keyword vimFuncEcho contained ec ech echo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
520
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
521 " User Command Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
522 syn match vimUsrCmd '^\s*\zs\u\%(\w*\)\@>\%([(#[]\|\s\+\%([-+*/%]\=\|\.\.\)=\)\@!'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
523
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
524 " Errors And Warnings: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
525 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
526 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
527 " TODO: The new-prefix exception should only apply to constructor definitions.
ff92d46151ab runtime(vim): Distinguish Vim9 constructor definitions from the :new ex command (#14050)
Christian Brabandt <cb@256bit.org>
parents: 34355
diff changeset
528 syn match vimFunctionError "\s\zs\%(new\)\@![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
529 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
530 syn match vimElseIfErr "\<else\s\+if\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
531 syn match vimBufnrWarn /\<bufnr\s*(\s*["']\.['"]\s*)/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
532 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
533
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
534 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
535
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
536 " Norm: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
537 " ====
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
538 syn match vimNorm "\<norm\%[al]!\=" skipwhite nextgroup=vimNormCmds
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
539 syn match vimNormCmds contained ".*$"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
540
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
541 " Syntax: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
542 "=======
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
543 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
544 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
545 syn keyword vimGroupSpecial contained ALL ALLBUT CONTAINED TOP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
546
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
547 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
548 syn match vimSynError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
549 syn match vimSynError contained "\i\+=" nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
550 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
551 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
552 syn match vimSynKeyContainedin contained "\<containedin=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
553 syn match vimSynNextgroup contained "\<nextgroup=" skipwhite skipnl nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
554 if has("conceal")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
555 " no whitespace allowed after '='
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
556 syn match vimSynCchar contained "\<cchar=" nextgroup=vimSynCcharValue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
557 syn match vimSynCcharValue contained "\S"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
558 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
559
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
560 syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
561 syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
562 syn cluster vimFuncBodyList add=vimSyntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
563
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
564 " Syntax: case {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
565 syn keyword vimSynType contained case skipwhite nextgroup=vimSynCase,vimSynCaseError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
566 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncaseerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
567 syn match vimSynCaseError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
568 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
569 syn keyword vimSynCase contained ignore match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
570
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
571 " Syntax: clear {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
572 syn keyword vimSynType contained clear skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
573
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
574 " Syntax: cluster {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
575 syn keyword vimSynType contained cluster skipwhite nextgroup=vimClusterName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
576 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
577 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
578 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
579 syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
580
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
581 " Syntax: foldlevel {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
582 syn keyword vimSynType contained foldlevel skipwhite nextgroup=vimSynFoldMethod,vimSynFoldMethodError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
583 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsynfoldmethoderror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
584 syn match vimSynFoldMethodError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
585 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
586 syn keyword vimSynFoldMethod contained start minimum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
587
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
588 " Syntax: iskeyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
589 syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimIskList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
590 syn match vimIskList contained '\S\+' contains=vimIskSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
591 syn match vimIskSep contained ','
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
592
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
593 " Syntax: include {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
594 syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
595 syn cluster vimFuncBodyList add=vimSynType
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
596
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
597 " Syntax: keyword {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
598 syn cluster vimSynKeyGroup contains=@vimContinue,vimSynCchar,vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
599 syn keyword vimSynType contained keyword skipwhite nextgroup=vimSynKeyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
600 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
601 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
602 syn cluster vimFuncBodyList add=vimSynType
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
603
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
604 " Syntax: match {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
605 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
606 syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
607 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
608 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
609 syn cluster vimFuncBodyList add=vimSynMtchGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
610
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
611 " Syntax: off and on {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
612 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
613
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
614 " Syntax: region {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
615 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
616 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
617 syn keyword vimSynType contained region skipwhite nextgroup=vimSynRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
618 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
619 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
620 syn match vimSynReg contained "\<\%(start\|skip\|end\)=" nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
621 syn match vimSynMtchGrp contained "matchgroup=" nextgroup=vimGroup,vimHLGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
622 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
623 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
624 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
625 syn match vimSynPatMod contained "lc=\d\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
626 syn match vimSynPatMod contained "lc=\d\+," nextgroup=vimSynPatMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
627 syn region vimSynPatRange contained start="\[" skip="\\\\\|\\]" end="]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
628 syn match vimSynNotPatRange contained "\\\\\|\\\["
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
629 syn match vimMtchComment contained '"[^"]\+$'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
630 syn cluster vimFuncBodyList add=vimSynType
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
631
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
632 " Syntax: sync {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
633 " ============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
634 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
635 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimsyncerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
636 syn match vimSyncError contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
637 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
638 syn keyword vimSyncC contained ccomment clear fromstart
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
639 syn keyword vimSyncMatch contained match skipwhite nextgroup=vimSyncGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
640 syn keyword vimSyncRegion contained region skipwhite nextgroup=vimSynReg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
641 syn match vimSyncLinebreak contained "\<linebreaks=" skipwhite nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
642 syn keyword vimSyncLinecont contained linecont skipwhite nextgroup=vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
643 syn match vimSyncLines contained "\(min\|max\)\=lines=" nextgroup=vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
644 syn match vimSyncGroupName contained "\h\w*" skipwhite nextgroup=vimSyncKey
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
645 syn match vimSyncKey contained "\<groupthere\|grouphere\>" skipwhite nextgroup=vimSyncGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
646 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
647 syn keyword vimSyncNone contained NONE
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 " Additional IsCommand: here by reasons of precedence {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
650 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
651 syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
652
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
653 " Highlighting: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
654 " ============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
655 syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
656 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
657 syn match vimHiCtermError contained "\D\i*"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
658 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
659 syn match vimHighlight "\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
660 syn match vimHiBang contained "!" skipwhite nextgroup=@vimHighlightCluster
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
661
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
662 syn match vimHiGroup contained "\i\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
663 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
664 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
665 syn keyword vimFgBgAttrib contained none bg background fg foreground
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
666 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
667 syn match vimHiAttribList contained "\i\+" contains=vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
668 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
669 syn case ignore
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
670 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
671 syn match vimHiCtermColor contained "\<color\d\{1,3}\>"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
672
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
673 syn case match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
674 syn match vimHiFontname contained "[a-zA-Z\-*]\+"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
675 syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
676 syn match vimHiGuiRgb contained "#\x\{6}"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
677
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
678 " Highlighting: hi group key=arg ... {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
679 syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiCtermfont,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation,vimComment,vim9comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
680 syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
681 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
682 syn match vimHiKeyError contained "\i\+="he=e-1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
683 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
684 syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
685 syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
686 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
687 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
688 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
689 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
690 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
691 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
692 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
693 syn match vimHiTermcap contained "\S\+" contains=vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
694 syn match vimHiNmbr contained '\d\+'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
695
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
696 " Highlight: clear {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
697 syn keyword vimHiClear contained clear nextgroup=vimHiGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
698
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
699 " Highlight: link {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
700 " see tst24 (hi def vs hi) (Jul 06, 2018)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
701 "syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
702 syn region vimHiLink contained oneline matchgroup=vimCommand start="\(\<hi\%[ghlight]\s\+\)\@<=\(\(def\%[ault]\s\+\)\=link\>\|\<def\>\)" end="$" contains=@vimHiCluster
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
703 syn cluster vimFuncBodyList add=vimHiLink
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
704
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
705 " Control Characters: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
706 " ==================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
707 syn match vimCtrlChar "[- -]"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
708
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
709 " Beginners - Patterns that involve ^ {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
710 " =========
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
711 syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle,vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
712 syn match vimLineComment +^[ \t:]*"\("[^"]*"\|[^"]\)*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
713 syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
714 syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
715 " Note: Look-behind to work around nextgroup skipnl consuming leading whitespace and preventing a match
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
716 syn match vimContinue "^\s*\zs\\"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
717 syn match vimContinueComment '^\s*\zs["#]\\ .*' contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
718 syn cluster vimContinue contains=vimContinue,vimContinueComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
719 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
720 syn match vimCommentTitleLeader '"\s\+'ms=s+1 contained
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
721
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
722 " Searches And Globals: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
723 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
724 syn match vimSearch '^\s*[/?].*' contains=vimSearchDelim
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
725 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
726 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
727 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
728
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
729 " Embedded Scripts: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
730 " ================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
731 " perl,ruby : Benoit Cerrina
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
732 " python,tcl : Johannes Zellner
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
733 " mzscheme, lua : Charles Campbell
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 " 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
736 " they want: (perl/python/ruby/tcl support)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
737 " g:vimsyn_embed == 0 : don't embed any scripts
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
738 " g:vimsyn_embed =~# 'l' : embed lua (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
739 " g:vimsyn_embed =~# 'm' : embed mzscheme (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
740 " g:vimsyn_embed =~# 'p' : embed perl (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
741 " g:vimsyn_embed =~# 'P' : embed python (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
742 " g:vimsyn_embed =~# 'r' : embed ruby (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
743 " g:vimsyn_embed =~# 't' : embed tcl (but only if vim supports it)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
744 if !exists("g:vimsyn_embed")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
745 let g:vimsyn_embed= "lmpPr"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
746 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
747
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
748 " [-- lua --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
749 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
750 if !filereadable(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
751 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
752 if filereadable(fnameescape(s:luapath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
753 let s:luapath= fnameescape(s:luapath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
754 break
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 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
757 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
758 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
759 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
760 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
761 exe "syn include @vimLuaScript ".s:luapath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
762 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimLuaScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
763 VimFoldl syn region vimLuaRegion matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+ contains=@vimLuaScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
764 syn cluster vimFuncBodyList add=vimLuaRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
765 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
766 syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
767 syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
768 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
769 unlet s:luapath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
770
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
771 " [-- perl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
772 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
773 if !filereadable(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
774 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
775 if filereadable(fnameescape(s:perlpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
776 let s:perlpath= fnameescape(s:perlpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
777 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
778 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
779 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
780 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
781 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
782 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
783 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
784 exe "syn include @vimPerlScript ".s:perlpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
785 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(\S*\)\ze\(\s*["#].*\)\=$+ end=+^\z1\ze\(\s*[#"].*\)\=$+ contains=@vimPerlScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
786 VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
787 syn cluster vimFuncBodyList add=vimPerlRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
788 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
789 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
790 syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
791 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
792 unlet s:perlpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
793
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
794 " [-- ruby --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
795 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
796 if !filereadable(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
797 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
798 if filereadable(fnameescape(s:rubypath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
799 let s:rubypath= fnameescape(s:rubypath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
800 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
801 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
802 endfor
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 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
805 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
806 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
807 exe "syn include @vimRubyScript ".s:rubypath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
808 VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimRubyScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
809 syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
810 syn cluster vimFuncBodyList add=vimRubyRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
811 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
812 syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
813 syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
814 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
815 unlet s:rubypath
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 " [-- python --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
818 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
819 if !filereadable(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
820 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
821 if filereadable(fnameescape(s:pythonpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
822 let s:pythonpath= fnameescape(s:pythonpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
823 break
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 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
826 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
827 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
828 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
829 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
830 exe "syn include @vimPythonScript ".s:pythonpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
831 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\%(trim\s*\)\=\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
832 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\%(trim\s*\)\=$+ end=+\.$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
833 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\%(trim\s*\)\=\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
834 VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*\%(trim\s*\)\=$+ end=+\.$+ contains=@vimPythonScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
835 syn cluster vimFuncBodyList add=vimPythonRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
836 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
837 syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
838 syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
839 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
840 unlet s:pythonpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
841
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
842 " [-- tcl --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
843 if has("win32") || has("win95") || has("win64") || has("win16")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
844 " 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
845 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
846 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
847 let s:trytcl= 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
848 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
849 if s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
850 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
851 if !filereadable(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
852 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
853 if filereadable(fnameescape(s:tclpath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
854 let s:tclpath= fnameescape(s:tclpath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
855 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
856 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
857 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
858 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
859 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
860 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
861 syn cluster vimFuncBodyList add=vimTclRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
862 exe "syn include @vimTclScript ".s:tclpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
863 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
864 VimFoldt syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
865 syn cluster vimFuncBodyList add=vimTclScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
866 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
867 syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
868 syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
869 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
870 unlet s:tclpath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
871 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
872 syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
873 syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
874 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
875 unlet s:trytcl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
876
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
877 " [-- mzscheme --] {{{3
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
878 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
879 if !filereadable(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
880 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
881 if filereadable(fnameescape(s:mzschemepath))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
882 let s:mzschemepath= fnameescape(s:mzschemepath)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
883 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
884 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
885 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
886 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
887 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
888 unlet! b:current_syntax
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
889 let s:iskKeep= &isk
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
890 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
891 exe "syn include @vimMzSchemeScript ".s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
892 let &isk= s:iskKeep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
893 unlet s:iskKeep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
894 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
895 VimFoldm syn region vimMzSchemeRegion matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+ contains=@vimMzSchemeScript
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
896 syn cluster vimFuncBodyList add=vimMzSchemeRegion
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
897 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
898 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
899 syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
900 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
901 unlet s:mzschemepath
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
902
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
903 " Synchronize (speed) {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
904 "============
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
905 if exists("g:vimsyn_minlines")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
906 exe "syn sync minlines=".g:vimsyn_minlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
907 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
908 exe "syn sync maxlines=".s:vimsyn_maxlines
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
909 syn sync linecont "^\s\+\\"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
910 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
911
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
912 " ====================
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
913 " Highlighting Settings {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
914 " ====================
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 if !exists("skip_vim_syntax_inits")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
917 if !exists("g:vimsyn_noerror")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
918 hi def link vimBehaveError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
919 hi def link vimCollClassErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
920 hi def link vimErrSetting vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
921 hi def link vimEmbedError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
922 hi def link vimFTError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
923 hi def link vimFunctionError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
924 hi def link vimFunc vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
925 hi def link vimHiAttribList vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
926 hi def link vimHiCtermError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
927 hi def link vimHiKeyError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
928 hi def link vimKeyCodeError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
929 hi def link vimMapModErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
930 hi def link vimSubstFlagErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
931 hi def link vimSynCaseError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
932 hi def link vimSynFoldMethodError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
933 hi def link vimBufnrWarn vimWarn
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
934 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
935
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
936 hi def link vimAbb vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
937 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
938 hi def link vimAugroupBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
939 hi def link vimAugroupError vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
940 hi def link vimAugroupKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
941 hi def link vimAuHighlight vimHighlight
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
942 hi def link vimAutoCmdOpt vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
943 hi def link vimAutoCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
944 hi def link vimAutoEvent Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
945 hi def link vimAutoCmdMod Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
946 hi def link vimAutoSet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
947 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
948 hi def link vimBehaveBang vimBang
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
949 hi def link vimBehaveModel vimBehave
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
950 hi def link vimBehave vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
951 hi def link vimBracket Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
952 hi def link vimCmplxRepeat SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
953 hi def link vimCommand Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
954 hi def link vimComment Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
955 hi def link vim9Comment Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
956 hi def link vimCommentString vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
957 hi def link vimCommentTitle PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
958 hi def link vimCondHL vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
959 hi def link vimConst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
960 hi def link vimContinue Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
961 hi def link vimContinueComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
962 hi def link vimCtrlChar SpecialChar
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34433
diff changeset
963 hi def link vimEcho vimCommand
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
964 hi def link vimEchoHLNone vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
965 hi def link vimEchoHL vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
966 hi def link vimElseIfErr Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
967 hi def link vimElseif vimCondHL
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
968 hi def link vimEnvvar PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
969 hi def link vimError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
970 hi def link vimEscape Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
971 hi def link vimFBVar vimVar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
972 hi def link vimFgBgAttrib vimHiAttrib
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
973 hi def link vimFuncEcho vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
974 hi def link vimHiCtermul vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
975 hi def link vimHiCtermfont vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
976 hi def link vimFold Folded
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
977 hi def link vimFor vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
978 hi def link vimFTCmd vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
979 hi def link vimFTOption vimSynType
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
980 hi def link vimFuncKey vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
981 hi def link vimFuncName Function
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
982 hi def link vimFuncSID Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
983 hi def link vimFuncVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
984 hi def link vimGroupAdd vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
985 hi def link vimGroupName vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
986 hi def link vimGroupRem vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
987 hi def link vimGroupSpecial Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
988 hi def link vimGroup Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
989 hi def link vimHiAttrib PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
990 hi def link vimHiBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
991 hi def link vimHiClear vimHighlight
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
992 hi def link vimHiCtermFgBg vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
993 hi def link vimHiCTerm vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
994 hi def link vimHighlight vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
995 hi def link vimHiGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
996 hi def link vimHiGuiFgBg vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
997 hi def link vimHiGuiFont vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
998 hi def link vimHiGuiRgb vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
999 hi def link vimHiGui vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1000 hi def link vimHiNmbr Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1001 hi def link vimHiStartStop vimHiTerm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1002 hi def link vimHiTerm Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1003 hi def link vimHLGroup vimGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1004 hi def link vimHLMod PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1005 hi def link vimInsert vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1006 hi def link vimIskSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1007 hi def link vimKeyCode vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1008 hi def link vimKeymapLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1009 hi def link vimKeymapTailComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1010 hi def link vimKeyword Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1011 hi def link vimLet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1012 hi def link vimLetHereDoc vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1013 hi def link vimLetHereDocStart Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1014 hi def link vimLetHereDocStop Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1015 hi def link vimLetRegister Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1016 hi def link vimLineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1017 hi def link vim9LineComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1018 hi def link vimMapBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1019 hi def link vimMapModKey vimFuncSID
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1020 hi def link vimMapMod vimBracket
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1021 hi def link vimMap vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1022 hi def link vimMark Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1023 hi def link vimMarkNumber vimNumber
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1024 hi def link vimMenuBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1025 hi def link vimMenuMod vimMapMod
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1026 hi def link vimMenuNameMore vimMenuName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1027 hi def link vimMenuName PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1028 hi def link vimMtchComment vimComment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1029 hi def link vimNorm vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1030 hi def link vimNotation Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1031 hi def link vimNotFunc vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1032 hi def link vimNotPatSep vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1033 hi def link vimNumber Number
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1034 hi def link vimOperError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1035 hi def link vimOper Operator
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1036 hi def link vimOperStar vimOper
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1037 hi def link vimOption PreProc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1038 hi def link vimParenSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1039 hi def link vimPatSepErr vimError
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1040 hi def link vimPatSepR vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1041 hi def link vimPatSep SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1042 hi def link vimPatSepZone vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1043 hi def link vimPatSepZ vimPatSep
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1044 hi def link vimPattern Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1045 hi def link vimPlainMark vimMark
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1046 hi def link vimPlainRegister vimRegister
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1047 hi def link vimRegister SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1048 hi def link vimScriptDelim Comment
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1049 hi def link vimSearchDelim Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1050 hi def link vimSearch vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1051 hi def link vimSep Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1052 hi def link vimSetMod vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1053 hi def link vimSetSep Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1054 hi def link vimSetString vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1055 hi def link vimSpecFile Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1056 hi def link vimSpecFileMod vimSpecFile
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1057 hi def link vimSpecial Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1058 hi def link vimStatement Statement
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1059 hi def link vimStringCont vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1060 hi def link vimString String
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1061 hi def link vimStringEnd vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1062 hi def link vimStringInterpolationBrace vimEscape
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1063 hi def link vimSubst1 vimSubst
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1064 hi def link vimSubstDelim Delimiter
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1065 hi def link vimSubstFlags Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1066 hi def link vimSubstSubstr SpecialChar
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1067 hi def link vimSubstTwoBS vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1068 hi def link vimSubst vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1069 hi def link vimSynCaseError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1070 hi def link vimSynCase Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1071 hi def link vimSyncC Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1072 hi def link vimSyncError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1073 hi def link vimSyncGroupName vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1074 hi def link vimSyncGroup vimGroupName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1075 hi def link vimSyncKey Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1076 hi def link vimSyncNone Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1077 hi def link vimSynContains vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1078 hi def link vimSynError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1079 hi def link vimSynFoldMethodError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1080 hi def link vimSynFoldMethod Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1081 hi def link vimSynKeyContainedin vimSynContains
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1082 hi def link vimSynKeyOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1083 hi def link vimSynCchar vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1084 hi def link vimSynCcharValue Character
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1085 hi def link vimSynMtchGrp vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1086 hi def link vimSynMtchOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1087 hi def link vimSynNextgroup vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1088 hi def link vimSynNotPatRange vimSynRegPat
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1089 hi def link vimSynOption Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1090 hi def link vimSynPatRange vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1091 hi def link vimSynRegOpt vimSynOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1092 hi def link vimSynRegPat vimString
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1093 hi def link vimSynReg Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1094 hi def link vimSyntax vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1095 hi def link vimSynType vimSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1096 hi def link vimTodo Todo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1097 hi def link vimType Type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1098 hi def link vimUnlet vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1099 hi def link vimUnletBang vimBang
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1100 hi def link vimUnmap vimMap
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1101 hi def link vimUserAttrbCmpltFunc Special
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1102 hi def link vimUserAttrbCmplt vimSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1103 hi def link vimUserAttrbKey vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1104 hi def link vimUserAttrb vimSpecial
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1105 hi def link vimUserAttrbError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1106 hi def link vimUserCmdError Error
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1107 hi def link vimUserCommand vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1108 hi def link vimUserFunc Normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1109 hi def link vimVar Identifier
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1110 hi def link vimWarn WarningMsg
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
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1113 " Current Syntax Variable: {{{2
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1114 let b:current_syntax = "vim"
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 " ---------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1117 " Cleanup: {{{1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1118 delc VimFolda
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1119 delc VimFoldf
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1120 delc VimFoldl
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1121 delc VimFoldm
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1122 delc VimFoldp
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1123 delc VimFoldP
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1124 delc VimFoldr
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1125 delc VimFoldt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1126 let &cpo = s:keepcpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1127 unlet s:keepcpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1128 " vim:ts=18 fdm=marker