| " Vim syntax file |
| " Maintainer: Nikolai Weibull <now@bitwi.se> |
| " Latest Revision: 2007-06-17 |
| |
| if exists("b:current_syntax") |
| finish |
| endif |
| |
| let s:cpo_save = &cpo |
| set cpo&vim |
| |
| setlocal iskeyword+=- |
| |
| syn keyword cmusrcTodo contained TODO FIXME XXX NOTE |
| |
| syn match cmusrcComment contained display '^\s*#.*$' |
| |
| syn match cmusrcBegin display '^' |
| \ nextgroup=cmusrcKeyword,cmusrcComment |
| \ skipwhite |
| |
| syn keyword cmusrcKeyword contained add |
| \ nextgroup=cmusrcAddSwitches,cmusrcURI |
| \ skipwhite |
| |
| syn match cmusrcAddSwitches contained display '-[lpqQ]' |
| \ nextgroup=cmusrcURI |
| \ skipwhite |
| |
| syn match cmusrcURI contained display '.\+' |
| |
| syn keyword cmusrcKeyword contained bind |
| \ nextgroup=cmusrcBindSwitches, |
| \ cmusrcBindContext |
| \ skipwhite |
| |
| syn match cmusrcBindSwitches contained display '-[f]' |
| \ nextgroup=cmusrcBindContext |
| \ skipwhite |
| |
| syn keyword cmusrcBindContext contained common library playlist queue |
| \ browser filters |
| \ nextgroup=cmusrcBindKey |
| \ skipwhite |
| |
| syn match cmusrcBindKey contained display '\S\+' |
| \ nextgroup=cmusrcKeyword |
| \ skipwhite |
| |
| syn keyword cmusrcKeyword contained browser-up colorscheme echo factivate |
| \ filter invert player-next player-pause |
| \ player-play player-prev player-stop quit |
| \ refresh run search-next search-prev shuffle |
| \ unmark win-activate win-add-l win-add-p |
| \ win-add-Q win-add-q win-bottom win-down |
| \ win-mv-after win-mv-before win-next |
| \ win-page-down win-page-up win-remove |
| \ win-sel-cur win-toggle win-top win-up |
| \ win-update |
| |
| syn keyword cmusrcKeyword contained cd |
| \ nextgroup=cmusrcDirectory |
| \ skipwhite |
| |
| syn match cmusrcDirectory contained display '.\+' |
| |
| syn keyword cmusrcKeyword contained clear |
| \ nextgroup=cmusrcClearSwitches |
| |
| syn match cmusrcClearSwitches contained display '-[lpq]' |
| |
| syn keyword cmusrcKeyword contained fset |
| \ nextgroup=cmusrcFSetName |
| \ skipwhite |
| |
| syn match cmusrcFSetName contained display '[^=]\+' |
| \ nextgroup=cmusrcFSetEq |
| |
| syn match cmusrcFSetEq contained display '=' |
| \ nextgroup=cmusrcFilterExpr |
| |
| syn match cmusrcFilterExpr contained display '.\+' |
| |
| syn keyword cmusrcKeyword contained load |
| \ nextgroup=cmusrcLoadSwitches,cmusrcURI |
| \ skipwhite |
| |
| syn match cmusrcLoadSwitches contained display '-[lp]' |
| \ nextgroup=cmusrcURI |
| \ skipwhite |
| |
| syn keyword cmusrcKeyword contained mark |
| \ nextgroup=cmusrcFilterExpr |
| |
| syn keyword cmusrcKeyword contained save |
| \ nextgroup=cmusrcSaveSwitches,cmusrcFile |
| \ skipwhite |
| |
| syn match cmusrcSaveSwitches contained display '-[lp]' |
| \ nextgroup=cmusrcFile |
| \ skipwhite |
| |
| syn match cmusrcFile contained display '.\+' |
| |
| syn keyword cmusrcKeyword contained seek |
| \ nextgroup=cmusrcSeekOffset |
| \ skipwhite |
| |
| syn match cmusrcSeekOffset contained display |
| \ '[+-]\=\%(\d\+[mh]\=\|\%(\%(0\=\d\|[1-5]\d\):\)\=\%(0\=\d\|[1-5]\d\):\%(0\=\d\|[1-5]\d\)\)' |
| |
| syn keyword cmusrcKeyword contained set |
| \ nextgroup=cmusrcOption |
| \ skipwhite |
| |
| syn keyword cmusrcOption contained auto_reshuffle confirm_run |
| \ continue play_library play_sorted repeat |
| \ show_hidden show_remaining_time shuffle |
| \ nextgroup=cmusrcSetTest,cmusrcOptEqBoolean |
| |
| syn match cmusrcSetTest contained display '?' |
| |
| syn match cmusrcOptEqBoolean contained display '=' |
| \ nextgroup=cmusrcOptBoolean |
| |
| syn keyword cmusrcOptBoolean contained true false |
| |
| syn keyword cmusrcOption contained aaa_mode |
| \ nextgroup=cmusrcOptEqAAA |
| |
| syn match cmusrcOptEqAAA contained display '=' |
| \ nextgroup=cmusrcOptAAA |
| |
| syn keyword cmusrcOptAAA contained all artist album |
| |
| syn keyword cmusrcOption contained buffer_seconds |
| \ nextgroup=cmusrcOptEqNumber |
| |
| syn match cmusrcOptEqNumber contained display '=' |
| \ nextgroup=cmusrcOptNumber |
| |
| syn match cmusrcOptNumber contained display '\d\+' |
| |
| syn keyword cmusrcOption contained altformat_current altformat_playlist |
| \ altformat_title altformat_trackwin |
| \ format_current format_playlist format_title |
| \ format_trackwin |
| \ nextgroup=cmusrcOptEqFormat |
| |
| syn match cmusrcOptEqFormat contained display '=' |
| \ nextgroup=cmusrcOptFormat |
| |
| syn match cmusrcOptFormat contained display '.\+' |
| \ contains=cmusrcFormatSpecial |
| |
| syn match cmusrcFormatSpecial contained display '%[0-]*\d*[alDntgydfF=%]' |
| |
| syn keyword cmusrcOption contained color_cmdline_bg color_cmdline_fg |
| \ color_error color_info color_separator |
| \ color_statusline_bg color_statusline_fg |
| \ color_titleline_bg color_titleline_fg |
| \ color_win_bg color_win_cur |
| \ color_win_cur_sel_bg color_win_cur_sel_fg |
| \ color_win_dir color_win_fg |
| \ color_win_inactive_cur_sel_bg |
| \ color_win_inactive_cur_sel_fg |
| \ color_win_inactive_sel_bg |
| \ color_win_inactive_sel_fg |
| \ color_win_sel_bg color_win_sel_fg |
| \ color_win_title_bg color_win_title_fg |
| \ nextgroup=cmusrcOptEqColor |
| |
| syn match cmusrcOptEqColor contained display '=' |
| \ nextgroup=@cmusrcOptColor |
| |
| syn cluster cmusrcOptColor contains=cmusrcOptColorName,cmusrcOptColorValue |
| |
| syn keyword cmusrcOptColorName contained default black red green yellow blue |
| \ magenta cyan gray darkgray lightred lightred |
| \ lightgreen lightyellow lightblue lightmagenta |
| \ lightcyan white |
| |
| syn match cmusrcOptColorValue contained display |
| \ '-1\|0*\%(\d\|[1-9]\d\|1\d\d\|2\%([0-4]\d\|5[0-5]\)\)' |
| |
| syn keyword cmusrcOption contained id3_default_charset output_plugin |
| \ status_display_program |
| \ nextgroup=cmusrcOptEqString |
| |
| syn match cmusrcOption contained |
| \ '\%(dsp\|mixer\)\.\%(alsa\|oss\|sun\)\.\%(channel\|device\)' |
| \ nextgroup=cmusrcOptEqString |
| |
| syn match cmusrcOption contained |
| \ 'dsp\.ao\.\%(buffer_size\|driver\|wav_counter\|wav_dir\)' |
| \ nextgroup=cmusrcOptEqString |
| |
| syn match cmusrcOptEqString contained display '=' |
| \ nextgroup=cmusrcOptString |
| |
| syn match cmusrcOptString contained display '.\+' |
| |
| syn keyword cmusrcOption contained lib_sort pl_sort |
| \ nextgroup=cmusrcOptEqSortKeys |
| |
| syn match cmusrcOptEqSortKeys contained display '=' |
| \ nextgroup=cmusrcOptSortKeys |
| |
| syn keyword cmusrcOptSortKeys contained artist album title tracknumber |
| \ discnumber date genre filename |
| \ nextgroup=cmusrcOptSortKeys |
| \ skipwhite |
| |
| syn keyword cmusrcKeyword contained showbind |
| \ nextgroup=cmusrcSBindContext |
| \ skipwhite |
| |
| syn keyword cmusrcSBindContext contained common library playlist queue |
| \ browser filters |
| \ nextgroup=cmusrcSBindKey |
| \ skipwhite |
| |
| syn match cmusrcSBindKey contained display '\S\+' |
| |
| syn keyword cmusrcKeyword contained toggle |
| \ nextgroup=cmusrcTogglableOpt |
| \ skipwhite |
| |
| syn keyword cmusrcTogglableOpt contained auto_reshuffle aaa_mode |
| \ confirm_run continue play_library play_sorted |
| \ repeat show_hidden show_remaining_time shuffle |
| |
| syn keyword cmusrcKeyword contained unbind |
| \ nextgroup=cmusrcUnbindSwitches, |
| \ cmusrcSBindContext |
| \ skipwhite |
| |
| syn match cmusrcUnbindSwitches contained display '-[f]' |
| \ nextgroup=cmusrcSBindContext |
| \ skipwhite |
| |
| syn keyword cmusrcKeyword contained view |
| \ nextgroup=cmusrcView |
| \ skipwhite |
| |
| syn keyword cmusrcView contained library playlist queue browser filters |
| syn match cmusrcView contained display '[1-6]' |
| |
| syn keyword cmusrcKeyword contained vol |
| \ nextgroup=cmusrcVolume1 |
| \ skipwhite |
| |
| syn match cmusrcVolume1 contained display '[+-]\=\d\+%' |
| \ nextgroup=cmusrcVolume2 |
| \ skipwhite |
| |
| syn match cmusrcVolume2 contained display '[+-]\=\d\+%' |
| |
| hi def link cmusrcTodo Todo |
| hi def link cmusrcComment Comment |
| hi def link cmusrcKeyword Keyword |
| hi def link cmusrcSwitches Special |
| hi def link cmusrcAddSwitches cmusrcSwitches |
| hi def link cmusrcURI Normal |
| hi def link cmusrcBindSwitches cmusrcSwitches |
| hi def link cmusrcContext Type |
| hi def link cmusrcBindContext cmusrcContext |
| hi def link cmusrcKey String |
| hi def link cmusrcBindKey cmusrcKey |
| hi def link cmusrcDirectory Normal |
| hi def link cmusrcClearSwitches cmusrcSwitches |
| hi def link cmusrcFSetName PreProc |
| hi def link cmusrcEq Normal |
| hi def link cmusrcFSetEq cmusrcEq |
| hi def link cmusrcFilterExpr Normal |
| hi def link cmusrcLoadSwitches cmusrcSwitches |
| hi def link cmusrcSaveSwitches cmusrcSwitches |
| hi def link cmusrcFile Normal |
| hi def link cmusrcSeekOffset Number |
| hi def link cmusrcOption PreProc |
| hi def link cmusrcSetTest Normal |
| hi def link cmusrcOptBoolean Boolean |
| hi def link cmusrcOptEqAAA cmusrcEq |
| hi def link cmusrcOptAAA Identifier |
| hi def link cmusrcOptEqNumber cmusrcEq |
| hi def link cmusrcOptNumber Number |
| hi def link cmusrcOptEqFormat cmusrcEq |
| hi def link cmusrcOptFormat String |
| hi def link cmusrcFormatSpecial SpecialChar |
| hi def link cmusrcOptEqColor cmusrcEq |
| hi def link cmusrcOptColor Normal |
| hi def link cmusrcOptColorName cmusrcOptColor |
| hi def link cmusrcOptColorValue cmusrcOptColor |
| hi def link cmusrcOptEqString cmusrcEq |
| hi def link cmusrcOptString Normal |
| hi def link cmusrcOptEqSortKeys cmusrcEq |
| hi def link cmusrcOptSortKeys Identifier |
| hi def link cmusrcSBindContext cmusrcContext |
| hi def link cmusrcSBindKey cmusrcKey |
| hi def link cmusrcTogglableOpt cmusrcOption |
| hi def link cmusrcUnbindSwitches cmusrcSwitches |
| hi def link cmusrcView Normal |
| hi def link cmusrcVolume1 Number |
| hi def link cmusrcVolume2 Number |
| |
| let b:current_syntax = "cmusrc" |
| |
| let &cpo = s:cpo_save |
| unlet s:cpo_save |