blob: 866784d7c27d8044372e203b01c393053bf8cdb1 [file] [log] [blame]
Bram Moolenaar79166c42007-05-10 18:29:51 +00001" Vim syntax file
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: cdrdao(1) TOC file
3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
4" Latest Revision: 2007-05-10
Bram Moolenaar79166c42007-05-10 18:29:51 +00005
6if exists("b:current_syntax")
7 finish
8endif
9
10let s:cpo_save = &cpo
11set cpo&vim
12
13syn keyword cdrtocTodo
14 \ contained
15 \ TODO
16 \ FIXME
17 \ XXX
18 \ NOTE
19
20syn cluster cdrtocCommentContents
21 \ contains=
22 \ cdrtocTodo,
23 \ @Spell
24
25syn cluster cdrtocHeaderFollowsInitial
26 \ contains=
27 \ cdrtocHeaderCommentInitial,
28 \ cdrtocHeaderCatalog,
29 \ cdrtocHeaderTOCType,
30 \ cdrtocHeaderCDText,
31 \ cdrtocTrack
32
33syn match cdrtocHeaderBegin
34 \ nextgroup=@cdrtocHeaderFollowsInitial
35 \ skipwhite skipempty
36 \ '\%^'
37
38let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>'
39let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>'
40let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>'
41
42function s:def_comment(name, nextgroup)
43 execute 'syn match' a:name
44 \ 'nextgroup=' . a:nextgroup . ',' . a:name
45 \ 'skipwhite skipempty'
46 \ 'contains=@cdrtocCommentContents'
47 \ 'contained'
48 \ "'//.*$'"
49 execute 'hi def link' a:name 'cdrtocComment'
50endfunction
51
52function s:def_keywords(name, nextgroup, keywords)
53 let comment_group = a:name . 'FollowComment'
54 execute 'syn keyword' a:name
55 \ 'nextgroup=' . a:nextgroup . ',' . comment_group
56 \ 'skipwhite skipempty'
57 \ 'contained'
58 \ join(a:keywords)
59
60 call s:def_comment(comment_group, a:nextgroup)
61endfunction
62
63function s:def_keyword(name, nextgroup, keyword)
64 call s:def_keywords(a:name, a:nextgroup, [a:keyword])
65endfunction
66
67" NOTE: Pattern needs to escape any “@”s.
68function s:def_match(name, nextgroup, pattern)
69 let comment_group = a:name . 'FollowComment'
70 execute 'syn match' a:name
71 \ 'nextgroup=' . a:nextgroup . ',' . comment_group
72 \ 'skipwhite skipempty'
73 \ 'contained'
74 \ '@' . a:pattern . '@'
75
76 call s:def_comment(comment_group, a:nextgroup)
77endfunction
78
79function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains)
80 let comment_group = a:name . 'FollowComment'
81 execute 'syn region' a:name
82 \ 'nextgroup=' . a:nextgroup . ',' . comment_group
83 \ 'skipwhite skipempty'
84 \ 'contained'
85 \ 'matchgroup=' . a:matchgroup
86 \ 'contains=' . a:contains
87 \ 'start=@' . a:start . '@'
88 \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "")
89 \ 'end=@' . a:end . '@'
90
91 call s:def_comment(comment_group, a:nextgroup)
92endfunction
93
94call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial')
95
96call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG')
97
98call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"')
99
100call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA'])
101
102call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT')
103
104" TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep
105" things simple (and in agreement with what the manual page says).
106call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{')
107
108call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP')
109
110call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{')
111
112call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>')
113
114call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':')
115
116syn cluster cdrtocHeaderLanguageMapCountryCodeFollow
117 \ contains=
118 \ cdrtocHeaderLanguageMapLanguageNumber,
119 \ cdrtocHeaderLanguageMapEnd
120
121call s:def_match('cdrtocHeaderLanguageMapCountryCode',
122 \ '@cdrtocHeaderLanguageMapCountryCodeFollow',
123 \ s:byte_pattern)
124
125call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName',
126 \ '@cdrtocHeaderLanguageMapCountryCodeFollow',
127 \ 'EN')
128
129call s:def_match('cdrtocHeaderLanguageMapEnd',
130 \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
131 \ '}')
132
133call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE')
134
135call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>')
136
137call s:def_match('cdrtocHeaderLanguageStart',
138 \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
139 \ '{')
140
141syn cluster cdrtocHeaderCDTextData
142 \ contains=
143 \ cdrtocHeaderCDTextDataString,
144 \ cdrtocHeaderCDTextDataBinaryStart
145
146call s:def_keywords('cdrtocHeaderCDTextItem',
147 \ '@cdrtocHeaderCDTextData',
148 \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER',
149 \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1',
150 \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO'])
151
152call s:def_region('cdrtocHeaderCDTextDataString',
153 \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
154 \ '"',
155 \ '\\\\\|\\"',
156 \ '"',
157 \ 'cdrtocHeaderCDTextDataStringDelimiters',
158 \ 'cdrtocHeaderCDTextDataStringSpecialChar')
159
160syn match cdrtocHeaderCDTextDataStringSpecialChar
161 \ contained
162 \ display
163 \ '\\\%(\o\o\o\|["\\]\)'
164
165call s:def_match('cdrtocHeaderCDTextDataBinaryStart',
166 \ 'cdrtocHeaderCDTextDataBinaryInteger',
167 \ '{')
168
169call s:def_match('cdrtocHeaderCDTextDataBinaryInteger',
170 \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd',
171 \ s:byte_pattern)
172
173call s:def_match('cdrtocHeaderCDTextDataBinarySeparator',
174 \ 'cdrtocHeaderCDTextDataBinaryInteger',
175 \ ',')
176
177call s:def_match('cdrtocHeaderCDTextDataBinaryEnd',
178 \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
179 \ '}')
180
181call s:def_match('cdrtocHeaderLanguageEnd',
182 \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
183 \ '}')
184
185call s:def_match('cdrtocHeaderCDTextEnd',
186 \ 'cdrtocTrack',
187 \ '}')
188
189syn cluster cdrtocTrackFollow
190 \ contains=
191 \ @cdrtocTrackFlags,
192 \ cdrtocTrackCDText,
193 \ cdrtocTrackPregap,
194 \ @cdrtocTrackContents
195
196call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK')
197
198call s:def_keywords('cdrtocTrackMode',
199 \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow',
200 \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
201 \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
202
203call s:def_keywords('cdrtocTrackSubChannelMode',
204 \ '@cdrtocTrackFollow',
205 \ ['RW', 'RW_RAW'])
206
207syn cluster cdrtocTrackFlags
208 \ contains=
209 \ cdrtocTrackFlagNo,
210 \ cdrtocTrackFlagCopy,
211 \ cdrtocTrackFlagPreEmphasis,
212 \ cdrtocTrackFlag
213
214call s:def_keyword('cdrtocTrackFlagNo',
215 \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis',
216 \ 'NO')
217
218call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY')
219
220call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS')
221
222call s:def_keywords('cdrtocTrackFlag',
223 \ '@cdrtocTrackFollow',
224 \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO'])
225
226call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC')
227
228call s:def_match('cdrtocTrackISRC',
229 \ '@cdrtocTrackFollow',
230 \ '"[[:upper:][:digit:]]\{5}\d\{7}"')
231
232call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT')
233
234call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{')
235
236call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE')
237
238call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>')
239
240call s:def_match('cdrtocTrackCDTextLanguageStart',
241 \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
242 \ '{')
243
244syn cluster cdrtocTrackCDTextData
245 \ contains=
246 \ cdrtocTrackCDTextDataString,
247 \ cdrtocTrackCDTextDataBinaryStart
248
249call s:def_keywords('cdrtocTrackCDTextItem',
250 \ '@cdrtocTrackCDTextData',
251 \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER',
252 \ 'MESSAGE', 'ISRC'])
253
254call s:def_region('cdrtocTrackCDTextDataString',
255 \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
256 \ '"',
257 \ '\\\\\|\\"',
258 \ '"',
259 \ 'cdrtocTrackCDTextDataStringDelimiters',
260 \ 'cdrtocTrackCDTextDataStringSpecialChar')
261
262syn match cdrtocTrackCDTextDataStringSpecialChar
263 \ contained
264 \ display
265 \ '\\\%(\o\o\o\|["\\]\)'
266
267call s:def_match('cdrtocTrackCDTextDataBinaryStart',
268 \ 'cdrtocTrackCDTextDataBinaryInteger',
269 \ '{')
270
271call s:def_match('cdrtocTrackCDTextDataBinaryInteger',
272 \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd',
273 \ s:byte_pattern)
274
275call s:def_match('cdrtocTrackCDTextDataBinarySeparator',
276 \ 'cdrtocTrackCDTextDataBinaryInteger',
277 \ ',')
278
279call s:def_match('cdrtocTrackCDTextDataBinaryEnd',
280 \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
281 \ '}')
282
283call s:def_match('cdrtocTrackCDTextLanguageEnd',
284 \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd',
285 \ '}')
286
287call s:def_match('cdrtocTrackCDTextEnd',
288 \ 'cdrtocTrackPregap,@cdrtocTrackContents',
289 \ '}')
290
291call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP')
292
293call s:def_match('cdrtocTrackPregapMMSSFF',
294 \ '@cdrtocTrackContents',
295 \ s:mmssff_pattern)
296
297syn cluster cdrtocTrackContents
298 \ contains=
299 \ cdrtocTrackSubTrack,
300 \ cdrtocTrackMarker
301
302syn cluster cdrtocTrackContentsFollow
303 \ contains=
304 \ @cdrtocTrackContents,
305 \ cdrtocTrackIndex,
306 \ cdrtocTrack
307
308call s:def_keywords('cdrtocTrackSubTrack',
309 \ 'cdrtocTrackSubTrackFileFilename',
310 \ ['FILE', 'AUDIOFILE'])
311
312call s:def_region('cdrtocTrackSubTrackFileFilename',
313 \ 'cdrtocTrackSubTrackFileStart',
314 \ '"',
315 \ '\\\\\|\\"',
316 \ '"',
317 \ 'cdrtocTrackSubTrackFileFilenameDelimiters',
318 \ 'cdrtocTrackSubTrackFileFilenameSpecialChar')
319
320syn match cdrtocTrackSubTrackFileFilenameSpecialChar
321 \ contained
322 \ display
323 \ '\\\%(\o\o\o\|["\\]\)'
324
325call s:def_match('cdrtocTrackSubTrackFileStart',
326 \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow',
327 \ s:length_pattern)
328
329call s:def_match('cdrtocTrackSubTrackFileLength',
330 \ '@cdrtocTrackContentsFollow',
331 \ s:length_pattern)
332
333call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE')
334
335call s:def_region('cdrtocTrackSubTrackDatafileFilename',
336 \ 'cdrtocTrackSubTrackDatafileLength',
337 \ '"',
338 \ '\\\\\|\\"',
339 \ '"',
340 \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters',
341 \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar')
342
343syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
344 \ contained
345 \ display
346 \ '\\\%(\o\o\o\|["\\]\)'
347
348call s:def_match('cdrtocTrackDatafileLength',
349 \ '@cdrtocTrackContentsFollow',
350 \ s:length_pattern)
351
352call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE')
353
354call s:def_region('cdrtocTrackSubTrackFifoFilename',
355 \ 'cdrtocTrackSubTrackFifoLength',
356 \ '"',
357 \ '\\\\\|\\"',
358 \ '"',
359 \ 'cdrtocTrackSubTrackFifoFilenameDelimiters',
360 \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar')
361
362syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
363 \ contained
364 \ display
365 \ '\\\%(\o\o\o\|["\\]\)'
366
367call s:def_match('cdrtocTrackFifoLength',
368 \ '@cdrtocTrackContentsFollow',
369 \ s:length_pattern)
370
371call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE')
372
373call s:def_match('cdrtocTrackSilenceLength',
374 \ '@cdrtocTrackContentsFollow',
375 \ s:length_pattern)
376
377call s:def_keyword('cdrtocTrackSubTrack',
378 \ 'cdrtocTrackSubTrackZeroDataMode,' .
379 \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' .
380 \ 'cdrtocTrackSubTrackZeroDataLength',
381 \ 'ZERO')
382
383call s:def_keywords('cdrtocTrackSubTrackZeroDataMode',
384 \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength',
385 \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
386 \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
387
388call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode',
389 \ 'cdrtocTrackSubTrackZeroDataLength',
390 \ ['RW', 'RW_RAW'])
391
392call s:def_match('cdrtocTrackSubTrackZeroDataLength',
393 \ '@cdrtocTrackContentsFollow',
394 \ s:length_pattern)
395
396call s:def_keyword('cdrtocTrackMarker',
397 \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF',
398 \ 'START')
399
400call s:def_match('cdrtocTrackMarkerStartMMSSFF',
401 \ '@cdrtocTrackContentsFollow',
402 \ s:mmssff_pattern)
403
404call s:def_keyword('cdrtocTrackMarker',
405 \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF',
406 \ 'END')
407
408call s:def_match('cdrtocTrackMarkerEndMMSSFF',
409 \ '@cdrtocTrackContentsFollow',
410 \ s:mmssff_pattern)
411
412call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX')
413
414call s:def_match('cdrtocTrackIndexMMSSFF',
415 \ 'cdrtocTrackIndex,cdrtocTrack',
416 \ s:mmssff_pattern)
417
418delfunction s:def_region
419delfunction s:def_match
420delfunction s:def_keyword
421delfunction s:def_keywords
422delfunction s:def_comment
423
424syn sync fromstart
425
426hi def link cdrtocKeyword Keyword
427hi def link cdrtocHeaderKeyword cdrtocKeyword
428hi def link cdrtocHeaderCDText cdrtocHeaderKeyword
429hi def link cdrtocDelimiter Delimiter
430hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter
431hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
432hi def link cdrtocNumber Number
433hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber
434hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger
435hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter
436hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator
437hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter
438hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart
439hi def link cdrtocString String
440hi def link cdrtocCDTextDataString cdrtocString
441hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString
442hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter
443hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
444hi def link cdrtocCDTextDataStringSpecialChar SpecialChar
445hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
446hi def link cdrtocCDTextEnd cdrtocDelimiter
447hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd
448hi def link cdrtocType Type
449hi def link cdrtocCDTextItem cdrtocType
450hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem
451hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword
452hi def link cdrtocCDTextStart cdrtocDelimiter
453hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart
454hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword
455hi def link cdrtocHeaderCatalogNumber cdrtocString
456hi def link cdrtocComment Comment
457hi def link cdrtocHeaderCommentInitial cdrtocComment
458hi def link cdrtocHeaderLanguage cdrtocKeyword
459hi def link cdrtocLanguageEnd cdrtocDelimiter
460hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd
461hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter
462hi def link cdrtocIdentifier Identifier
463hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber
464hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier
465hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter
466hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber
467hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter
468hi def link cdrtocLanguageNumber cdrtocNumber
469hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber
470hi def link cdrtocLanguageStart cdrtocDelimiter
471hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart
472hi def link cdrtocHeaderTOCType cdrtocType
473hi def link cdrtocTodo Todo
474hi def link cdrtocTrackKeyword cdrtocKeyword
475hi def link cdrtocTrack cdrtocTrackKeyword
476hi def link cdrtocTrackCDText cdrtocTrackKeyword
477hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
478hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger
479hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator
480hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart
481hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString
482hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
483hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
484hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd
485hi def link cdrtocTrackCDTextItem cdrtocCDTextItem
486hi def link cdrtocTrackCDTextStart cdrtocCDTextStart
487hi def link cdrtocLength cdrtocNumber
488hi def link cdrtocTrackDatafileLength cdrtocLength
489hi def link cdrtocTrackFifoLength cdrtocLength
490hi def link cdrtocPreProc PreProc
491hi def link cdrtocTrackFlag cdrtocPreProc
492hi def link cdrtocTrackFlagCopy cdrtocTrackFlag
493hi def link cdrtocSpecial Special
494hi def link cdrtocTrackFlagNo cdrtocSpecial
495hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag
496hi def link cdrtocTrackISRC cdrtocTrackFlag
497hi def link cdrtocTrackIndex cdrtocTrackKeyword
498hi def link cdrtocMMSSFF cdrtocLength
499hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF
500hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword
501hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd
502hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber
503hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart
504hi def link cdrtocTrackContents StorageClass
505hi def link cdrtocTrackMarker cdrtocTrackContents
506hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF
507hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF
508hi def link cdrtocTrackMode Type
509hi def link cdrtocTrackPregap cdrtocTrackContents
510hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF
511hi def link cdrtocTrackSilenceLength cdrtocLength
512hi def link cdrtocTrackSubChannelMode cdrtocPreProc
513hi def link cdrtocTrackSubTrack cdrtocTrackContents
514hi def link cdrtocFilename cdrtocString
515hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename
516hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename
517hi def link cdrtocSpecialChar SpecialChar
518hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar
519hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength
520hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename
521hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename
522hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar
523hi def link cdrtocTrackSubTrackFifoLength cdrtocLength
524hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename
525hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename
526hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar
527hi def link cdrtocTrackSubTrackFileLength cdrtocLength
528hi def link cdrtocTrackSubTrackFileStart cdrtocLength
529hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength
530hi def link cdrtocTrackSubTrackZeroDataMode Type
531hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc
532hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar
533
534let b:current_syntax = "cdrtoc"
535
536let &cpo = s:cpo_save
537unlet s:cpo_save