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