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
377
|
" Vim syntax file
" Language: TeX (core definition)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-03-26
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 coretexTodo TODO FIXME XXX NOTE
syn match coretexComment display contains=coretexTodo
\ '\\\@<!\%(\\\\\)*\zs%.*$'
syn match coretexDimension display contains=@NoSpell
\ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
syn cluster coretexBox
\ contains=coretexBoxCommand,coretexBoxInternalQuantity,
\ coretexBoxParameterDimen,coretexBoxParameterInteger,
\ coretexBoxParameterToken
syn cluster coretexCharacter
\ contains=coretexCharacterCommand,coretexCharacterInternalQuantity,
\ coretexCharacterParameterInteger
syn cluster coretexDebugging
\ contains=coretexDebuggingCommand,coretexDebuggingParameterInteger,
\ coretexDebuggingParameterToken
syn cluster coretexFileIO
\ contains=coretexFileIOCommand,coretexFileIOInternalQuantity,
\ coretexFileIOParameterToken
syn cluster coretexFonts
\ contains=coretexFontsCommand,coretexFontsInternalQuantity
syn cluster coretexGlue
\ contains=coretexGlueCommand,coretexGlueDerivedCommand
syn cluster coretexHyphenation
\ contains=coretexHyphenationCommand,coretexHyphenationDerivedCommand,
\ coretexHyphenationInternalQuantity,coretexHyphenationParameterInteger
syn cluster coretexInserts
\ contains=coretexInsertsCommand,coretexInsertsParameterDimen,
\ coretexInsertsParameterGlue,coretexInsertsParameterInteger
syn cluster coretexJob
\ contains=coretexJobCommand,coretexJobInternalQuantity,
\ coretexJobParameterInteger
syn cluster coretexKern
\ contains=coretexKernCommand,coretexKernInternalQuantity
syn cluster coretexLogic
\ contains=coretexLogicCommand
syn cluster coretexMacro
\ contains=coretexMacroCommand,coretexMacroDerivedCommand,
\ coretexMacroParameterInteger
syn cluster coretexMarks
\ contains=coretexMarksCommand
syn cluster coretexMath
\ contains=coretexMathCommand,coretexMathDerivedCommand,
\ coretexMathInternalQuantity,coretexMathParameterDimen,
\ coretexMathParameterGlue,coretexMathParameterInteger,
\ coretexMathParameterMuglue,coretexMathParameterToken
syn cluster coretexPage
\ contains=coretexPageInternalQuantity,coretexPageParameterDimen,
\ coretexPageParameterGlue
syn cluster coretexParagraph
\ contains=coretexParagraphCommand,coretexParagraphInternalQuantity,
\ coretexParagraphParameterDimen,coretexParagraphParameterGlue,
\ coretexParagraphParameterInteger,coretexParagraphParameterToken
syn cluster coretexPenalties
\ contains=coretexPenaltiesCommand,coretexPenaltiesInternalQuantity,
\ coretexPenaltiesParameterInteger
syn cluster coretexRegisters
\ contains=coretexRegistersCommand,coretexRegistersInternalQuantity
syn cluster coretexTables
\ contains=coretexTablesCommand,coretexTablesParameterGlue,
\ coretexTablesParameterToken
syn cluster coretexCommand
\ contains=coretexBoxCommand,coretexCharacterCommand,
\ coretexDebuggingCommand,coretexFileIOCommand,
\ coretexFontsCommand,coretexGlueCommand,
\ coretexHyphenationCommand,coretexInsertsCommand,
\ coretexJobCommand,coretexKernCommand,coretexLogicCommand,
\ coretexMacroCommand,coretexMarksCommand,coretexMathCommand,
\ coretexParagraphCommand,coretexPenaltiesCommand,coretexRegistersCommand,
\ coretexTablesCommand
syn match coretexBoxCommand display contains=@NoSpell
\ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
syn match coretexCharacterCommand display contains=@NoSpell
\ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
syn match coretexDebuggingCommand display contains=@NoSpell
\ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
syn match coretexFileIOCommand display contains=@NoSpell
\ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
syn match coretexFontsCommand display contains=@NoSpell
\ '\\\%(/\|fontname\)\>'
syn match coretexGlueCommand display contains=@NoSpell
\ '\\\%([hv]\|un\)skip\>'
syn match coretexHyphenationCommand display contains=@NoSpell
\ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
syn match coretexInsertsCommand display contains=@NoSpell
\ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
syn match coretexJobCommand display contains=@NoSpell
\ '\\\%(dump\|end\|jobname\)\>'
syn match coretexKernCommand display contains=@NoSpell
\ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
syn match coretexLogicCommand 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 coretexMacroCommand display contains=@NoSpell
\ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
syn match coretexMarksCommand display contains=@NoSpell
\ '\\\%(bot\|first\|top\)\=mark\>'
syn match coretexMathCommand 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 coretexParagraphCommand display contains=@NoSpell
\ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
syn match coretexPenaltiesCommand display contains=@NoSpell
\ '\\\%(un\)\=penalty\>'
syn match coretexRegistersCommand display contains=@NoSpell
\ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
syn match coretexTablesCommand display contains=@NoSpell
\ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
syn cluster coretexDerivedCommand
\ contains=coretexGlueDerivedCommand,coretexHyphenationDerivedCommand,
\ coretexMacroDerivedCommand,coretexMathDerivedCommand
syn match coretexGlueDerivedCommand display contains=@NoSpell
\ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
syn match coretexHyphenationDerivedCommand display contains=@NoSpell
\ '\\-'
syn match coretexMacroDerivedCommand display contains=@NoSpell
\ '\\[gx]def\>'
syn match coretexMathDerivedCommand display contains=@NoSpell
\ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
syn cluster coretexInternalQuantity
\ contains=coretexBoxInternalQuantity,coretexCharacterInternalQuantity,
\ coretexFileIOInternalQuantity,coretexFontsInternalQuantity,
\ coretexHyphenationInternalQuantity,coretexJobInternalQuantity,
\ coretexKernInternalQuantity,coretexMathInternalQuantity,
\ coretexPageInternalQuantity,coretexParagraphInternalQuantity,
\ coretexPenaltiesInternalQuantity,coretexRegistersInternalQuantity
syn match coretexBoxInternalQuantity display contains=@NoSpell
\ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
syn match coretexCharacterInternalQuantity display contains=@NoSpell
\ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
syn match coretexFileIOInternalQuantity display contains=@NoSpell
\ '\\inputlineno\>'
syn match coretexFontsInternalQuantity display contains=@NoSpell
\ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
syn match coretexHyphenationInternalQuantity display contains=@NoSpell
\ '\\hyphenchar\>'
syn match coretexJobInternalQuantity display contains=@NoSpell
\ '\\deadcycles\>'
syn match coretexKernInternalQuantity display contains=@NoSpell
\ '\\lastkern\>'
syn match coretexMathInternalQuantity display contains=@NoSpell
\ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
syn match coretexPageInternalQuantity display contains=@NoSpell
\ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
syn match coretexParagraphInternalQuantity display contains=@NoSpell
\ '\\\%(prevgraf\|spacefactor\)\>'
syn match coretexPenaltiesInternalQuantity display contains=@NoSpell
\ '\\lastpenalty\>'
syn match coretexRegistersInternalQuantity display contains=@NoSpell
\ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
syn cluster coretexParameterDimen
\ contains=coretexBoxParameterDimen,coretexInsertsParameterDimen,
\ coretexMathParameterDimen,coretexPageParameterDimen,
\ coretexParagraphParameterDimen
syn match coretexBoxParameterDimen display contains=@NoSpell
\ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
syn match coretexInsertsParameterDimen display contains=@NoSpell
\ '\\splitmaxdepth\>'
syn match coretexMathParameterDimen display contains=@NoSpell
\ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
syn match coretexPageParameterDimen display contains=@NoSpell
\ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
syn match coretexParagraphParameterDimen display contains=@NoSpell
\ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
syn cluster coretexParameterGlue
\ contains=coretexInsertsParameterGlue,coretexMathParameterGlue,
\ coretexPageParameterGlue,coretexParagraphParameterGlue,
\ coretexTablesParameterGlue
syn match coretexInsertsParameterGlue display contains=@NoSpell
\ '\\splittopskip\>'
syn match coretexMathParameterGlue display contains=@NoSpell
\ '\\\%(above\|below\)display\%(short\)\=skip\>'
syn match coretexPageParameterGlue display contains=@NoSpell
\ '\\topskip\>'
syn match coretexParagraphParameterGlue display contains=@NoSpell
\ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
syn match coretexTablesParameterGlue display contains=@NoSpell
\ '\\tabskip\>'
syn cluster coretexParameterInteger
\ contains=coretexBoxParameterInteger,coretexCharacterParameterInteger,
\ coretexDebuggingParameterInteger,coretexHyphenationParameterInteger,
\ coretexInsertsParameterInteger,coretexJobParameterInteger,
\ coretexMacroParameterInteger,coretexMathParameterInteger,
\ coretexParagraphParameterInteger,coretexPenaltiesParameterInteger,
syn match coretexBoxParameterInteger display contains=@NoSpell
\ '\\[hv]badness\>'
syn match coretexCharacterParameterInteger display contains=@NoSpell
\ '\\\%(\%(endline\|escape\|newline\)char\)\>'
syn match coretexDebuggingParameterInteger display contains=@NoSpell
\ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
syn match coretexHyphenationParameterInteger display contains=@NoSpell
\ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
syn match coretexInsertsParameterInteger display contains=@NoSpell
\ '\\\%(holdinginserts\)\>'
syn match coretexJobParameterInteger display contains=@NoSpell
\ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
syn match coretexMacroParameterInteger display contains=@NoSpell
\ '\\globaldefs\>'
syn match coretexMathParameterInteger display contains=@NoSpell
\ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
syn match coretexParagraphParameterInteger display contains=@NoSpell
\ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
syn match coretexPenaltiesParameterInteger display contains=@NoSpell
\ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
syn cluster coretexParameterMuglue
\ contains=coretexMathParameterMuglue
syn match coretexMathParameterMuglue display contains=@NoSpell
\ '\\\%(med\|thick\|thin\)muskip\>'
syn cluster coretexParameterDimen
\ contains=coretexBoxParameterToken,coretexDebuggingParameterToken,
\ coretexFileIOParameterToken,coretexMathParameterToken,
\ coretexParagraphParameterToken,coretexTablesParameterToken
syn match coretexBoxParameterToken display contains=@NoSpell
\ '\\every[hv]box\>'
syn match coretexDebuggingParameterToken display contains=@NoSpell
\ '\\errhelp\>'
syn match coretexFileIOParameterToken display contains=@NoSpell
\ '\\output\>'
syn match coretexMathParameterToken display contains=@NoSpell
\ '\\every\%(display\|math\)\>'
syn match coretexParagraphParameterToken display contains=@NoSpell
\ '\\everypar\>'
syn match coretexTablesParameterToken display contains=@NoSpell
\ '\\everycr\>'
hi def link coretexCharacter Character
hi def link coretexNumber Number
hi def link coretexIdentifier Identifier
hi def link coretexStatement Statement
hi def link coretexConditional Conditional
hi def link coretexPreProc PreProc
hi def link coretexMacro Macro
hi def link coretexType Type
hi def link coretexDebug Debug
hi def link coretexTodo Todo
hi def link coretexComment Comment
hi def link coretexDimension coretexNumber
hi def link coretexCommand coretexStatement
hi def link coretexBoxCommand coretexCommand
hi def link coretexCharacterCommand coretexCharacter
hi def link coretexDebuggingCommand coretexDebug
hi def link coretexFileIOCommand coretexCommand
hi def link coretexFontsCommand coretexType
hi def link coretexGlueCommand coretexCommand
hi def link coretexHyphenationCommand coretexCommand
hi def link coretexInsertsCommand coretexCommand
hi def link coretexJobCommand coretexPreProc
hi def link coretexKernCommand coretexCommand
hi def link coretexLogicCommand coretexConditional
hi def link coretexMacroCommand coretexMacro
hi def link coretexMarksCommand coretexCommand
hi def link coretexMathCommand coretexCommand
hi def link coretexParagraphCommand coretexCommand
hi def link coretexPenaltiesCommand coretexCommand
hi def link coretexRegistersCommand coretexCommand
hi def link coretexTablesCommand coretexCommand
hi def link coretexDerivedCommand coretexStatement
hi def link coretexGlueDerivedCommand coretexDerivedCommand
hi def link coretexHyphenationDerivedCommand coretexDerivedCommand
hi def link coretexMacroDerivedCommand coretexDerivedCommand
hi def link coretexMathDerivedCommand coretexDerivedCommand
hi def link coretexInternalQuantity coretexIdentifier
hi def link coretexBoxInternalQuantity coretexInternalQuantity
hi def link coretexCharacterInternalQuantity coretexInternalQuantity
hi def link coretexFileIOInternalQuantity coretexInternalQuantity
hi def link coretexFontsInternalQuantity coretexInternalQuantity
hi def link coretexHyphenationInternalQuantity coretexInternalQuantity
hi def link coretexJobInternalQuantity coretexInternalQuantity
hi def link coretexKernInternalQuantity coretexInternalQuantity
hi def link coretexMathInternalQuantity coretexInternalQuantity
hi def link coretexPageInternalQuantity coretexInternalQuantity
hi def link coretexParagraphInternalQuantity coretexInternalQuantity
hi def link coretexPenaltiesInternalQuantity coretexInternalQuantity
hi def link coretexRegistersInternalQuantity coretexInternalQuantity
hi def link coretexParameterDimen coretexNumber
hi def link coretexBoxParameterDimen coretexParameterDimen
hi def link coretexInsertsParameterDimen coretexParameterDimen
hi def link coretexMathParameterDimen coretexParameterDimen
hi def link coretexPageParameterDimen coretexParameterDimen
hi def link coretexParagraphParameterDimen coretexParameterDimen
hi def link coretexParameterGlue coretexNumber
hi def link coretexInsertsParameterGlue coretexParameterGlue
hi def link coretexMathParameterGlue coretexParameterGlue
hi def link coretexPageParameterGlue coretexParameterGlue
hi def link coretexParagraphParameterGlue coretexParameterGlue
hi def link coretexTablesParameterGlue coretexParameterGlue
hi def link coretexParameterInteger coretexNumber
hi def link coretexBoxParameterInteger coretexParameterInteger
hi def link coretexCharacterParameterInteger coretexParameterInteger
hi def link coretexDebuggingParameterInteger coretexParameterInteger
hi def link coretexHyphenationParameterInteger coretexParameterInteger
hi def link coretexInsertsParameterInteger coretexParameterInteger
hi def link coretexJobParameterInteger coretexParameterInteger
hi def link coretexMacroParameterInteger coretexParameterInteger
hi def link coretexMathParameterInteger coretexParameterInteger
hi def link coretexParagraphParameterInteger coretexParameterInteger
hi def link coretexPenaltiesParameterInteger coretexParameterInteger
hi def link coretexParameterMuglue coretexNumber
hi def link coretexMathParameterMuglue coretexParameterMuglue
hi def link coretexParameterToken coretexIdentifier
hi def link coretexBoxParameterToken coretexParameterToken
hi def link coretexDebuggingParameterToken coretexParameterToken
hi def link coretexFileIOParameterToken coretexParameterToken
hi def link coretexMathParameterToken coretexParameterToken
hi def link coretexParagraphParameterToken coretexParameterToken
hi def link coretexTablesParameterToken coretexParameterToken
let b:current_syntax = "coretex"
let &cpo = s:cpo_save
unlet s:cpo_save
|