1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
" Vim syntax file
" Language: TeX (core definition)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-04-19
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" This follows the grouping (sort of) found at
" http://www.tug.org/utilities/plain/cseq.html#top-fam
syn keyword initexTodo TODO FIXME XXX NOTE
syn match initexComment display contains=initexTodo
\ '\\\@<!\%(\\\\\)*\zs%.*$'
syn match initexDimension display contains=@NoSpell
\ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
syn cluster initexBox
\ contains=initexBoxCommand,initexBoxInternalQuantity,
\ initexBoxParameterDimen,initexBoxParameterInteger,
\ initexBoxParameterToken
syn cluster initexCharacter
\ contains=initexCharacterCommand,initexCharacterInternalQuantity,
\ initexCharacterParameterInteger
syn cluster initexDebugging
\ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
\ initexDebuggingParameterToken
syn cluster initexFileIO
\ contains=initexFileIOCommand,initexFileIOInternalQuantity,
\ initexFileIOParameterToken
syn cluster initexFonts
\ contains=initexFontsCommand,initexFontsInternalQuantity
syn cluster initexGlue
\ contains=initexGlueCommand,initexGlueDerivedCommand
syn cluster initexHyphenation
\ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
\ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
syn cluster initexInserts
\ contains=initexInsertsCommand,initexInsertsParameterDimen,
\ initexInsertsParameterGlue,initexInsertsParameterInteger
syn cluster initexJob
\ contains=initexJobCommand,initexJobInternalQuantity,
\ initexJobParameterInteger
syn cluster initexKern
\ contains=initexKernCommand,initexKernInternalQuantity
syn cluster initexLogic
\ contains=initexLogicCommand
syn cluster initexMacro
\ contains=initexMacroCommand,initexMacroDerivedCommand,
\ initexMacroParameterInteger
syn cluster initexMarks
\ contains=initexMarksCommand
syn cluster initexMath
\ contains=initexMathCommand,initexMathDerivedCommand,
\ initexMathInternalQuantity,initexMathParameterDimen,
\ initexMathParameterGlue,initexMathParameterInteger,
\ initexMathParameterMuglue,initexMathParameterToken
syn cluster initexPage
\ contains=initexPageInternalQuantity,initexPageParameterDimen,
\ initexPageParameterGlue
syn cluster initexParagraph
\ contains=initexParagraphCommand,initexParagraphInternalQuantity,
\ initexParagraphParameterDimen,initexParagraphParameterGlue,
\ initexParagraphParameterInteger,initexParagraphParameterToken
syn cluster initexPenalties
\ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
\ initexPenaltiesParameterInteger
syn cluster initexRegisters
\ contains=initexRegistersCommand,initexRegistersInternalQuantity
syn cluster initexTables
\ contains=initexTablesCommand,initexTablesParameterGlue,
\ initexTablesParameterToken
syn cluster initexCommand
\ contains=initexBoxCommand,initexCharacterCommand,
\ initexDebuggingCommand,initexFileIOCommand,
\ initexFontsCommand,initexGlueCommand,
\ initexHyphenationCommand,initexInsertsCommand,
\ initexJobCommand,initexKernCommand,initexLogicCommand,
\ initexMacroCommand,initexMarksCommand,initexMathCommand,
\ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
\ initexTablesCommand
syn match initexBoxCommand display contains=@NoSpell
\ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
syn match initexCharacterCommand display contains=@NoSpell
\ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
syn match initexDebuggingCommand display contains=@NoSpell
\ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
syn match initexFileIOCommand display contains=@NoSpell
\ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
syn match initexFontsCommand display contains=@NoSpell
\ '\\\%(/\|fontname\)\>'
syn match initexGlueCommand display contains=@NoSpell
\ '\\\%([hv]\|un\)skip\>'
syn match initexHyphenationCommand display contains=@NoSpell
\ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
syn match initexInsertsCommand display contains=@NoSpell
\ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
syn match initexJobCommand display contains=@NoSpell
\ '\\\%(dump\|end\|jobname\)\>'
syn match initexKernCommand display contains=@NoSpell
\ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
syn match initexLogicCommand display contains=@NoSpell
\ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
" \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
syn match initexMacroCommand display contains=@NoSpell
\ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
syn match initexMarksCommand display contains=@NoSpell
\ '\\\%(bot\|first\|top\)\=mark\>'
syn match initexMathCommand display contains=@NoSpell
\ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
syn match initexParagraphCommand display contains=@NoSpell
\ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
syn match initexPenaltiesCommand display contains=@NoSpell
\ '\\\%(un\)\=penalty\>'
syn match initexRegistersCommand display contains=@NoSpell
\ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
syn match initexTablesCommand display contains=@NoSpell
\ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
syn cluster initexDerivedCommand
\ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
\ initexMacroDerivedCommand,initexMathDerivedCommand
syn match initexGlueDerivedCommand display contains=@NoSpell
\ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
syn match initexHyphenationDerivedCommand display contains=@NoSpell
\ '\\-'
syn match initexMacroDerivedCommand display contains=@NoSpell
\ '\\[gx]def\>'
syn match initexMathDerivedCommand display contains=@NoSpell
\ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
syn cluster initexInternalQuantity
\ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
\ initexFileIOInternalQuantity,initexFontsInternalQuantity,
\ initexHyphenationInternalQuantity,initexJobInternalQuantity,
\ initexKernInternalQuantity,initexMathInternalQuantity,
\ initexPageInternalQuantity,initexParagraphInternalQuantity,
\ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
syn match initexBoxInternalQuantity display contains=@NoSpell
\ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
syn match initexCharacterInternalQuantity display contains=@NoSpell
\ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
syn match initexFileIOInternalQuantity display contains=@NoSpell
\ '\\inputlineno\>'
syn match initexFontsInternalQuantity display contains=@NoSpell
\ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
syn match initexHyphenationInternalQuantity display contains=@NoSpell
\ '\\hyphenchar\>'
syn match initexJobInternalQuantity display contains=@NoSpell
\ '\\deadcycles\>'
syn match initexKernInternalQuantity display contains=@NoSpell
\ '\\lastkern\>'
syn match initexMathInternalQuantity display contains=@NoSpell
\ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
syn match initexPageInternalQuantity display contains=@NoSpell
\ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
syn match initexParagraphInternalQuantity display contains=@NoSpell
\ '\\\%(prevgraf\|spacefactor\)\>'
syn match initexPenaltiesInternalQuantity display contains=@NoSpell
\ '\\lastpenalty\>'
syn match initexRegistersInternalQuantity display contains=@NoSpell
\ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
syn cluster initexParameterDimen
\ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
\ initexMathParameterDimen,initexPageParameterDimen,
\ initexParagraphParameterDimen
syn match initexBoxParameterDimen display contains=@NoSpell
\ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
syn match initexInsertsParameterDimen display contains=@NoSpell
\ '\\splitmaxdepth\>'
syn match initexMathParameterDimen display contains=@NoSpell
\ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
syn match initexPageParameterDimen display contains=@NoSpell
\ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
syn match initexParagraphParameterDimen display contains=@NoSpell
\ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
syn cluster initexParameterGlue
\ contains=initexInsertsParameterGlue,initexMathParameterGlue,
\ initexPageParameterGlue,initexParagraphParameterGlue,
\ initexTablesParameterGlue
syn match initexInsertsParameterGlue display contains=@NoSpell
\ '\\splittopskip\>'
syn match initexMathParameterGlue display contains=@NoSpell
\ '\\\%(above\|below\)display\%(short\)\=skip\>'
syn match initexPageParameterGlue display contains=@NoSpell
\ '\\topskip\>'
syn match initexParagraphParameterGlue display contains=@NoSpell
\ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
syn match initexTablesParameterGlue display contains=@NoSpell
\ '\\tabskip\>'
syn cluster initexParameterInteger
\ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
\ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
\ initexInsertsParameterInteger,initexJobParameterInteger,
\ initexMacroParameterInteger,initexMathParameterInteger,
\ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
syn match initexBoxParameterInteger display contains=@NoSpell
\ '\\[hv]badness\>'
syn match initexCharacterParameterInteger display contains=@NoSpell
\ '\\\%(\%(endline\|escape\|newline\)char\)\>'
syn match initexDebuggingParameterInteger display contains=@NoSpell
\ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
syn match initexHyphenationParameterInteger display contains=@NoSpell
\ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
syn match initexInsertsParameterInteger display contains=@NoSpell
\ '\\\%(holdinginserts\)\>'
syn match initexJobParameterInteger display contains=@NoSpell
\ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
syn match initexMacroParameterInteger display contains=@NoSpell
\ '\\globaldefs\>'
syn match initexMathParameterInteger display contains=@NoSpell
\ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
syn match initexParagraphParameterInteger display contains=@NoSpell
\ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
syn match initexPenaltiesParameterInteger display contains=@NoSpell
\ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
syn cluster initexParameterMuglue
\ contains=initexMathParameterMuglue
syn match initexMathParameterMuglue display contains=@NoSpell
\ '\\\%(med\|thick\|thin\)muskip\>'
syn cluster initexParameterDimen
\ contains=initexBoxParameterToken,initexDebuggingParameterToken,
\ initexFileIOParameterToken,initexMathParameterToken,
\ initexParagraphParameterToken,initexTablesParameterToken
syn match initexBoxParameterToken display contains=@NoSpell
\ '\\every[hv]box\>'
syn match initexDebuggingParameterToken display contains=@NoSpell
\ '\\errhelp\>'
syn match initexFileIOParameterToken display contains=@NoSpell
\ '\\output\>'
syn match initexMathParameterToken display contains=@NoSpell
\ '\\every\%(display\|math\)\>'
syn match initexParagraphParameterToken display contains=@NoSpell
\ '\\everypar\>'
syn match initexTablesParameterToken display contains=@NoSpell
\ '\\everycr\>'
hi def link initexCharacter Character
hi def link initexNumber Number
hi def link initexIdentifier Identifier
hi def link initexStatement Statement
hi def link initexConditional Conditional
hi def link initexPreProc PreProc
hi def link initexMacro Macro
hi def link initexType Type
hi def link initexDebug Debug
hi def link initexTodo Todo
hi def link initexComment Comment
hi def link initexDimension initexNumber
hi def link initexCommand initexStatement
hi def link initexBoxCommand initexCommand
hi def link initexCharacterCommand initexCharacter
hi def link initexDebuggingCommand initexDebug
hi def link initexFileIOCommand initexCommand
hi def link initexFontsCommand initexType
hi def link initexGlueCommand initexCommand
hi def link initexHyphenationCommand initexCommand
hi def link initexInsertsCommand initexCommand
hi def link initexJobCommand initexPreProc
hi def link initexKernCommand initexCommand
hi def link initexLogicCommand initexConditional
hi def link initexMacroCommand initexMacro
hi def link initexMarksCommand initexCommand
hi def link initexMathCommand initexCommand
hi def link initexParagraphCommand initexCommand
hi def link initexPenaltiesCommand initexCommand
hi def link initexRegistersCommand initexCommand
hi def link initexTablesCommand initexCommand
hi def link initexDerivedCommand initexStatement
hi def link initexGlueDerivedCommand initexDerivedCommand
hi def link initexHyphenationDerivedCommand initexDerivedCommand
hi def link initexMacroDerivedCommand initexDerivedCommand
hi def link initexMathDerivedCommand initexDerivedCommand
hi def link initexInternalQuantity initexIdentifier
hi def link initexBoxInternalQuantity initexInternalQuantity
hi def link initexCharacterInternalQuantity initexInternalQuantity
hi def link initexFileIOInternalQuantity initexInternalQuantity
hi def link initexFontsInternalQuantity initexInternalQuantity
hi def link initexHyphenationInternalQuantity initexInternalQuantity
hi def link initexJobInternalQuantity initexInternalQuantity
hi def link initexKernInternalQuantity initexInternalQuantity
hi def link initexMathInternalQuantity initexInternalQuantity
hi def link initexPageInternalQuantity initexInternalQuantity
hi def link initexParagraphInternalQuantity initexInternalQuantity
hi def link initexPenaltiesInternalQuantity initexInternalQuantity
hi def link initexRegistersInternalQuantity initexInternalQuantity
hi def link initexParameterDimen initexNumber
hi def link initexBoxParameterDimen initexParameterDimen
hi def link initexInsertsParameterDimen initexParameterDimen
hi def link initexMathParameterDimen initexParameterDimen
hi def link initexPageParameterDimen initexParameterDimen
hi def link initexParagraphParameterDimen initexParameterDimen
hi def link initexParameterGlue initexNumber
hi def link initexInsertsParameterGlue initexParameterGlue
hi def link initexMathParameterGlue initexParameterGlue
hi def link initexPageParameterGlue initexParameterGlue
hi def link initexParagraphParameterGlue initexParameterGlue
hi def link initexTablesParameterGlue initexParameterGlue
hi def link initexParameterInteger initexNumber
hi def link initexBoxParameterInteger initexParameterInteger
hi def link initexCharacterParameterInteger initexParameterInteger
hi def link initexDebuggingParameterInteger initexParameterInteger
hi def link initexHyphenationParameterInteger initexParameterInteger
hi def link initexInsertsParameterInteger initexParameterInteger
hi def link initexJobParameterInteger initexParameterInteger
hi def link initexMacroParameterInteger initexParameterInteger
hi def link initexMathParameterInteger initexParameterInteger
hi def link initexParagraphParameterInteger initexParameterInteger
hi def link initexPenaltiesParameterInteger initexParameterInteger
hi def link initexParameterMuglue initexNumber
hi def link initexMathParameterMuglue initexParameterMuglue
hi def link initexParameterToken initexIdentifier
hi def link initexBoxParameterToken initexParameterToken
hi def link initexDebuggingParameterToken initexParameterToken
hi def link initexFileIOParameterToken initexParameterToken
hi def link initexMathParameterToken initexParameterToken
hi def link initexParagraphParameterToken initexParameterToken
hi def link initexTablesParameterToken initexParameterToken
let b:current_syntax = "initex"
let &cpo = s:cpo_save
unlet s:cpo_save
|