diff options
Diffstat (limited to 'runtime/syntax/cdrtoc.vim')
-rw-r--r-- | runtime/syntax/cdrtoc.vim | 537 |
1 files changed, 537 insertions, 0 deletions
diff --git a/runtime/syntax/cdrtoc.vim b/runtime/syntax/cdrtoc.vim new file mode 100644 index 0000000..866784d --- /dev/null +++ b/runtime/syntax/cdrtoc.vim @@ -0,0 +1,537 @@ +" Vim syntax file +" Language: cdrdao(1) TOC file +" Previous Maintainer: Nikolai Weibull <now@bitwi.se> +" Latest Revision: 2007-05-10 + +if exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword cdrtocTodo + \ contained + \ TODO + \ FIXME + \ XXX + \ NOTE + +syn cluster cdrtocCommentContents + \ contains= + \ cdrtocTodo, + \ @Spell + +syn cluster cdrtocHeaderFollowsInitial + \ contains= + \ cdrtocHeaderCommentInitial, + \ cdrtocHeaderCatalog, + \ cdrtocHeaderTOCType, + \ cdrtocHeaderCDText, + \ cdrtocTrack + +syn match cdrtocHeaderBegin + \ nextgroup=@cdrtocHeaderFollowsInitial + \ skipwhite skipempty + \ '\%^' + +let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>' +let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>' +let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>' + +function s:def_comment(name, nextgroup) + execute 'syn match' a:name + \ 'nextgroup=' . a:nextgroup . ',' . a:name + \ 'skipwhite skipempty' + \ 'contains=@cdrtocCommentContents' + \ 'contained' + \ "'//.*$'" + execute 'hi def link' a:name 'cdrtocComment' +endfunction + +function s:def_keywords(name, nextgroup, keywords) + let comment_group = a:name . 'FollowComment' + execute 'syn keyword' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ join(a:keywords) + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +function s:def_keyword(name, nextgroup, keyword) + call s:def_keywords(a:name, a:nextgroup, [a:keyword]) +endfunction + +" NOTE: Pattern needs to escape any “@”s. +function s:def_match(name, nextgroup, pattern) + let comment_group = a:name . 'FollowComment' + execute 'syn match' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ '@' . a:pattern . '@' + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains) + let comment_group = a:name . 'FollowComment' + execute 'syn region' a:name + \ 'nextgroup=' . a:nextgroup . ',' . comment_group + \ 'skipwhite skipempty' + \ 'contained' + \ 'matchgroup=' . a:matchgroup + \ 'contains=' . a:contains + \ 'start=@' . a:start . '@' + \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "") + \ 'end=@' . a:end . '@' + + call s:def_comment(comment_group, a:nextgroup) +endfunction + +call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial') + +call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG') + +call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"') + +call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA']) + +call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT') + +" TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep +" things simple (and in agreement with what the manual page says). +call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{') + +call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP') + +call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{') + +call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>') + +call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':') + +syn cluster cdrtocHeaderLanguageMapCountryCodeFollow + \ contains= + \ cdrtocHeaderLanguageMapLanguageNumber, + \ cdrtocHeaderLanguageMapEnd + +call s:def_match('cdrtocHeaderLanguageMapCountryCode', + \ '@cdrtocHeaderLanguageMapCountryCodeFollow', + \ s:byte_pattern) + +call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName', + \ '@cdrtocHeaderLanguageMapCountryCodeFollow', + \ 'EN') + +call s:def_match('cdrtocHeaderLanguageMapEnd', + \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', + \ '}') + +call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE') + +call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>') + +call s:def_match('cdrtocHeaderLanguageStart', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '{') + +syn cluster cdrtocHeaderCDTextData + \ contains= + \ cdrtocHeaderCDTextDataString, + \ cdrtocHeaderCDTextDataBinaryStart + +call s:def_keywords('cdrtocHeaderCDTextItem', + \ '@cdrtocHeaderCDTextData', + \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', + \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1', + \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO']) + +call s:def_region('cdrtocHeaderCDTextDataString', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocHeaderCDTextDataStringDelimiters', + \ 'cdrtocHeaderCDTextDataStringSpecialChar') + +syn match cdrtocHeaderCDTextDataStringSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocHeaderCDTextDataBinaryStart', + \ 'cdrtocHeaderCDTextDataBinaryInteger', + \ '{') + +call s:def_match('cdrtocHeaderCDTextDataBinaryInteger', + \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd', + \ s:byte_pattern) + +call s:def_match('cdrtocHeaderCDTextDataBinarySeparator', + \ 'cdrtocHeaderCDTextDataBinaryInteger', + \ ',') + +call s:def_match('cdrtocHeaderCDTextDataBinaryEnd', + \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', + \ '}') + +call s:def_match('cdrtocHeaderLanguageEnd', + \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', + \ '}') + +call s:def_match('cdrtocHeaderCDTextEnd', + \ 'cdrtocTrack', + \ '}') + +syn cluster cdrtocTrackFollow + \ contains= + \ @cdrtocTrackFlags, + \ cdrtocTrackCDText, + \ cdrtocTrackPregap, + \ @cdrtocTrackContents + +call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK') + +call s:def_keywords('cdrtocTrackMode', + \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow', + \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', + \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) + +call s:def_keywords('cdrtocTrackSubChannelMode', + \ '@cdrtocTrackFollow', + \ ['RW', 'RW_RAW']) + +syn cluster cdrtocTrackFlags + \ contains= + \ cdrtocTrackFlagNo, + \ cdrtocTrackFlagCopy, + \ cdrtocTrackFlagPreEmphasis, + \ cdrtocTrackFlag + +call s:def_keyword('cdrtocTrackFlagNo', + \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis', + \ 'NO') + +call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY') + +call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS') + +call s:def_keywords('cdrtocTrackFlag', + \ '@cdrtocTrackFollow', + \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO']) + +call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC') + +call s:def_match('cdrtocTrackISRC', + \ '@cdrtocTrackFollow', + \ '"[[:upper:][:digit:]]\{5}\d\{7}"') + +call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT') + +call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{') + +call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE') + +call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>') + +call s:def_match('cdrtocTrackCDTextLanguageStart', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '{') + +syn cluster cdrtocTrackCDTextData + \ contains= + \ cdrtocTrackCDTextDataString, + \ cdrtocTrackCDTextDataBinaryStart + +call s:def_keywords('cdrtocTrackCDTextItem', + \ '@cdrtocTrackCDTextData', + \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER', + \ 'MESSAGE', 'ISRC']) + +call s:def_region('cdrtocTrackCDTextDataString', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackCDTextDataStringDelimiters', + \ 'cdrtocTrackCDTextDataStringSpecialChar') + +syn match cdrtocTrackCDTextDataStringSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackCDTextDataBinaryStart', + \ 'cdrtocTrackCDTextDataBinaryInteger', + \ '{') + +call s:def_match('cdrtocTrackCDTextDataBinaryInteger', + \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd', + \ s:byte_pattern) + +call s:def_match('cdrtocTrackCDTextDataBinarySeparator', + \ 'cdrtocTrackCDTextDataBinaryInteger', + \ ',') + +call s:def_match('cdrtocTrackCDTextDataBinaryEnd', + \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', + \ '}') + +call s:def_match('cdrtocTrackCDTextLanguageEnd', + \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd', + \ '}') + +call s:def_match('cdrtocTrackCDTextEnd', + \ 'cdrtocTrackPregap,@cdrtocTrackContents', + \ '}') + +call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP') + +call s:def_match('cdrtocTrackPregapMMSSFF', + \ '@cdrtocTrackContents', + \ s:mmssff_pattern) + +syn cluster cdrtocTrackContents + \ contains= + \ cdrtocTrackSubTrack, + \ cdrtocTrackMarker + +syn cluster cdrtocTrackContentsFollow + \ contains= + \ @cdrtocTrackContents, + \ cdrtocTrackIndex, + \ cdrtocTrack + +call s:def_keywords('cdrtocTrackSubTrack', + \ 'cdrtocTrackSubTrackFileFilename', + \ ['FILE', 'AUDIOFILE']) + +call s:def_region('cdrtocTrackSubTrackFileFilename', + \ 'cdrtocTrackSubTrackFileStart', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackFileFilenameDelimiters', + \ 'cdrtocTrackSubTrackFileFilenameSpecialChar') + +syn match cdrtocTrackSubTrackFileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackSubTrackFileStart', + \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_match('cdrtocTrackSubTrackFileLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE') + +call s:def_region('cdrtocTrackSubTrackDatafileFilename', + \ 'cdrtocTrackSubTrackDatafileLength', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters', + \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar') + +syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackDatafileLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE') + +call s:def_region('cdrtocTrackSubTrackFifoFilename', + \ 'cdrtocTrackSubTrackFifoLength', + \ '"', + \ '\\\\\|\\"', + \ '"', + \ 'cdrtocTrackSubTrackFifoFilenameDelimiters', + \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar') + +syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar + \ contained + \ display + \ '\\\%(\o\o\o\|["\\]\)' + +call s:def_match('cdrtocTrackFifoLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE') + +call s:def_match('cdrtocTrackSilenceLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackSubTrack', + \ 'cdrtocTrackSubTrackZeroDataMode,' . + \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' . + \ 'cdrtocTrackSubTrackZeroDataLength', + \ 'ZERO') + +call s:def_keywords('cdrtocTrackSubTrackZeroDataMode', + \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength', + \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', + \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) + +call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode', + \ 'cdrtocTrackSubTrackZeroDataLength', + \ ['RW', 'RW_RAW']) + +call s:def_match('cdrtocTrackSubTrackZeroDataLength', + \ '@cdrtocTrackContentsFollow', + \ s:length_pattern) + +call s:def_keyword('cdrtocTrackMarker', + \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF', + \ 'START') + +call s:def_match('cdrtocTrackMarkerStartMMSSFF', + \ '@cdrtocTrackContentsFollow', + \ s:mmssff_pattern) + +call s:def_keyword('cdrtocTrackMarker', + \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF', + \ 'END') + +call s:def_match('cdrtocTrackMarkerEndMMSSFF', + \ '@cdrtocTrackContentsFollow', + \ s:mmssff_pattern) + +call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX') + +call s:def_match('cdrtocTrackIndexMMSSFF', + \ 'cdrtocTrackIndex,cdrtocTrack', + \ s:mmssff_pattern) + +delfunction s:def_region +delfunction s:def_match +delfunction s:def_keyword +delfunction s:def_keywords +delfunction s:def_comment + +syn sync fromstart + +hi def link cdrtocKeyword Keyword +hi def link cdrtocHeaderKeyword cdrtocKeyword +hi def link cdrtocHeaderCDText cdrtocHeaderKeyword +hi def link cdrtocDelimiter Delimiter +hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd +hi def link cdrtocNumber Number +hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber +hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger +hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator +hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart +hi def link cdrtocString String +hi def link cdrtocCDTextDataString cdrtocString +hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString +hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter +hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters +hi def link cdrtocCDTextDataStringSpecialChar SpecialChar +hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar +hi def link cdrtocCDTextEnd cdrtocDelimiter +hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd +hi def link cdrtocType Type +hi def link cdrtocCDTextItem cdrtocType +hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem +hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword +hi def link cdrtocCDTextStart cdrtocDelimiter +hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart +hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword +hi def link cdrtocHeaderCatalogNumber cdrtocString +hi def link cdrtocComment Comment +hi def link cdrtocHeaderCommentInitial cdrtocComment +hi def link cdrtocHeaderLanguage cdrtocKeyword +hi def link cdrtocLanguageEnd cdrtocDelimiter +hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd +hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter +hi def link cdrtocIdentifier Identifier +hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber +hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier +hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter +hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber +hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter +hi def link cdrtocLanguageNumber cdrtocNumber +hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber +hi def link cdrtocLanguageStart cdrtocDelimiter +hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart +hi def link cdrtocHeaderTOCType cdrtocType +hi def link cdrtocTodo Todo +hi def link cdrtocTrackKeyword cdrtocKeyword +hi def link cdrtocTrack cdrtocTrackKeyword +hi def link cdrtocTrackCDText cdrtocTrackKeyword +hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd +hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger +hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator +hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart +hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString +hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters +hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar +hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd +hi def link cdrtocTrackCDTextItem cdrtocCDTextItem +hi def link cdrtocTrackCDTextStart cdrtocCDTextStart +hi def link cdrtocLength cdrtocNumber +hi def link cdrtocTrackDatafileLength cdrtocLength +hi def link cdrtocTrackFifoLength cdrtocLength +hi def link cdrtocPreProc PreProc +hi def link cdrtocTrackFlag cdrtocPreProc +hi def link cdrtocTrackFlagCopy cdrtocTrackFlag +hi def link cdrtocSpecial Special +hi def link cdrtocTrackFlagNo cdrtocSpecial +hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag +hi def link cdrtocTrackISRC cdrtocTrackFlag +hi def link cdrtocTrackIndex cdrtocTrackKeyword +hi def link cdrtocMMSSFF cdrtocLength +hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword +hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd +hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber +hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart +hi def link cdrtocTrackContents StorageClass +hi def link cdrtocTrackMarker cdrtocTrackContents +hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackMode Type +hi def link cdrtocTrackPregap cdrtocTrackContents +hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF +hi def link cdrtocTrackSilenceLength cdrtocLength +hi def link cdrtocTrackSubChannelMode cdrtocPreProc +hi def link cdrtocTrackSubTrack cdrtocTrackContents +hi def link cdrtocFilename cdrtocString +hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename +hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename +hi def link cdrtocSpecialChar SpecialChar +hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength +hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename +hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename +hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackFifoLength cdrtocLength +hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename +hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename +hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar +hi def link cdrtocTrackSubTrackFileLength cdrtocLength +hi def link cdrtocTrackSubTrackFileStart cdrtocLength +hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength +hi def link cdrtocTrackSubTrackZeroDataMode Type +hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc +hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar + +let b:current_syntax = "cdrtoc" + +let &cpo = s:cpo_save +unlet s:cpo_save |