codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: cdrdao(1) TOC file3" Previous Maintainer: Nikolai Weibull <now@bitwi.se>4" Latest Revision: 2007-05-105 6if exists("b:current_syntax")7 finish8endif9 10let s:cpo_save = &cpo11set cpo&vim12 13syn keyword cdrtocTodo14 \ contained15 \ TODO16 \ FIXME17 \ XXX18 \ NOTE19 20syn cluster cdrtocCommentContents21 \ contains=22 \ cdrtocTodo,23 \ @Spell24 25syn cluster cdrtocHeaderFollowsInitial26 \ contains=27 \ cdrtocHeaderCommentInitial,28 \ cdrtocHeaderCatalog,29 \ cdrtocHeaderTOCType,30 \ cdrtocHeaderCDText,31 \ cdrtocTrack32 33syn match cdrtocHeaderBegin34 \ nextgroup=@cdrtocHeaderFollowsInitial35 \ skipwhite skipempty36 \ '\%^'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:name44 \ 'nextgroup=' . a:nextgroup . ',' . a:name45 \ 'skipwhite skipempty'46 \ 'contains=@cdrtocCommentContents'47 \ 'contained'48 \ "'//.*$'"49 execute 'hi def link' a:name 'cdrtocComment'50endfunction51 52function s:def_keywords(name, nextgroup, keywords)53 let comment_group = a:name . 'FollowComment'54 execute 'syn keyword' a:name55 \ 'nextgroup=' . a:nextgroup . ',' . comment_group56 \ 'skipwhite skipempty'57 \ 'contained'58 \ join(a:keywords)59 60 call s:def_comment(comment_group, a:nextgroup)61endfunction62 63function s:def_keyword(name, nextgroup, keyword)64 call s:def_keywords(a:name, a:nextgroup, [a:keyword])65endfunction66 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:name71 \ 'nextgroup=' . a:nextgroup . ',' . comment_group72 \ 'skipwhite skipempty'73 \ 'contained'74 \ '@' . a:pattern . '@'75 76 call s:def_comment(comment_group, a:nextgroup)77endfunction78 79function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains)80 let comment_group = a:name . 'FollowComment'81 execute 'syn region' a:name82 \ 'nextgroup=' . a:nextgroup . ',' . comment_group83 \ 'skipwhite skipempty'84 \ 'contained'85 \ 'matchgroup=' . a:matchgroup86 \ 'contains=' . a:contains87 \ 'start=@' . a:start . '@'88 \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "")89 \ 'end=@' . a:end . '@'90 91 call s:def_comment(comment_group, a:nextgroup)92endfunction93 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 keep105" 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 cdrtocHeaderLanguageMapCountryCodeFollow117 \ contains=118 \ cdrtocHeaderLanguageMapLanguageNumber,119 \ cdrtocHeaderLanguageMapEnd120 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 cdrtocHeaderCDTextData142 \ contains=143 \ cdrtocHeaderCDTextDataString,144 \ cdrtocHeaderCDTextDataBinaryStart145 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 cdrtocHeaderCDTextDataStringSpecialChar161 \ contained162 \ display163 \ '\\\%(\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 cdrtocTrackFollow190 \ contains=191 \ @cdrtocTrackFlags,192 \ cdrtocTrackCDText,193 \ cdrtocTrackPregap,194 \ @cdrtocTrackContents195 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 cdrtocTrackFlags208 \ contains=209 \ cdrtocTrackFlagNo,210 \ cdrtocTrackFlagCopy,211 \ cdrtocTrackFlagPreEmphasis,212 \ cdrtocTrackFlag213 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 cdrtocTrackCDTextData245 \ contains=246 \ cdrtocTrackCDTextDataString,247 \ cdrtocTrackCDTextDataBinaryStart248 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 cdrtocTrackCDTextDataStringSpecialChar263 \ contained264 \ display265 \ '\\\%(\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 cdrtocTrackContents298 \ contains=299 \ cdrtocTrackSubTrack,300 \ cdrtocTrackMarker301 302syn cluster cdrtocTrackContentsFollow303 \ contains=304 \ @cdrtocTrackContents,305 \ cdrtocTrackIndex,306 \ cdrtocTrack307 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 cdrtocTrackSubTrackFileFilenameSpecialChar321 \ contained322 \ display323 \ '\\\%(\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 cdrtocTrackSubTrackdatafileFilenameSpecialChar344 \ contained345 \ display346 \ '\\\%(\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 cdrtocTrackSubTrackdatafileFilenameSpecialChar363 \ contained364 \ display365 \ '\\\%(\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_region419delfunction s:def_match420delfunction s:def_keyword421delfunction s:def_keywords422delfunction s:def_comment423 424syn sync fromstart425 426hi def link cdrtocKeyword Keyword427hi def link cdrtocHeaderKeyword cdrtocKeyword428hi def link cdrtocHeaderCDText cdrtocHeaderKeyword429hi def link cdrtocDelimiter Delimiter430hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter431hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd432hi def link cdrtocNumber Number433hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber434hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger435hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter436hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator437hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter438hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart439hi def link cdrtocString String440hi def link cdrtocCDTextDataString cdrtocString441hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString442hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter443hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters444hi def link cdrtocCDTextDataStringSpecialChar SpecialChar445hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar446hi def link cdrtocCDTextEnd cdrtocDelimiter447hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd448hi def link cdrtocType Type449hi def link cdrtocCDTextItem cdrtocType450hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem451hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword452hi def link cdrtocCDTextStart cdrtocDelimiter453hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart454hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword455hi def link cdrtocHeaderCatalogNumber cdrtocString456hi def link cdrtocComment Comment457hi def link cdrtocHeaderCommentInitial cdrtocComment458hi def link cdrtocHeaderLanguage cdrtocKeyword459hi def link cdrtocLanguageEnd cdrtocDelimiter460hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd461hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter462hi def link cdrtocIdentifier Identifier463hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber464hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier465hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter466hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber467hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter468hi def link cdrtocLanguageNumber cdrtocNumber469hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber470hi def link cdrtocLanguageStart cdrtocDelimiter471hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart472hi def link cdrtocHeaderTOCType cdrtocType473hi def link cdrtocTodo Todo474hi def link cdrtocTrackKeyword cdrtocKeyword475hi def link cdrtocTrack cdrtocTrackKeyword476hi def link cdrtocTrackCDText cdrtocTrackKeyword477hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd478hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger479hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator480hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart481hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString482hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters483hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar484hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd485hi def link cdrtocTrackCDTextItem cdrtocCDTextItem486hi def link cdrtocTrackCDTextStart cdrtocCDTextStart487hi def link cdrtocLength cdrtocNumber488hi def link cdrtocTrackDatafileLength cdrtocLength489hi def link cdrtocTrackFifoLength cdrtocLength490hi def link cdrtocPreProc PreProc491hi def link cdrtocTrackFlag cdrtocPreProc492hi def link cdrtocTrackFlagCopy cdrtocTrackFlag493hi def link cdrtocSpecial Special494hi def link cdrtocTrackFlagNo cdrtocSpecial495hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag496hi def link cdrtocTrackISRC cdrtocTrackFlag497hi def link cdrtocTrackIndex cdrtocTrackKeyword498hi def link cdrtocMMSSFF cdrtocLength499hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF500hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword501hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd502hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber503hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart504hi def link cdrtocTrackContents StorageClass505hi def link cdrtocTrackMarker cdrtocTrackContents506hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF507hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF508hi def link cdrtocTrackMode Type509hi def link cdrtocTrackPregap cdrtocTrackContents510hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF511hi def link cdrtocTrackSilenceLength cdrtocLength512hi def link cdrtocTrackSubChannelMode cdrtocPreProc513hi def link cdrtocTrackSubTrack cdrtocTrackContents514hi def link cdrtocFilename cdrtocString515hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename516hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename517hi def link cdrtocSpecialChar SpecialChar518hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar519hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength520hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename521hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename522hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar523hi def link cdrtocTrackSubTrackFifoLength cdrtocLength524hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename525hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename526hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar527hi def link cdrtocTrackSubTrackFileLength cdrtocLength528hi def link cdrtocTrackSubTrackFileStart cdrtocLength529hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength530hi def link cdrtocTrackSubTrackZeroDataMode Type531hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc532hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar533 534let b:current_syntax = "cdrtoc"535 536let &cpo = s:cpo_save537unlet s:cpo_save538 