cdrtoc.vim (22756B)
1 " Vim syntax file 2 " Language: cdrdao(1) TOC file 3 " Previous 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