mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			538 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			538 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " 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 |