844
|
1 " smcl.vim -- Vim syntax file for smcl files.
|
831
|
2 " Language: SMCL -- Stata Markup and Control Language
|
|
3 " Maintainer: Jeff Pitblado <jpitblado@stata.com>
|
844
|
4 " Last Change: 26apr2006
|
|
5 " Version: 1.1.2
|
831
|
6
|
|
7 " Log:
|
|
8 " 20mar2003 updated the match definition for cmdab
|
|
9 " 14apr2006 'syntax clear' only under version control
|
|
10 " check for 'b:current_syntax', removed 'did_smcl_syntax_inits'
|
844
|
11 " 26apr2006 changed 'stata_smcl' to 'smcl'
|
831
|
12
|
|
13 if version < 600
|
|
14 syntax clear
|
|
15 elseif exists("b:current_syntax")
|
|
16 finish
|
|
17 endif
|
|
18
|
|
19 syntax case match
|
|
20
|
|
21 syn keyword smclCCLword current_date contained
|
|
22 syn keyword smclCCLword current_time contained
|
|
23 syn keyword smclCCLword rmsg_time contained
|
|
24 syn keyword smclCCLword stata_version contained
|
|
25 syn keyword smclCCLword version contained
|
|
26 syn keyword smclCCLword born_date contained
|
|
27 syn keyword smclCCLword flavor contained
|
|
28 syn keyword smclCCLword SE contained
|
|
29 syn keyword smclCCLword mode contained
|
|
30 syn keyword smclCCLword console contained
|
|
31 syn keyword smclCCLword os contained
|
|
32 syn keyword smclCCLword osdtl contained
|
|
33 syn keyword smclCCLword machine_type contained
|
|
34 syn keyword smclCCLword byteorder contained
|
|
35 syn keyword smclCCLword sysdir_stata contained
|
|
36 syn keyword smclCCLword sysdir_updates contained
|
|
37 syn keyword smclCCLword sysdir_base contained
|
|
38 syn keyword smclCCLword sysdir_site contained
|
|
39 syn keyword smclCCLword sysdir_plus contained
|
|
40 syn keyword smclCCLword sysdir_personal contained
|
|
41 syn keyword smclCCLword sysdir_oldplace contained
|
|
42 syn keyword smclCCLword adopath contained
|
|
43 syn keyword smclCCLword pwd contained
|
|
44 syn keyword smclCCLword dirsep contained
|
|
45 syn keyword smclCCLword max_N_theory contained
|
|
46 syn keyword smclCCLword max_N_current contained
|
|
47 syn keyword smclCCLword max_k_theory contained
|
|
48 syn keyword smclCCLword max_k_current contained
|
|
49 syn keyword smclCCLword max_width_theory contained
|
|
50 syn keyword smclCCLword max_width_current contained
|
|
51 syn keyword smclCCLword max_matsize contained
|
|
52 syn keyword smclCCLword min_matsize contained
|
|
53 syn keyword smclCCLword max_macrolen contained
|
|
54 syn keyword smclCCLword macrolen contained
|
|
55 syn keyword smclCCLword max_cmdlen contained
|
|
56 syn keyword smclCCLword cmdlen contained
|
|
57 syn keyword smclCCLword namelen contained
|
|
58 syn keyword smclCCLword mindouble contained
|
|
59 syn keyword smclCCLword maxdouble contained
|
|
60 syn keyword smclCCLword epsdouble contained
|
|
61 syn keyword smclCCLword minfloat contained
|
|
62 syn keyword smclCCLword maxfloat contained
|
|
63 syn keyword smclCCLword epsfloat contained
|
|
64 syn keyword smclCCLword minlong contained
|
|
65 syn keyword smclCCLword maxlong contained
|
|
66 syn keyword smclCCLword minint contained
|
|
67 syn keyword smclCCLword maxint contained
|
|
68 syn keyword smclCCLword minbyte contained
|
|
69 syn keyword smclCCLword maxbyte contained
|
|
70 syn keyword smclCCLword maxstrvarlen contained
|
|
71 syn keyword smclCCLword memory contained
|
|
72 syn keyword smclCCLword maxvar contained
|
|
73 syn keyword smclCCLword matsize contained
|
|
74 syn keyword smclCCLword N contained
|
|
75 syn keyword smclCCLword k contained
|
|
76 syn keyword smclCCLword width contained
|
|
77 syn keyword smclCCLword changed contained
|
|
78 syn keyword smclCCLword filename contained
|
|
79 syn keyword smclCCLword filedate contained
|
|
80 syn keyword smclCCLword more contained
|
|
81 syn keyword smclCCLword rmsg contained
|
|
82 syn keyword smclCCLword dp contained
|
|
83 syn keyword smclCCLword linesize contained
|
|
84 syn keyword smclCCLword pagesize contained
|
|
85 syn keyword smclCCLword logtype contained
|
|
86 syn keyword smclCCLword linegap contained
|
|
87 syn keyword smclCCLword scrollbufsize contained
|
|
88 syn keyword smclCCLword varlabelpos contained
|
|
89 syn keyword smclCCLword reventries contained
|
|
90 syn keyword smclCCLword graphics contained
|
|
91 syn keyword smclCCLword scheme contained
|
|
92 syn keyword smclCCLword printcolor contained
|
|
93 syn keyword smclCCLword adosize contained
|
|
94 syn keyword smclCCLword maxdb contained
|
|
95 syn keyword smclCCLword virtual contained
|
|
96 syn keyword smclCCLword checksum contained
|
|
97 syn keyword smclCCLword timeout1 contained
|
|
98 syn keyword smclCCLword timeout2 contained
|
|
99 syn keyword smclCCLword httpproxy contained
|
|
100 syn keyword smclCCLword h_current contained
|
|
101 syn keyword smclCCLword max_matsize contained
|
|
102 syn keyword smclCCLword min_matsize contained
|
|
103 syn keyword smclCCLword max_macrolen contained
|
|
104 syn keyword smclCCLword macrolen contained
|
|
105 syn keyword smclCCLword max_cmdlen contained
|
|
106 syn keyword smclCCLword cmdlen contained
|
|
107 syn keyword smclCCLword namelen contained
|
|
108 syn keyword smclCCLword mindouble contained
|
|
109 syn keyword smclCCLword maxdouble contained
|
|
110 syn keyword smclCCLword epsdouble contained
|
|
111 syn keyword smclCCLword minfloat contained
|
|
112 syn keyword smclCCLword maxfloat contained
|
|
113 syn keyword smclCCLword epsfloat contained
|
|
114 syn keyword smclCCLword minlong contained
|
|
115 syn keyword smclCCLword maxlong contained
|
|
116 syn keyword smclCCLword minint contained
|
|
117 syn keyword smclCCLword maxint contained
|
|
118 syn keyword smclCCLword minbyte contained
|
|
119 syn keyword smclCCLword maxbyte contained
|
|
120 syn keyword smclCCLword maxstrvarlen contained
|
|
121 syn keyword smclCCLword memory contained
|
|
122 syn keyword smclCCLword maxvar contained
|
|
123 syn keyword smclCCLword matsize contained
|
|
124 syn keyword smclCCLword N contained
|
|
125 syn keyword smclCCLword k contained
|
|
126 syn keyword smclCCLword width contained
|
|
127 syn keyword smclCCLword changed contained
|
|
128 syn keyword smclCCLword filename contained
|
|
129 syn keyword smclCCLword filedate contained
|
|
130 syn keyword smclCCLword more contained
|
|
131 syn keyword smclCCLword rmsg contained
|
|
132 syn keyword smclCCLword dp contained
|
|
133 syn keyword smclCCLword linesize contained
|
|
134 syn keyword smclCCLword pagesize contained
|
|
135 syn keyword smclCCLword logtype contained
|
|
136 syn keyword smclCCLword linegap contained
|
|
137 syn keyword smclCCLword scrollbufsize contained
|
|
138 syn keyword smclCCLword varlabelpos contained
|
|
139 syn keyword smclCCLword reventries contained
|
|
140 syn keyword smclCCLword graphics contained
|
|
141 syn keyword smclCCLword scheme contained
|
|
142 syn keyword smclCCLword printcolor contained
|
|
143 syn keyword smclCCLword adosize contained
|
|
144 syn keyword smclCCLword maxdb contained
|
|
145 syn keyword smclCCLword virtual contained
|
|
146 syn keyword smclCCLword checksum contained
|
|
147 syn keyword smclCCLword timeout1 contained
|
|
148 syn keyword smclCCLword timeout2 contained
|
|
149 syn keyword smclCCLword httpproxy contained
|
|
150 syn keyword smclCCLword httpproxyhost contained
|
|
151 syn keyword smclCCLword httpproxyport contained
|
|
152 syn keyword smclCCLword httpproxyauth contained
|
|
153 syn keyword smclCCLword httpproxyuser contained
|
|
154 syn keyword smclCCLword httpproxypw contained
|
|
155 syn keyword smclCCLword trace contained
|
|
156 syn keyword smclCCLword tracedepth contained
|
|
157 syn keyword smclCCLword tracesep contained
|
|
158 syn keyword smclCCLword traceindent contained
|
|
159 syn keyword smclCCLword traceexapnd contained
|
|
160 syn keyword smclCCLword tracenumber contained
|
|
161 syn keyword smclCCLword type contained
|
|
162 syn keyword smclCCLword level contained
|
|
163 syn keyword smclCCLword seed contained
|
|
164 syn keyword smclCCLword searchdefault contained
|
|
165 syn keyword smclCCLword pi contained
|
|
166 syn keyword smclCCLword rc contained
|
|
167
|
|
168 " Directive for the contant and current-value class
|
|
169 syn region smclCCL start=/{ccl / end=/}/ oneline contains=smclCCLword
|
|
170
|
|
171 " The order of the following syntax definitions is roughly that of the on-line
|
|
172 " documentation for smcl in Stata, from within Stata see help smcl.
|
|
173
|
|
174 " Format directives for line and paragraph modes
|
|
175 syn match smclFormat /{smcl}/
|
|
176 syn match smclFormat /{sf\(\|:[^}]\+\)}/
|
|
177 syn match smclFormat /{it\(\|:[^}]\+\)}/
|
|
178 syn match smclFormat /{bf\(\|:[^}]\+\)}/
|
|
179 syn match smclFormat /{inp\(\|:[^}]\+\)}/
|
|
180 syn match smclFormat /{input\(\|:[^}]\+\)}/
|
|
181 syn match smclFormat /{err\(\|:[^}]\+\)}/
|
|
182 syn match smclFormat /{error\(\|:[^}]\+\)}/
|
|
183 syn match smclFormat /{res\(\|:[^}]\+\)}/
|
|
184 syn match smclFormat /{result\(\|:[^}]\+\)}/
|
|
185 syn match smclFormat /{txt\(\|:[^}]\+\)}/
|
|
186 syn match smclFormat /{text\(\|:[^}]\+\)}/
|
|
187 syn match smclFormat /{com\(\|:[^}]\+\)}/
|
|
188 syn match smclFormat /{cmd\(\|:[^}]\+\)}/
|
|
189 syn match smclFormat /{cmdab:[^:}]\+:[^:}()]*\(\|:\|:(\|:()\)}/
|
|
190 syn match smclFormat /{hi\(\|:[^}]\+\)}/
|
|
191 syn match smclFormat /{hilite\(\|:[^}]\+\)}/
|
|
192 syn match smclFormat /{ul \(on\|off\)}/
|
|
193 syn match smclFormat /{ul:[^}]\+}/
|
|
194 syn match smclFormat /{hline\(\| \d\+\| -\d\+\|:[^}]\+\)}/
|
|
195 syn match smclFormat /{dup \d\+:[^}]\+}/
|
|
196 syn match smclFormat /{c [^}]\+}/
|
|
197 syn match smclFormat /{char [^}]\+}/
|
|
198 syn match smclFormat /{reset}/
|
|
199
|
|
200 " Formatting directives for line mode
|
|
201 syn match smclFormat /{title:[^}]\+}/
|
|
202 syn match smclFormat /{center:[^}]\+}/
|
|
203 syn match smclFormat /{centre:[^}]\+}/
|
|
204 syn match smclFormat /{center \d\+:[^}]\+}/
|
|
205 syn match smclFormat /{centre \d\+:[^}]\+}/
|
|
206 syn match smclFormat /{right:[^}]\+}/
|
|
207 syn match smclFormat /{lalign \d\+:[^}]\+}/
|
|
208 syn match smclFormat /{ralign \d\+:[^}]\+}/
|
|
209 syn match smclFormat /{\.\.\.}/
|
|
210 syn match smclFormat /{col \d\+}/
|
|
211 syn match smclFormat /{space \d\+}/
|
|
212 syn match smclFormat /{tab}/
|
|
213
|
|
214 " Formatting directives for paragraph mode
|
|
215 syn match smclFormat /{bind:[^}]\+}/
|
|
216 syn match smclFormat /{break}/
|
|
217
|
|
218 syn match smclFormat /{p}/
|
|
219 syn match smclFormat /{p \d\+}/
|
|
220 syn match smclFormat /{p \d\+ \d\+}/
|
|
221 syn match smclFormat /{p \d\+ \d\+ \d\+}/
|
|
222 syn match smclFormat /{pstd}/
|
|
223 syn match smclFormat /{psee}/
|
|
224 syn match smclFormat /{phang\(\|2\|3\)}/
|
|
225 syn match smclFormat /{pmore\(\|2\|3\)}/
|
|
226 syn match smclFormat /{pin\(\|2\|3\)}/
|
|
227 syn match smclFormat /{p_end}/
|
|
228
|
|
229 syn match smclFormat /{opt \w\+\(\|:\w\+\)\(\|([^)}]*)\)}/
|
|
230
|
|
231 syn match smclFormat /{opth \w*\(\|:\w\+\)(\w*)}/
|
|
232 syn match smclFormat /{opth "\w\+\((\w\+:[^)}]\+)\)"}/
|
|
233 syn match smclFormat /{opth \w\+:\w\+(\w\+:[^)}]\+)}/
|
|
234
|
|
235 syn match smclFormat /{dlgtab\s*\(\|\d\+\|\d\+\s\+\d\+\):[^}]\+}/
|
|
236
|
|
237 syn match smclFormat /{p2colset\s\+\d\+\s\+\d\+\s\+\d\+\s\+\d\+}/
|
|
238 syn match smclFormat /{p2col\s\+:[^{}]*}.*{p_end}/
|
|
239 syn match smclFormat /{p2col\s\+:{[^{}]*}}.*{p_end}/
|
|
240 syn match smclFormat /{p2coldent\s*:[^{}]*}.*{p_end}/
|
|
241 syn match smclFormat /{p2coldent\s*:{[^{}]*}}.*{p_end}/
|
|
242 syn match smclFormat /{p2line\s*\(\|\d\+\s\+\d\+\)}/
|
|
243 syn match smclFormat /{p2colreset}/
|
|
244
|
|
245 syn match smclFormat /{synoptset\s\+\d\+\s\+\w\+}/
|
|
246 syn match smclFormat /{synopt\s*:[^{}]*}.*{p_end}/
|
|
247 syn match smclFormat /{synopt\s*:{[^{}]*}}.*{p_end}/
|
|
248 syn match smclFormat /{syntab\s*:[^{}]*}/
|
|
249 syn match smclFormat /{synopthdr}/
|
|
250 syn match smclFormat /{synoptline}/
|
|
251
|
|
252 " Link directive for line and paragraph modes
|
|
253 syn match smclLink /{help [^}]\+}/
|
|
254 syn match smclLink /{helpb [^}]\+}/
|
|
255 syn match smclLink /{help_d:[^}]\+}/
|
|
256 syn match smclLink /{search [^}]\+}/
|
|
257 syn match smclLink /{search_d:[^}]\+}/
|
|
258 syn match smclLink /{browse [^}]\+}/
|
|
259 syn match smclLink /{view [^}]\+}/
|
|
260 syn match smclLink /{view_d:[^}]\+}/
|
|
261 syn match smclLink /{news:[^}]\+}/
|
|
262 syn match smclLink /{net [^}]\+}/
|
|
263 syn match smclLink /{net_d:[^}]\+}/
|
|
264 syn match smclLink /{netfrom_d:[^}]\+}/
|
|
265 syn match smclLink /{ado [^}]\+}/
|
|
266 syn match smclLink /{ado_d:[^}]\+}/
|
|
267 syn match smclLink /{update [^}]\+}/
|
|
268 syn match smclLink /{update_d:[^}]\+}/
|
|
269 syn match smclLink /{dialog [^}]\+}/
|
|
270 syn match smclLink /{back:[^}]\+}/
|
|
271 syn match smclLink /{clearmore:[^}]\+}/
|
|
272 syn match smclLink /{stata [^}]\+}/
|
|
273
|
|
274 syn match smclLink /{newvar\(\|:[^}]\+\)}/
|
|
275 syn match smclLink /{var\(\|:[^}]\+\)}/
|
|
276 syn match smclLink /{varname\(\|:[^}]\+\)}/
|
|
277 syn match smclLink /{vars\(\|:[^}]\+\)}/
|
|
278 syn match smclLink /{varlist\(\|:[^}]\+\)}/
|
|
279 syn match smclLink /{depvar\(\|:[^}]\+\)}/
|
|
280 syn match smclLink /{depvars\(\|:[^}]\+\)}/
|
|
281 syn match smclLink /{depvarlist\(\|:[^}]\+\)}/
|
|
282 syn match smclLink /{indepvars\(\|:[^}]\+\)}/
|
|
283
|
|
284 syn match smclLink /{dtype}/
|
|
285 syn match smclLink /{ifin}/
|
|
286 syn match smclLink /{weight}/
|
|
287
|
|
288 " Comment
|
|
289 syn region smclComment start=/{\*/ end=/}/ oneline
|
|
290
|
|
291 " Strings
|
|
292 syn region smclString matchgroup=Nothing start=/"/ end=/"/ oneline
|
|
293 syn region smclEString matchgroup=Nothing start=/`"/ end=/"'/ oneline contains=smclEString
|
|
294
|
|
295 " assign highlight groups
|
|
296
|
|
297 hi def link smclEString smclString
|
|
298
|
|
299 hi def link smclCCLword Statement
|
|
300 hi def link smclCCL Type
|
|
301 hi def link smclFormat Statement
|
|
302 hi def link smclLink Underlined
|
|
303 hi def link smclComment Comment
|
|
304 hi def link smclString String
|
|
305
|
844
|
306 let b:current_syntax = "smcl"
|
831
|
307
|
|
308 " vim: ts=8
|