annotate runtime/syntax/generator/gen_syntax_vim.vim @ 34798:83cd18134b6f

runtime(vim): Update syntax generator, autocmd event list parsing Commit: https://github.com/vim/vim/commit/a44ced5763d377c71c96562b894c1c026ba89328 Author: Doug Kearns <dougkearns@gmail.com> Date: Sun Apr 7 17:47:15 2024 +0200 runtime(vim): Update syntax generator, autocmd event list parsing Track changes to the autocommand event list introduced in commit 78d742a (Patch 9.1.0256). closes: #14430 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 07 Apr 2024 18:00:03 +0200
parents af61243e5aeb
children 3f9703c1bbea
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 generator
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)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 " URL: https://github.com/vim-jp/syntax-vim-ex
34798
83cd18134b6f runtime(vim): Update syntax generator, autocmd event list parsing
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
5 " Last Change: 2024 Apr 07
83cd18134b6f runtime(vim): Update syntax generator, autocmd event list parsing
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
6 " Version: 2.1.0
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 let s:keepcpo= &cpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 set cpo&vim
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 language C
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 function! s:parse_vim_option(opt, missing_opt, term_out_code)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 let file_name = $VIM_SRCDIR . '/optiondefs.h'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 norm! gg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 exec '/^.*\s*options\[\]\s*=\s*$/+1;/^\s*#\s*define\s*p_term(/-1yank a'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 exec '/^#define\s\+p_term(/+1;/^};$/-1yank b'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25 put a
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26 " workaround for 'shortname'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 g/^#\s*ifdef\s*SHORT_FNAME\>/j
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 g/^#/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
29 g/^\s*{\s*"\w\+"\%(\s*,\s*[^,]*\)\{2}[^,]$/j
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 g/^\s*{\s*"\w\+"\s*,.*$/j
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
31 g!/^\s*{\s*"\w\+"\s*,.*$/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
32
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
33 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
34 let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,\s*\%("\(\w\+\)"\|NULL\)\s*,\s*\%([^,]*\(P_BOOL\)[^,]*\|[^,]*\)\s*,\s*\([^,]*NULL\)\?.*')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
35 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
36 let item.short_name = list[2]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
37 let item.is_bool = empty(list[3]) ? 0 : 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
38 if empty(list[4])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
39 call add(a:opt, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
40 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
41 call add(a:missing_opt, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
42 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
43 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
44 if empty(a:opt)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
45 throw 'opt is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
46 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
47 if empty(a:missing_opt)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
48 throw 'missing_opt is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
49 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
50
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
51 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
52 put b
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
53 g!/^\s*p_term(\s*"\w\+"\s*,.*$/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
54
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
55 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
56 let list = matchlist(line, '^\s*p_term(\s*"\(\w\+\)"\s*,')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
57 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
58 call add(a:term_out_code, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
59 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
60 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
61 if empty(a:term_out_code)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
62 throw 'term_out_code is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
63 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
64 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
65 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
66 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
67 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
68 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
69
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
70 function! s:append_syn_vimopt(lnum, str_info, opt_list, prefix, bool_only)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
71 let ret_lnum = a:lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
72 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
73
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
74 for o in a:opt_list
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
75 if !a:bool_only || o.is_bool
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
76 if !empty(o.short_name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
77 let str .= ' ' . a:prefix . o.short_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
78 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
79 let str .= ' ' . a:prefix . o.name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
80 if len(str) > s:line_break_len
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
81 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
82 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
83 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
84 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
85 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
86 let ret_lnum += 1
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 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
89 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
90 if str !=# a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
91 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
92 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
93 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
94 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
95 let ret_lnum += 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
96 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
97 return ret_lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
98 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
99
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
100 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
101 function! s:parse_vim_command(cmd)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
102 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
103 let file_name = $VIM_SRCDIR . '/ex_cmds.h'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
104 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
105
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
106 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
107 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
108 norm! gg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
109 exec '/^}\?\s*cmdnames\[\]\s*=\s*$/+1;/^};/-1yank'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
110 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
111 put
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
112 g!/^EXCMD(/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
113
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
114 let lcmd = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
115 for key in range(char2nr('a'), char2nr('z'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
116 let lcmd[nr2char(key)] = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
117 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
118 let lcmd['~'] = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
119
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
120 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
121 let list = matchlist(line, '^EXCMD(\w\+\s*,\s*"\(\a\w*\)"\s*,')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
122 if !empty(list)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
123 " Small ascii character or other.
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
124 let key = (list[1][:0] =~# '\l') ? list[1][:0] : '~'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
125 call add(lcmd[key], list[1])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
126 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
127 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
128 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
129
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
130 for key in sort(keys(lcmd))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
131 for my in range(len(lcmd[key]))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
132 let omit_idx = 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
133 if my > 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
134 let omit_idx = (key =~# '\l') ? 1 : 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
135 for idx in range(1, strlen(lcmd[key][my]))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
136 let spec=0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
137 if lcmd[key][my] ==# 'ex'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
138 let spec=1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
139 echo "cmd name:" lcmd[key][my]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
140 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
141 let matched = 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
142 for pre in range(my - 1, 0, -1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
143 if spec
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
144 echo "pre:" pre ", my:" my
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
145 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
146 if pre == my
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
147 if spec
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
148 echo "continue"
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 continue
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
151 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
152 " for weird abbreviations for delete. (See :help :d)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
153 " And k{char} is used as mark. (See :help :k)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
154 if lcmd[key][my][:idx] ==# lcmd[key][pre][:idx] ||
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
155 \ (key ==# 'd' &&
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
156 \ lcmd[key][my][:idx] =~# '^d\%[elete][lp]$')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
157 \ || (key ==# 'k' &&
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
158 \ lcmd[key][my][:idx] =~# '^k[a-zA-Z]$')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
159 let matched = 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
160 let omit_idx = idx + 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
161 if spec
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
162 echo "match. break. omit_idx:" omit_idx
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
163 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
164 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
165 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
166 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
167 if !matched
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
168 if spec
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
169 echo "not match. break"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
170 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
171 break
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
172 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
173 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
174 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
175
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
176 let item.name = lcmd[key][my]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
177 let item.type = s:get_vim_command_type(item.name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
178 if omit_idx + 1 < strlen(item.name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
179 let item.omit_idx = omit_idx
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
180 let item.syn_str = item.name[:omit_idx] . '[' .
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
181 \ item.name[omit_idx+1:] . ']'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
182 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
183 let item.omit_idx = -1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
184 let item.syn_str = item.name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
185 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
186 call add(a:cmd, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
187 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
188 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
189
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
190 " Check exists in the help. (Usually it does not check...)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
191 let doc_dir = './vim/runtime/doc'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
192 if 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
193 for vimcmd in a:cmd
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
194 let find_ptn = '^|:' . vimcmd.name . '|\s\+'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
195 exec "silent! vimgrep /" . find_ptn . "/gj " . doc_dir . "/index.txt"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
196 let li = getqflist()
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
197 if empty(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
198 call s:err_sanity(printf('Ex-cmd `:%s` is not found in doc/index.txt.', vimcmd.name))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
199 elseif len(li) > 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
200 call s:err_sanity(printf('Ex-cmd `:%s` is duplicated in doc/index.txt.', vimcmd.name))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
201 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
202 let doc_syn_str = substitute(li[0].text, find_ptn . '\(\S\+\)\s\+.*', '\1', '')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
203 if doc_syn_str ==# vimcmd.syn_str
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
204 call s:err_sanity(printf('Ex-cmd `%s` short name differ in doc/index.txt. code: `%s`, document: `%s`', vimcmd.name, vimcmd.syn_str, doc_syn_str))
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 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
207
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
208 if 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
209 for i in range(2)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
210 if i || vimcmd.omit_idx >= 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
211 if !i
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
212 let base_ptn = vimcmd.name[:vimcmd.omit_idx]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
213 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
214 let base_ptn = vimcmd.name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
215 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
216 let find_ptn = '\*:' . base_ptn . '\*'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
217 exec "silent! vimgrep /" . find_ptn . "/gj " . doc_dir . "/*.txt"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
218 let li = getqflist()
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
219 if empty(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
220 call s:err_sanity(printf('Ex-cmd `:%s`%s is not found in the help tag.', base_ptn, !i ? ' (short name of `:' . vimcmd.name . '`)' : ''))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
221 elseif len(li) > 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
222 call s:err_sanity(printf('Ex-cmd `:%s`%s is duplicated in the help tag.', base_ptn, !i ? ' (short name of `:' . vimcmd.name . '`)' : ''))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
223 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
224 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
225 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
226 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
227 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
228 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
229
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
230 " Add weird abbreviations for delete. (See :help :d)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
231 for i in ['l', 'p']
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
232 let str = 'delete'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
233 let item.name = str . i
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
234 let item.type = s:get_vim_command_type(item.name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
235 let item.omit_idx = -1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
236 for x in range(strlen(str))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
237 let item.syn_str = str[:x] . i
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
238 if item.syn_str !=# "del"
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
239 call add(a:cmd, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
240 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
241 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
242 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
243
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
244 " Required for original behavior
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
245 let item.name = 'a' " append
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
246 let item.type = 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
247 let item.omit_idx = -1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
248 let item.syn_str = item.name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
249 call add(a:cmd, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
250 let item.name = 'i' " insert
34353
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
251 let item.syn_str = item.name
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
252 call add(a:cmd, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
253
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
254 if empty(a:cmd)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
255 throw 'cmd is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
256 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
257 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
258 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
259 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
260 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
261 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
262
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
263 function! s:get_vim_command_type(cmd_name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
264 " Return value:
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
265 " 0: normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
266 " 1: (Reserved)
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
267 " 2: abbrev (without un)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
268 " 3: menu
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
269 " 4: map
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
270 " 5: mapclear
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
271 " 6: unmap
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
272 " 7: abclear
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
273 " 99: (Exclude registration of "syn keyword")
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
274 let ab_prefix = '^[ci]\?'
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
275 let menu_prefix = '^\%([acinostvx]\?\|tl\)'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
276 let map_prefix = '^[acilnostvx]\?'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
277 let exclude_list = [
34402
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34374
diff changeset
278 \ 'map', 'mapclear',
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
279 \ 'substitute', 'smagic', 'snomagic',
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
280 \ 'setlocal', 'setglobal', 'set', 'var',
34475
1454f1f19f98 runtime(vim): Update base-syntax, improve :augroup highlighting (#14125)
Christian Brabandt <cb@256bit.org>
parents: 34439
diff changeset
281 \ 'autocmd', 'augroup', 'doautocmd', 'doautoall',
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
282 \ 'echo', 'echoconsole', 'echoerr', 'echohl', 'echomsg', 'echon', 'echowindow',
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
283 \ 'execute',
34611
1790ce961c7d runtime(vim): Update base-syntax, improve function definition highlighting (#14203)
Christian Brabandt <cb@256bit.org>
parents: 34563
diff changeset
284 \ 'function', 'endfunction', 'def', 'enddef',
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
285 \ 'behave', 'augroup', 'normal', 'syntax',
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
286 \ 'append', 'insert',
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
287 \ 'Next', 'Print', 'X',
34510
408e9818595d runtime(vim): Update base-syntax, improve :menu{,translate} highlighting (#14162)
Christian Brabandt <cb@256bit.org>
parents: 34482
diff changeset
288 \ 'new', 'popup',
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
289 \ ]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
290 " Required for original behavior
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
291 " \ 'global', 'vglobal'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
292
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
293 if index(exclude_list, a:cmd_name) != -1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
294 let ret = 99
34402
80f395e142c6 runtime(vim): Update base-syntax, fix :unabbrev highlighting (#14077)
Christian Brabandt <cb@256bit.org>
parents: 34374
diff changeset
295 elseif a:cmd_name =~# '^\%(\%(un\)\?abbreviate\|noreabbrev\|\l\%(nore\|un\)\?abbrev\)$'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
296 let ret = 2
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
297 elseif a:cmd_name =~# ab_prefix . 'abclear$'
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
298 let ret = 7
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
299 elseif a:cmd_name =~# menu_prefix . '\%(nore\|un\)\?menu$'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
300 let ret = 3
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
301 elseif a:cmd_name =~# map_prefix . '\%(nore\)\?map$'
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
302 let ret = 4
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
303 elseif a:cmd_name =~# map_prefix . 'mapclear$'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
304 let ret = 5
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
305 elseif a:cmd_name =~# map_prefix . 'unmap$'
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
306 let ret = 6
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
307 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
308 let ret = 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
309 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
310 return ret
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
311 endfunc
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 function! s:append_syn_vimcmd(lnum, str_info, cmd_list, type)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
314 let ret_lnum = a:lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
315 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
316
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
317 for o in a:cmd_list
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
318 if o.type == a:type
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
319 let str .= ' ' . o.syn_str
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
320 if len(str) > s:line_break_len
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
321 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
322 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
323 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
324 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
325 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
326 let ret_lnum += 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
327 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
328 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
329 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
330 if str !=# a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
331 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
332 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
333 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
334 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
335 let ret_lnum += 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
336 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
337 return ret_lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
338 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
339
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
340 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
341 function! s:parse_vim_event(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
342 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
343 let file_name = $VIM_SRCDIR . '/autocmd.c'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
344 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
345
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
346 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
347 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
348 norm! gg
34798
83cd18134b6f runtime(vim): Update syntax generator, autocmd event list parsing
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
349 exec '/^static keyvalue_T event_tab\[] = {$/+1;/^};$/-1yank'
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
350 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
351
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
352 put
34798
83cd18134b6f runtime(vim): Update syntax generator, autocmd event list parsing
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
353 g!/^\s*KEYVALUE_ENTRY(/d
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
354
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
355 for line in getline(1, line('$'))
34798
83cd18134b6f runtime(vim): Update syntax generator, autocmd event list parsing
Christian Brabandt <cb@256bit.org>
parents: 34664
diff changeset
356 let list = matchlist(line, '^\s*KEYVALUE_ENTRY(EVENT_\w\+,\s*"\(\w\+\)"')
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
357 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
358 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
359 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
360
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
361 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
362
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
363 if empty(a:li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
364 throw 'event is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
365 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
366 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
367 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
368 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
369 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
370 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
371
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
372 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
373 function! s:parse_vim_function(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
374 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
375 let file_name = $VIM_SRCDIR . '/evalfunc.c'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
376 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
377
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
378 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
379 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
380 norm! gg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
381 exec '/^static\s\+funcentry_T\s\+global_functions\[\]\s*=\s*$/+1;/^};/-1yank'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
382 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
383
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
384 put
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
385 g!/^\s*{\s*"\w\+"\s*,.*$/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
386 g/^\s*{\s*"test"\s*,.*$/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
387 g@//\s*obsolete@d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
388 g@/\*\s*obsolete\s*\*/@d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
389
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
390 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
391 let list = matchlist(line, '^\s*{\s*"\(\w\+\)"\s*,')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
392 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
393 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
394 endfor
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 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
397
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
398 if empty(a:li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
399 throw 'function is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
400 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
401 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
402 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
403 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
404 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
405 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
406
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
407 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
408 function! s:parse_vim_hlgroup(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
409 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
410 let file_name = $VIM_SRCDIR . '/highlight.c'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
411 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
412
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
413 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
414 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
415 call cursor(1, 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
416 exec '/^static\s\+char\s\+\*(highlight_init_both\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank a'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
417 exec '/^static\s\+char\s\+\*(highlight_init_light\[\])\s*=\%(\s*{\)\?$/+1;/^\s*};/-1yank b'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
418 exec '/^set_normal_colors(\%(void\)\?)$/+1;/^}$/-1yank d'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
419 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
420 put a
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
421 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
422 let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
423 if !empty(list)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
424 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
425 let item.type = 'both'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
426 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
427 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
428 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
429
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
430 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
431 put b
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
432 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
433 let list = matchlist(line, '^\s*\%(CENT(\)\?"\%(default\s\+link\s\+\)\?\(\a\+\).*",.*')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
434 if !empty(list)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
435 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
436 let item.type = 'light'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
437 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
438 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
439 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
440
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
441 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
442 put d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
443 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
444 let list = matchlist(line, '^\s*if\s*(set_group_colors(.*"\(\a\+\)",')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
445 if !empty(list) && list[1] !=# 'Normal'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
446 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
447 let item.type = 'gui'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
448 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
449 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
450 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
451
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
452 let item.name = 'CursorIM'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
453 let item.type = 'gui'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
454 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
455
34353
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
456 " The following highlight groups cannot be extracted from highlight.c
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
457 " (TODO: extract from HIGHLIGHT_INIT ?)
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
458 let item.name = 'LineNrAbove'
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
459 let item.type = 'both'
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
460 call add(a:li, copy(item))
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
461
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
462 let item.name = 'LineNrBelow'
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
463 let item.type = 'both'
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
464 call add(a:li, copy(item))
da420cabb018 runtime(vim): update Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents: 34346
diff changeset
465
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
466 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
467
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
468 if empty(a:li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
469 throw 'hlgroup is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
470 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
471 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
472 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
473 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
474 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
475 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
476
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
477 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
478 function! s:parse_vim_complete_name(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
479 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
480 let file_name = $VIM_SRCDIR . '/usercmd.c'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
481 let item = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
482
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
483 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
484 exec 'read ' . file_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
485 norm! gg
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
486 exec '/^}\s*command_complete\[\]\s*=\s*$/+1;/^};/-1yank'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
487 %delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
488
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
489 put
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
490 g!/^\s*{.*"\w\+"\s*}\s*,.*$/d
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
491 g/"custom\(list\)\?"/d
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 for line in getline(1, line('$'))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
494 let list = matchlist(line, '^\s*{.*"\(\w\+\)"\s*}\s*,')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
495 let item.name = list[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
496 call add(a:li, copy(item))
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
497 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
498
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
499 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
500
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
501 if empty(a:li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
502 throw 'complete_name is empty'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
503 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
504 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
505 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
506 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
507 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
508 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
509
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
510 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
511 function! s:append_syn_any(lnum, str_info, li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
512 let ret_lnum = a:lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
513 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
514
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
515 for o in a:li
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
516 let str .= ' ' . o.name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
517 if len(str) > s:line_break_len
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
518 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
519 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
520 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
521 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
522 let str = a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
523 let ret_lnum += 1
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
524 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
525 endfor
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
526 if str !=# a:str_info.start
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
527 if !empty(a:str_info.end)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
528 let str .= ' ' . a:str_info.end
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
529 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
530 call append(ret_lnum, str)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
531 let ret_lnum += 1
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 return ret_lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
534 endfunc
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 function! s:update_syntax_vim_file(vim_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
537 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
538 function! s:search_and_check(kword, base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
539 let a:str_info.start = ''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
540 let a:str_info.end = ''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
541
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
542 let pattern = '^" GEN_SYN_VIM: ' . a:kword . '\s*,'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
543 let lnum = search(pattern)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
544 if lnum == 0
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
545 throw 'Search pattern ''' . pattern . ''' not found in ' .
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
546 \ a:base_fname
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
547 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
548 let li = matchlist(getline(lnum), pattern . '\s*START_STR\s*=\s*''\(.\{-}\)''\s*,\s*END_STR\s*=\s*''\(.\{-}\)''')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
549 if empty(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
550 throw 'Bad str_info line:' . getline(lnum)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
551 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
552 let a:str_info.start = li[1]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
553 let a:str_info.end = li[2]
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
554 return lnum
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
555 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
556
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
557 let target_fname = 'vim.vim.rc'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
558 let base_fname = 'vim.vim.base'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
559 let str_info = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
560 let str_info.start = ''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
561 let str_info.end = ''
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
562
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
563 new
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
564 exec 'edit ' . target_fname
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
565 %d _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
566 exec 'read ' . base_fname
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
567 1delete _
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
568 call cursor(1, 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
569
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
570 " vimCommand
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
571 let li = a:vim_info.cmd
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
572 " vimCommand - normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
573 let lnum = s:search_and_check('vimCommand normal', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
574 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 0)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
575
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
576 " vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
577 let kword = 'vimOption'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
578 let li = a:vim_info.opt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
579 " vimOption - normal
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
580 let lnum = s:search_and_check(kword . ' normal', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
581 let lnum = s:append_syn_vimopt(lnum, str_info, li, '', 0)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
582 " vimOption - turn-off
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
583 let lnum = s:search_and_check(kword . ' turn-off', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
584 let lnum = s:append_syn_vimopt(lnum, str_info, li, 'no', 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
585 " vimOption - invertible
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
586 let lnum = s:search_and_check(kword . ' invertible', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
587 let lnum = s:append_syn_vimopt(lnum, str_info, li, 'inv', 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
588 " vimOption - term output code
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
589 let li = a:vim_info.term_out_code
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
590 let lnum = s:search_and_check(kword . ' term output code', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
591 let lnum = s:append_syn_any(lnum, str_info, li)
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 " Missing vimOption
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
594 let li = a:vim_info.missing_opt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
595 let lnum = s:search_and_check('Missing vimOption', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
596 let lnum = s:append_syn_vimopt(lnum, str_info, li, '', 0)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
597 let lnum = s:append_syn_vimopt(lnum, str_info, li, 'no', 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
598 let lnum = s:append_syn_vimopt(lnum, str_info, li, 'inv', 1)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
599
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
600 " vimAutoEvent
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
601 let li = a:vim_info.event
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
602 let lnum = s:search_and_check('vimAutoEvent', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
603 let lnum = s:append_syn_any(lnum, str_info, li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
604
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
605 " vimHLGroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
606 let li = a:vim_info.hlgroup
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
607 let lnum = s:search_and_check('vimHLGroup', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
608 let lnum = s:append_syn_any(lnum, str_info, li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
609
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
610 " vimFuncName
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
611 let li = a:vim_info.func
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
612 let lnum = s:search_and_check('vimFuncName', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
613 let lnum = s:append_syn_any(lnum, str_info, li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
614
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
615 " vimUserAttrbCmplt
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
616 let li = a:vim_info.compl_name
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
617 let lnum = s:search_and_check('vimUserAttrbCmplt', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
618 let lnum = s:append_syn_any(lnum, str_info, li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
619
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
620 " vimCommand - abbrev
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
621 let kword = 'vimCommand'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
622 let li = a:vim_info.cmd
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
623 let lnum = s:search_and_check(kword . ' abbrev', base_fname, str_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
624 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 2)
34664
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
625 let lnum = s:search_and_check(kword . ' abclear', base_fname, str_info)
af61243e5aeb runtime(vim): Update base-syntax, match empty blob and :abclear modifiers (#14318)
Christian Brabandt <cb@256bit.org>
parents: 34611
diff changeset
626 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 7)
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
627 " vimCommand - map
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
628 let lnum = s:search_and_check(kword . ' map', base_fname, str_info)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
629 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 4)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
630 let lnum = s:search_and_check(kword . ' mapclear', base_fname, str_info)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
631 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 5)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
632 let lnum = s:search_and_check(kword . ' unmap', base_fname, str_info)
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
633 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 6)
34439
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
634 " vimCommand - menu
a4aa5fe4a477 runtime(vim): Update base-syntax, improve :echo highlighting (#14103)
Christian Brabandt <cb@256bit.org>
parents: 34402
diff changeset
635 let lnum = s:search_and_check(kword . ' menu', base_fname, str_info)
34563
98d8ef6b57c9 runtime(vim): Update base-syntax, improve :echo and :execute highlighting (#14199)
Christian Brabandt <cb@256bit.org>
parents: 34510
diff changeset
636 let lnum = s:append_syn_vimcmd(lnum, str_info, li, 3)
34346
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
637
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
638 update
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
639 quit!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
640
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
641 catch /.*/
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
642 call s:err_gen('')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
643 throw 'exit'
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
644 endtry
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
645 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
646
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
647 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
648 function! s:err_gen(arg)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
649 call s:write_error(a:arg, 'generator.err')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
650 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
651
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
652 function! s:err_sanity(arg)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
653 call s:write_error(a:arg, 'sanity_check.err')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
654 endfunc
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
655
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
656 function! s:write_error(arg, fname)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
657 let li = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
658 if !empty(v:throwpoint)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
659 call add(li, v:throwpoint)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
660 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
661 if !empty(v:exception)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
662 call add(li, v:exception)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
663 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
664 if type(a:arg) == type([])
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
665 call extend(li, a:arg)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
666 elseif type(a:arg) == type("")
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
667 if !empty(a:arg)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
668 call add(li, a:arg)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
669 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
670 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
671 if !empty(li)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
672 call writefile(li, a:fname, 'a')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
673 else
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
674 call writefile(['UNKNOWN'], a:fname, 'a')
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
675 endif
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
676 endfunc
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 " ------------------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
679 try
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
680 let s:line_break_len = 768
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
681 let s:vim_info = {}
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
682 let s:vim_info.opt = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
683 let s:vim_info.missing_opt = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
684 let s:vim_info.term_out_code = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
685 let s:vim_info.cmd = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
686 let s:vim_info.event = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
687 let s:vim_info.func = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
688 let s:vim_info.hlgroup = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
689 let s:vim_info.compl_name = []
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
690
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
691 set lazyredraw
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
692 silent call s:parse_vim_option(s:vim_info.opt, s:vim_info.missing_opt,
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
693 \ s:vim_info.term_out_code)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
694 silent call s:parse_vim_command(s:vim_info.cmd)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
695 silent call s:parse_vim_event(s:vim_info.event)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
696 silent call s:parse_vim_function(s:vim_info.func)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
697 silent call s:parse_vim_hlgroup(s:vim_info.hlgroup)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
698 silent call s:parse_vim_complete_name(s:vim_info.compl_name)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
699
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
700 call s:update_syntax_vim_file(s:vim_info)
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
701 set nolazyredraw
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
702
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
703 finally
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
704 quitall!
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
705 endtry
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 " ---------------------------------------------------------------------
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
708 let &cpo = s:keepcpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
709 unlet s:keepcpo
776cb5c73d6f runtime(vim): include Vim Syntax generator
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
710 " vim:ts=2 sw=2