19964e468SBram Moolenaar" Vim syntax file 2*214641f7SBram Moolenaar" Previous Maintainer: Nikolai Weibull <[email protected]> 3a7241f5fSBram Moolenaar" Latest Revision: 2007-06-17 49964e468SBram Moolenaar 59964e468SBram Moolenaarif exists("b:current_syntax") 69964e468SBram Moolenaar finish 79964e468SBram Moolenaarendif 89964e468SBram Moolenaar 99964e468SBram Moolenaarlet s:cpo_save = &cpo 109964e468SBram Moolenaarset cpo&vim 119964e468SBram Moolenaar 12a7241f5fSBram Moolenaarsetlocal iskeyword+=- 139964e468SBram Moolenaar 149964e468SBram Moolenaarsyn keyword cmusrcTodo contained TODO FIXME XXX NOTE 159964e468SBram Moolenaar 169964e468SBram Moolenaarsyn match cmusrcComment contained display '^\s*#.*$' 179964e468SBram Moolenaar 189964e468SBram Moolenaarsyn match cmusrcBegin display '^' 199964e468SBram Moolenaar \ nextgroup=cmusrcKeyword,cmusrcComment 209964e468SBram Moolenaar \ skipwhite 219964e468SBram Moolenaar 229964e468SBram Moolenaarsyn keyword cmusrcKeyword contained add 239964e468SBram Moolenaar \ nextgroup=cmusrcAddSwitches,cmusrcURI 249964e468SBram Moolenaar \ skipwhite 259964e468SBram Moolenaar 269964e468SBram Moolenaarsyn match cmusrcAddSwitches contained display '-[lpqQ]' 279964e468SBram Moolenaar \ nextgroup=cmusrcURI 289964e468SBram Moolenaar \ skipwhite 299964e468SBram Moolenaar 309964e468SBram Moolenaarsyn match cmusrcURI contained display '.\+' 319964e468SBram Moolenaar 329964e468SBram Moolenaarsyn keyword cmusrcKeyword contained bind 339964e468SBram Moolenaar \ nextgroup=cmusrcBindSwitches, 349964e468SBram Moolenaar \ cmusrcBindContext 359964e468SBram Moolenaar \ skipwhite 369964e468SBram Moolenaar 379964e468SBram Moolenaarsyn match cmusrcBindSwitches contained display '-[f]' 389964e468SBram Moolenaar \ nextgroup=cmusrcBindContext 399964e468SBram Moolenaar \ skipwhite 409964e468SBram Moolenaar 419964e468SBram Moolenaarsyn keyword cmusrcBindContext contained common library playlist queue 429964e468SBram Moolenaar \ browser filters 439964e468SBram Moolenaar \ nextgroup=cmusrcBindKey 449964e468SBram Moolenaar \ skipwhite 459964e468SBram Moolenaar 469964e468SBram Moolenaarsyn match cmusrcBindKey contained display '\S\+' 479964e468SBram Moolenaar \ nextgroup=cmusrcKeyword 489964e468SBram Moolenaar \ skipwhite 499964e468SBram Moolenaar 509964e468SBram Moolenaarsyn keyword cmusrcKeyword contained browser-up colorscheme echo factivate 519964e468SBram Moolenaar \ filter invert player-next player-pause 529964e468SBram Moolenaar \ player-play player-prev player-stop quit 539964e468SBram Moolenaar \ refresh run search-next search-prev shuffle 549964e468SBram Moolenaar \ unmark win-activate win-add-l win-add-p 559964e468SBram Moolenaar \ win-add-Q win-add-q win-bottom win-down 569964e468SBram Moolenaar \ win-mv-after win-mv-before win-next 579964e468SBram Moolenaar \ win-page-down win-page-up win-remove 589964e468SBram Moolenaar \ win-sel-cur win-toggle win-top win-up 599964e468SBram Moolenaar \ win-update 609964e468SBram Moolenaar 619964e468SBram Moolenaarsyn keyword cmusrcKeyword contained cd 629964e468SBram Moolenaar \ nextgroup=cmusrcDirectory 639964e468SBram Moolenaar \ skipwhite 649964e468SBram Moolenaar 659964e468SBram Moolenaarsyn match cmusrcDirectory contained display '.\+' 669964e468SBram Moolenaar 679964e468SBram Moolenaarsyn keyword cmusrcKeyword contained clear 689964e468SBram Moolenaar \ nextgroup=cmusrcClearSwitches 699964e468SBram Moolenaar 709964e468SBram Moolenaarsyn match cmusrcClearSwitches contained display '-[lpq]' 719964e468SBram Moolenaar 729964e468SBram Moolenaarsyn keyword cmusrcKeyword contained fset 739964e468SBram Moolenaar \ nextgroup=cmusrcFSetName 749964e468SBram Moolenaar \ skipwhite 759964e468SBram Moolenaar 769964e468SBram Moolenaarsyn match cmusrcFSetName contained display '[^=]\+' 779964e468SBram Moolenaar \ nextgroup=cmusrcFSetEq 789964e468SBram Moolenaar 799964e468SBram Moolenaarsyn match cmusrcFSetEq contained display '=' 809964e468SBram Moolenaar \ nextgroup=cmusrcFilterExpr 819964e468SBram Moolenaar 829964e468SBram Moolenaarsyn match cmusrcFilterExpr contained display '.\+' 839964e468SBram Moolenaar 849964e468SBram Moolenaarsyn keyword cmusrcKeyword contained load 859964e468SBram Moolenaar \ nextgroup=cmusrcLoadSwitches,cmusrcURI 869964e468SBram Moolenaar \ skipwhite 879964e468SBram Moolenaar 889964e468SBram Moolenaarsyn match cmusrcLoadSwitches contained display '-[lp]' 899964e468SBram Moolenaar \ nextgroup=cmusrcURI 909964e468SBram Moolenaar \ skipwhite 919964e468SBram Moolenaar 929964e468SBram Moolenaarsyn keyword cmusrcKeyword contained mark 939964e468SBram Moolenaar \ nextgroup=cmusrcFilterExpr 949964e468SBram Moolenaar 959964e468SBram Moolenaarsyn keyword cmusrcKeyword contained save 969964e468SBram Moolenaar \ nextgroup=cmusrcSaveSwitches,cmusrcFile 979964e468SBram Moolenaar \ skipwhite 989964e468SBram Moolenaar 999964e468SBram Moolenaarsyn match cmusrcSaveSwitches contained display '-[lp]' 1009964e468SBram Moolenaar \ nextgroup=cmusrcFile 1019964e468SBram Moolenaar \ skipwhite 1029964e468SBram Moolenaar 1039964e468SBram Moolenaarsyn match cmusrcFile contained display '.\+' 1049964e468SBram Moolenaar 1059964e468SBram Moolenaarsyn keyword cmusrcKeyword contained seek 1069964e468SBram Moolenaar \ nextgroup=cmusrcSeekOffset 1079964e468SBram Moolenaar \ skipwhite 1089964e468SBram Moolenaar 1099964e468SBram Moolenaarsyn match cmusrcSeekOffset contained display 1109964e468SBram Moolenaar \ '[+-]\=\%(\d\+[mh]\=\|\%(\%(0\=\d\|[1-5]\d\):\)\=\%(0\=\d\|[1-5]\d\):\%(0\=\d\|[1-5]\d\)\)' 1119964e468SBram Moolenaar 1129964e468SBram Moolenaarsyn keyword cmusrcKeyword contained set 1139964e468SBram Moolenaar \ nextgroup=cmusrcOption 1149964e468SBram Moolenaar \ skipwhite 1159964e468SBram Moolenaar 1169964e468SBram Moolenaarsyn keyword cmusrcOption contained auto_reshuffle confirm_run 1179964e468SBram Moolenaar \ continue play_library play_sorted repeat 1189964e468SBram Moolenaar \ show_hidden show_remaining_time shuffle 1199964e468SBram Moolenaar \ nextgroup=cmusrcSetTest,cmusrcOptEqBoolean 1209964e468SBram Moolenaar 1219964e468SBram Moolenaarsyn match cmusrcSetTest contained display '?' 1229964e468SBram Moolenaar 1239964e468SBram Moolenaarsyn match cmusrcOptEqBoolean contained display '=' 1249964e468SBram Moolenaar \ nextgroup=cmusrcOptBoolean 1259964e468SBram Moolenaar 1269964e468SBram Moolenaarsyn keyword cmusrcOptBoolean contained true false 1279964e468SBram Moolenaar 1289964e468SBram Moolenaarsyn keyword cmusrcOption contained aaa_mode 1299964e468SBram Moolenaar \ nextgroup=cmusrcOptEqAAA 1309964e468SBram Moolenaar 1319964e468SBram Moolenaarsyn match cmusrcOptEqAAA contained display '=' 1329964e468SBram Moolenaar \ nextgroup=cmusrcOptAAA 1339964e468SBram Moolenaar 1349964e468SBram Moolenaarsyn keyword cmusrcOptAAA contained all artist album 1359964e468SBram Moolenaar 1369964e468SBram Moolenaarsyn keyword cmusrcOption contained buffer_seconds 1379964e468SBram Moolenaar \ nextgroup=cmusrcOptEqNumber 1389964e468SBram Moolenaar 1399964e468SBram Moolenaarsyn match cmusrcOptEqNumber contained display '=' 1409964e468SBram Moolenaar \ nextgroup=cmusrcOptNumber 1419964e468SBram Moolenaar 1429964e468SBram Moolenaarsyn match cmusrcOptNumber contained display '\d\+' 1439964e468SBram Moolenaar 1449964e468SBram Moolenaarsyn keyword cmusrcOption contained altformat_current altformat_playlist 1459964e468SBram Moolenaar \ altformat_title altformat_trackwin 1469964e468SBram Moolenaar \ format_current format_playlist format_title 1479964e468SBram Moolenaar \ format_trackwin 1489964e468SBram Moolenaar \ nextgroup=cmusrcOptEqFormat 1499964e468SBram Moolenaar 1509964e468SBram Moolenaarsyn match cmusrcOptEqFormat contained display '=' 1519964e468SBram Moolenaar \ nextgroup=cmusrcOptFormat 1529964e468SBram Moolenaar 1539964e468SBram Moolenaarsyn match cmusrcOptFormat contained display '.\+' 1549964e468SBram Moolenaar \ contains=cmusrcFormatSpecial 1559964e468SBram Moolenaar 1569964e468SBram Moolenaarsyn match cmusrcFormatSpecial contained display '%[0-]*\d*[alDntgydfF=%]' 1579964e468SBram Moolenaar 1589964e468SBram Moolenaarsyn keyword cmusrcOption contained color_cmdline_bg color_cmdline_fg 1599964e468SBram Moolenaar \ color_error color_info color_separator 1609964e468SBram Moolenaar \ color_statusline_bg color_statusline_fg 1619964e468SBram Moolenaar \ color_titleline_bg color_titleline_fg 1629964e468SBram Moolenaar \ color_win_bg color_win_cur 1639964e468SBram Moolenaar \ color_win_cur_sel_bg color_win_cur_sel_fg 1649964e468SBram Moolenaar \ color_win_dir color_win_fg 1659964e468SBram Moolenaar \ color_win_inactive_cur_sel_bg 1669964e468SBram Moolenaar \ color_win_inactive_cur_sel_fg 1679964e468SBram Moolenaar \ color_win_inactive_sel_bg 1689964e468SBram Moolenaar \ color_win_inactive_sel_fg 1699964e468SBram Moolenaar \ color_win_sel_bg color_win_sel_fg 1709964e468SBram Moolenaar \ color_win_title_bg color_win_title_fg 1719964e468SBram Moolenaar \ nextgroup=cmusrcOptEqColor 1729964e468SBram Moolenaar 1739964e468SBram Moolenaarsyn match cmusrcOptEqColor contained display '=' 1749964e468SBram Moolenaar \ nextgroup=@cmusrcOptColor 1759964e468SBram Moolenaar 1769964e468SBram Moolenaarsyn cluster cmusrcOptColor contains=cmusrcOptColorName,cmusrcOptColorValue 1779964e468SBram Moolenaar 1789964e468SBram Moolenaarsyn keyword cmusrcOptColorName contained default black red green yellow blue 1799964e468SBram Moolenaar \ magenta cyan gray darkgray lightred lightred 1809964e468SBram Moolenaar \ lightgreen lightyellow lightblue lightmagenta 1819964e468SBram Moolenaar \ lightcyan white 1829964e468SBram Moolenaar 1839964e468SBram Moolenaarsyn match cmusrcOptColorValue contained display 1849964e468SBram Moolenaar \ '-1\|0*\%(\d\|[1-9]\d\|1\d\d\|2\%([0-4]\d\|5[0-5]\)\)' 1859964e468SBram Moolenaar 1869964e468SBram Moolenaarsyn keyword cmusrcOption contained id3_default_charset output_plugin 1879964e468SBram Moolenaar \ status_display_program 1889964e468SBram Moolenaar \ nextgroup=cmusrcOptEqString 1899964e468SBram Moolenaar 1909964e468SBram Moolenaarsyn match cmusrcOption contained 1919964e468SBram Moolenaar \ '\%(dsp\|mixer\)\.\%(alsa\|oss\|sun\)\.\%(channel\|device\)' 1929964e468SBram Moolenaar \ nextgroup=cmusrcOptEqString 1939964e468SBram Moolenaar 1949964e468SBram Moolenaarsyn match cmusrcOption contained 1959964e468SBram Moolenaar \ 'dsp\.ao\.\%(buffer_size\|driver\|wav_counter\|wav_dir\)' 1969964e468SBram Moolenaar \ nextgroup=cmusrcOptEqString 1979964e468SBram Moolenaar 1989964e468SBram Moolenaarsyn match cmusrcOptEqString contained display '=' 1999964e468SBram Moolenaar \ nextgroup=cmusrcOptString 2009964e468SBram Moolenaar 2019964e468SBram Moolenaarsyn match cmusrcOptString contained display '.\+' 2029964e468SBram Moolenaar 2039964e468SBram Moolenaarsyn keyword cmusrcOption contained lib_sort pl_sort 2049964e468SBram Moolenaar \ nextgroup=cmusrcOptEqSortKeys 2059964e468SBram Moolenaar 2069964e468SBram Moolenaarsyn match cmusrcOptEqSortKeys contained display '=' 2079964e468SBram Moolenaar \ nextgroup=cmusrcOptSortKeys 2089964e468SBram Moolenaar 2099964e468SBram Moolenaarsyn keyword cmusrcOptSortKeys contained artist album title tracknumber 2109964e468SBram Moolenaar \ discnumber date genre filename 2119964e468SBram Moolenaar \ nextgroup=cmusrcOptSortKeys 2129964e468SBram Moolenaar \ skipwhite 2139964e468SBram Moolenaar 2149964e468SBram Moolenaarsyn keyword cmusrcKeyword contained showbind 2159964e468SBram Moolenaar \ nextgroup=cmusrcSBindContext 2169964e468SBram Moolenaar \ skipwhite 2179964e468SBram Moolenaar 2189964e468SBram Moolenaarsyn keyword cmusrcSBindContext contained common library playlist queue 2199964e468SBram Moolenaar \ browser filters 2209964e468SBram Moolenaar \ nextgroup=cmusrcSBindKey 2219964e468SBram Moolenaar \ skipwhite 2229964e468SBram Moolenaar 2239964e468SBram Moolenaarsyn match cmusrcSBindKey contained display '\S\+' 2249964e468SBram Moolenaar 2259964e468SBram Moolenaarsyn keyword cmusrcKeyword contained toggle 2269964e468SBram Moolenaar \ nextgroup=cmusrcTogglableOpt 2279964e468SBram Moolenaar \ skipwhite 2289964e468SBram Moolenaar 2299964e468SBram Moolenaarsyn keyword cmusrcTogglableOpt contained auto_reshuffle aaa_mode 2309964e468SBram Moolenaar \ confirm_run continue play_library play_sorted 2319964e468SBram Moolenaar \ repeat show_hidden show_remaining_time shuffle 2329964e468SBram Moolenaar 2339964e468SBram Moolenaarsyn keyword cmusrcKeyword contained unbind 2349964e468SBram Moolenaar \ nextgroup=cmusrcUnbindSwitches, 2359964e468SBram Moolenaar \ cmusrcSBindContext 2369964e468SBram Moolenaar \ skipwhite 2379964e468SBram Moolenaar 2389964e468SBram Moolenaarsyn match cmusrcUnbindSwitches contained display '-[f]' 2399964e468SBram Moolenaar \ nextgroup=cmusrcSBindContext 2409964e468SBram Moolenaar \ skipwhite 2419964e468SBram Moolenaar 2429964e468SBram Moolenaarsyn keyword cmusrcKeyword contained view 2439964e468SBram Moolenaar \ nextgroup=cmusrcView 2449964e468SBram Moolenaar \ skipwhite 2459964e468SBram Moolenaar 2469964e468SBram Moolenaarsyn keyword cmusrcView contained library playlist queue browser filters 2479964e468SBram Moolenaarsyn match cmusrcView contained display '[1-6]' 2489964e468SBram Moolenaar 2499964e468SBram Moolenaarsyn keyword cmusrcKeyword contained vol 2509964e468SBram Moolenaar \ nextgroup=cmusrcVolume1 2519964e468SBram Moolenaar \ skipwhite 2529964e468SBram Moolenaar 2539964e468SBram Moolenaarsyn match cmusrcVolume1 contained display '[+-]\=\d\+%' 2549964e468SBram Moolenaar \ nextgroup=cmusrcVolume2 2559964e468SBram Moolenaar \ skipwhite 2569964e468SBram Moolenaar 2579964e468SBram Moolenaarsyn match cmusrcVolume2 contained display '[+-]\=\d\+%' 2589964e468SBram Moolenaar 2599964e468SBram Moolenaarhi def link cmusrcTodo Todo 2609964e468SBram Moolenaarhi def link cmusrcComment Comment 2619964e468SBram Moolenaarhi def link cmusrcKeyword Keyword 2629964e468SBram Moolenaarhi def link cmusrcSwitches Special 2639964e468SBram Moolenaarhi def link cmusrcAddSwitches cmusrcSwitches 2649964e468SBram Moolenaarhi def link cmusrcURI Normal 2659964e468SBram Moolenaarhi def link cmusrcBindSwitches cmusrcSwitches 2669964e468SBram Moolenaarhi def link cmusrcContext Type 2679964e468SBram Moolenaarhi def link cmusrcBindContext cmusrcContext 2689964e468SBram Moolenaarhi def link cmusrcKey String 2699964e468SBram Moolenaarhi def link cmusrcBindKey cmusrcKey 2709964e468SBram Moolenaarhi def link cmusrcDirectory Normal 2719964e468SBram Moolenaarhi def link cmusrcClearSwitches cmusrcSwitches 2729964e468SBram Moolenaarhi def link cmusrcFSetName PreProc 2739964e468SBram Moolenaarhi def link cmusrcEq Normal 2749964e468SBram Moolenaarhi def link cmusrcFSetEq cmusrcEq 2759964e468SBram Moolenaarhi def link cmusrcFilterExpr Normal 2769964e468SBram Moolenaarhi def link cmusrcLoadSwitches cmusrcSwitches 2779964e468SBram Moolenaarhi def link cmusrcSaveSwitches cmusrcSwitches 2789964e468SBram Moolenaarhi def link cmusrcFile Normal 2799964e468SBram Moolenaarhi def link cmusrcSeekOffset Number 2809964e468SBram Moolenaarhi def link cmusrcOption PreProc 2819964e468SBram Moolenaarhi def link cmusrcSetTest Normal 2829964e468SBram Moolenaarhi def link cmusrcOptBoolean Boolean 2839964e468SBram Moolenaarhi def link cmusrcOptEqAAA cmusrcEq 2849964e468SBram Moolenaarhi def link cmusrcOptAAA Identifier 2859964e468SBram Moolenaarhi def link cmusrcOptEqNumber cmusrcEq 2869964e468SBram Moolenaarhi def link cmusrcOptNumber Number 2879964e468SBram Moolenaarhi def link cmusrcOptEqFormat cmusrcEq 2889964e468SBram Moolenaarhi def link cmusrcOptFormat String 2899964e468SBram Moolenaarhi def link cmusrcFormatSpecial SpecialChar 2909964e468SBram Moolenaarhi def link cmusrcOptEqColor cmusrcEq 2919964e468SBram Moolenaarhi def link cmusrcOptColor Normal 2929964e468SBram Moolenaarhi def link cmusrcOptColorName cmusrcOptColor 2939964e468SBram Moolenaarhi def link cmusrcOptColorValue cmusrcOptColor 2949964e468SBram Moolenaarhi def link cmusrcOptEqString cmusrcEq 2959964e468SBram Moolenaarhi def link cmusrcOptString Normal 2969964e468SBram Moolenaarhi def link cmusrcOptEqSortKeys cmusrcEq 2979964e468SBram Moolenaarhi def link cmusrcOptSortKeys Identifier 2989964e468SBram Moolenaarhi def link cmusrcSBindContext cmusrcContext 2999964e468SBram Moolenaarhi def link cmusrcSBindKey cmusrcKey 3009964e468SBram Moolenaarhi def link cmusrcTogglableOpt cmusrcOption 3019964e468SBram Moolenaarhi def link cmusrcUnbindSwitches cmusrcSwitches 3029964e468SBram Moolenaarhi def link cmusrcView Normal 3039964e468SBram Moolenaarhi def link cmusrcVolume1 Number 3049964e468SBram Moolenaarhi def link cmusrcVolume2 Number 3059964e468SBram Moolenaar 3069964e468SBram Moolenaarlet b:current_syntax = "cmusrc" 3079964e468SBram Moolenaar 3089964e468SBram Moolenaarlet &cpo = s:cpo_save 3099964e468SBram Moolenaarunlet s:cpo_save 310