Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 376 lines (317 sloc) 19.211 kb
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
Something went wrong with that request. Please try again.