diff --git a/runtime/syntax/cdrtoc.vim b/runtime/syntax/cdrtoc.vim
new file mode 100644
index 0000000..fa752db
--- /dev/null
+++ b/runtime/syntax/cdrtoc.vim
@@ -0,0 +1,537 @@
+" Vim syntax file
+" Language:         cdrdao(1) TOC file
+" 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
