comparison runtime/syntax/cdrtoc.vim @ 0:76efa0be13f1

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