| 
									
										
										
										
											2007-05-10 18:29:51 +00:00
										 |  |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2017-03-05 17:04:09 +01:00
										 |  |  |  | " Language:             cdrdao(1) TOC file | 
					
						
							|  |  |  |  | " Previous Maintainer:  Nikolai Weibull <now@bitwi.se> | 
					
						
							|  |  |  |  | " Latest Revision:      2007-05-10 | 
					
						
							| 
									
										
										
										
											2007-05-10 18:29:51 +00:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 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 |