diff --git a/melodactyl/contrib/vim/ftdetect/melodactyl.vim b/melodactyl/contrib/vim/ftdetect/melodactyl.vim index 12a00079..e7661ca3 100644 --- a/melodactyl/contrib/vim/ftdetect/melodactyl.vim +++ b/melodactyl/contrib/vim/ftdetect/melodactyl.vim @@ -1,2 +1 @@ -" TODO: what's the Xulmus filename extension? -au BufNewFile,BufRead *xulmusrc*,*.xulmus set filetype=xulmus +au BufNewFile,BufRead *melodactylrc*,*.melo set filetype=melodactyl diff --git a/melodactyl/contrib/vim/syntax/melodactyl.vim b/melodactyl/contrib/vim/syntax/melodactyl.vim index 5f3bba1f..76eb45bb 100644 --- a/melodactyl/contrib/vim/syntax/melodactyl.vim +++ b/melodactyl/contrib/vim/syntax/melodactyl.vim @@ -1,9 +1,8 @@ " Vim syntax file -" Language: Xulmus configuration file +" Language: Melodactyl configuration file " Maintainer: Doug Kearns -" Last Change: 2009 Nov 14 -" TODO: make this xulmus specific - shared dactyl config? +" TODO: make this melodactyl specific - shared dactyl config? if exists("b:current_syntax") finish @@ -18,92 +17,91 @@ unlet b:current_syntax syn include @cssTop syntax/css.vim unlet b:current_syntax -syn match xulmusCommandStart "\%(^\s*:\=\)\@<=" nextgroup=xulmusCommand,xulmusAutoCmd +syn match melodactylCommandStart "\%(^\s*:\=\)\@<=" nextgroup=melodactylCommand,melodactylAutoCmd -syn keyword xulmusCommand ab[breviate] ab[clear] addo[ns] bN[ext] b[uffer] ba[ck] bd[elete] beep bf[irst] bl[ast] bma[rk] bmarks - \ bn[ext] bp[revious] br[ewind] bufd[o] buffers bun[load] bw[ipeout] ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear] - \ cno[remap] colo[rscheme] com[mand] comc[lear] cu[nmap] cuna[bbrev] delbm[arks] delc[ommand] delm[arks] delmac[ros] - \ delqm[arks] dels[tyle] dia[log] displayp[ane] dl do[autocmd] doautoa[ll] downl[oads] dp[ane] dpcl[ose] dpope[n] ec[ho] - \ echoe[rr] echom[sg] em[enu] exe[cute] exta[dd] extd[isable] extde[lete] exte[nable] extens[ions] exto[ptions] - \ extp[references] exu[sage] f[ilter] files fini[sh] fo[rward] frameo[nly] fw h[elp] helpa[ll] ha[rdcopy] hi[ghlight] - \ hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear] ino[remap] iu[nmap] iuna[bbrev] javas[cript] js ju[mps] let load - \ loadplugins lpl ls ma[rk] macros map mapc[lear] marks mediav[iew] mes[sages] messc[lear] mkv[imperatorrc] mkx[ulmusrc] - \ nm[ap] nmap[clear] nno[remap] no[remap] noh[lsearch] norm[al] nu[nmap] o[pen] optionu[sage] pa[geinfo] pagest[yle] pas - \ playern[ext] playerp[lay] playerpa[use] playerpr[ev] players[top] pm[ap] pmap[clear] pno[remap] pref[erences] prefs - \ pu[nmap] pw[d] q[uit] qa[ll] qma[rk] qmarks queue quita[ll] re[draw] re[load] reloada[ll] res[tart] run runt[ime] sav[eas] - \ sb[ar] sb[open] sbcl[ose] scrip[tnames] se[t] see[k] setg[lobal] setl[ocal] sideb[ar] sil[ent] sort[view] so[urce] st[op] - \ stopa[ll] sty[le] tN[ext] t[open] tab tabN[ext] tabc[lose] tabd[o] tabde[tach] tabdu[plicate] tabfir[st] tabl[ast] tabm[ove] - \ tabn[ext] tabnew tabo[nly] tabopen tabp[revious] tabr[ewind] tabs tbh[ide] tbs[how] tbt[oggle] time tn[ext] toolbarh[ide] - \ toolbars[how] toolbart[oggle] tp[revious] u[ndo] una[bbreviate] undoa[ll] unl[et] unm[ap] verb[ose] ve[rsion] vie[wsource] - \ viu[sage] vm[ap] vmap[clear] vno[remap] vol[ume] vu[nmap] w[rite] wc[lose] winc[lose] wq wqa[ll] xa[ll] zo[om] +syn keyword melodactylCommand run ab[breviate] abc[lear] addo[ns] au[tocmd] ba[ck] bd[elete] bw[ipeout] bun[load] tabc[lose] + \ bma[rk] bmarks b[uffer] buffers files ls tabs ca[bbrev] cabc[lear] cd chd[ir] cm[ap] cmapc[lear] cno[remap] colo[rscheme] + \ comc[lear] com[mand] contexts cuna[bbrev] cunm[ap] delbm[arks] delc[ommand] delmac[ros] delm[arks] delqm[arks] dels[tyle] + \ dia[log] displayp[ane] dp[ane] dpope[n] doautoa[ll] do[autocmd] downl[oads] dl dpcl[ose] ec[ho] echoe[rr] echom[sg] em[enu] + \ exe[cute] exta[dd] extde[lete] extd[isable] exte[nable] extens[ions] exts exto[ptions] extp[references] exu[sage] fini[sh] + \ fo[rward] fw frameo[nly] ha[rdcopy] h[elp] helpa[ll] hi[ghlight] hist[ory] hs ia[bbrev] iabc[lear] im[ap] imapc[lear] + \ ino[remap] iuna[bbrev] iunm[ap] javas[cript] js ju[mps] keepa[lt] let loadplugins lpl macros map mapc[lear] ma[rk] marks + \ mes[sages] messc[lear] mkm[elodactylrc] nm[ap] nmapc[lear] nno[remap] noh[lsearch] no[remap] norm[al] nunm[ap] o[pen] + \ optionu[sage] pa[geinfo] pagest[yle] pas pref[erences] prefs pw[d] qma[rk] qmarks q[uit] quita[ll] qa[ll] redr[aw] re[load] + \ reloada[ll] res[tart] runt[ime] sav[eas] w[rite] scrip[tnames] se[t] setg[lobal] setl[ocal] sil[ent] so[urce] st[op] + \ stopa[ll] sty[le] styled[isable] styd[isable] stylee[nable] stye[nable] stylet[oggle] styt[oggle] tab taba[ttach] + \ tabde[tach] tabd[o] bufd[o] tabdu[plicate] tabl[ast] bl[ast] tabm[ove] tabn[ext] tn[ext] bn[ext] tabo[nly] tabopen t[open] + \ tabnew tabp[revious] tp[revious] tabN[ext] tN[ext] bp[revious] bN[ext] tabr[ewind] tabfir[st] br[ewind] bf[irst] time + \ toolbarh[ide] tbh[ide] toolbars[how] tbs[how] toolbart[oggle] tbt[oggle] una[bbreviate] unl[et] unm[ap] verb[ose] ve[rsion] + \ vie[wsource] viu[sage] vm[ap] vmapc[lear] vno[remap] vunm[ap] wqa[ll] wq xa[ll] zo[om] \ contained -syn match xulmusCommand "!" contained +syn match melodactylCommand "!" contained -syn keyword xulmusAutoCmd au[tocmd] contained nextgroup=xulmusAutoEventList skipwhite +syn keyword melodactylAutoCmd au[tocmd] contained nextgroup=melodactylAutoEventList skipwhite -syn keyword xulmusAutoEvent BookmarkAdd ColorScheme DOMLoad DownloadPost Fullscreen LocationChange PageLoad PageLoadPre - \ ShellCmdPost StreamEnd StreamPause StreamStart StreamStop TrackChange TrackChangePre ViewChange ViewChangePre XulmusEnter - \ XulmusLeave XulmusLeavePre +syn keyword melodactylAutoEvent BookmarkAdd ColorScheme DOMLoad DownloadPost Fullscreen LocationChange PageLoadPre PageLoad + \ ShellCmdPost TrackChangePre TrackChange ViewChangePre ViewChange StreamStart StreamPause StreamEnd StreamStop Enter + \ LeavePre Leave \ contained -syn match xulmusAutoEventList "\(\a\+,\)*\a\+" contained contains=xulmusAutoEvent +syn match melodactylAutoEventList "\(\a\+,\)*\a\+" contained contains=melodactylAutoEvent -syn region xulmusSet matchgroup=xulmusCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>" - \ end="$" keepend oneline contains=xulmusOption,xulmusString +syn region melodactylSet matchgroup=melodactylCommand start="\%(^\s*:\=\)\@<=\<\%(setl\%[ocal]\|setg\%[lobal]\|set\=\)\=\>" + \ end="$" keepend oneline contains=melodactylOption,melodactylString -syn keyword xulmusOption activate act cdpath cd complete cpt defsearch ds editor encoding enc eventignore ei extendedhinttags eht - \ fileencoding fenc followhints fh guioptions go helpfile hf hintinputs hin hintmatching hm hinttags ht hinttimeout hto - \ history hi laststatus ls maxitems messages msgs newtab nextpattern pageinfo pa popups pps previouspattern repeat runtimepath - \ rtp scroll scr shell sh shellcmdflag shcf showstatuslinks ssli showtabline stal suggestengines titlestring urlseparator - \ verbose vbs wildcase wic wildignore wig wildmode wim wildoptions wop wordseparators wsp - \ contained nextgroup=xulmusSetMod +syn keyword melodactylOption activate act altwildmode awim autocomplete au nobanghist nobh cdpath cd complete cpt defsearch + \ ds editor encoding enc noerrorbells noeb eventignore ei noexrc noex extendedhinttags eht fileencoding fenc followhints fh + \ nofullscreen nofs guioptions go helpfile hf hintinputs hin hintkeys hk hintmatching hm hinttags ht hinttimeout hto history + \ hi nohlsearch nohls noignorecase noic noincsearch nois noinsertmode noim nojsdebugger nojsd laststatus ls nolinksearch nolks + \ loadplugins lpl maxitems messages msgs nomore newtab nextpattern noonline pageinfo pa popups pps previouspattern runtimepath + \ rtp scroll scr shell sh shellcmdflag shcf noshowmode nosmd showstatuslinks ssli showtabline stal nosmartcase noscs + \ nostrictfocus nosf suggestengines titlestring urlseparator nousermode noum verbose vbs novisualbell novb wildanchor wia + \ wildcase wic wildignore wig wildmode wim wildsort wis wordseparators wsp + \ contained nextgroup=melodactylSetMod -" toggle options -syn match xulmusOption "\<\%(no\|inv\)\=\%(errorbells\|eb\|exrc\|ex\|focuscontent\|fc\|fullscreen\|fs\|ignorecase\|ic\)\>!\=" - \ contained nextgroup=xulmusSetMod -syn match xulmusOption "\<\%(no\|inv\)\=\%(incsearch\|is\|insertmode\|im\|hlsearch\|hls\|linksearch\|lks\)\>!\=" - \ contained nextgroup=xulmusSetMod -syn match xulmusOption "\<\%(no\|inv\)\=\%(loadplugins\|lpl\|more\|online\|shuffle\|showmode\|smd\|smartcase\|scs\)\>!\=" - \ contained nextgroup=xulmusSetMod -syn match xulmusOption "\<\%(no\|inv\)\=\%(online\|visualbell\|vb\|usermode\|um\)\>!\=" - \ contained nextgroup=xulmusSetMod +let s:toggleOptions = ["banghist", "bh", "errorbells", "eb", "exrc", "ex", "fullscreen", "fs", "hlsearch", "hls", + \ "ignorecase", "ic", "incsearch", "is", "insertmode", "im", "jsdebugger", "jsd", "linksearch", "lks", "more", "online", + \ "showmode", "smd", "smartcase", "scs", "strictfocus", "sf", "usermode", "um", "visualbell", "vb"] +execute 'syn match melodactylOption "\<\%(no\|inv\)\=\%(' . + \ join(s:toggleOptions, '\|') . + \ '\)\>!\=" contained nextgroup=melodactylSetMod' -syn match xulmusSetMod "\%(\<[a-z_]\+\)\@<=&" contained +syn match melodactylSetMod "\%(\<[a-z_]\+\)\@<=&" contained -syn region xulmusJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline -syn region xulmusJavaScript matchgroup=xulmusJavaScriptDelimiter +syn region melodactylJavaScript start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=" end="$" contains=@javascriptTop keepend oneline +syn region melodactylJavaScript matchgroup=melodactylJavaScriptDelimiter \ start="\%(^\s*\%(javascript\|js\)\s\+\)\@<=<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@javascriptTop fold let s:cssRegionStart = '\%(^\s*sty\%[le]!\=\s\+\%(-\%(n\|name\)\%(\s\+\|=\)\S\+\s\+\)\=[^-]\S\+\s\+\)\@<=' -execute 'syn region xulmusCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline' -execute 'syn region xulmusCss matchgroup=xulmusCssDelimiter' +execute 'syn region melodactylCss start="' . s:cssRegionStart . '" end="$" contains=@cssTop keepend oneline' +execute 'syn region melodactylCss matchgroup=melodactylCssDelimiter' \ 'start="' . s:cssRegionStart . '<<\s*\z(\h\w*\)"hs=s+2 end="^\z1$" contains=@cssTop fold' -syn match xulmusNotation "<[0-9A-Za-z-]\+>" +syn match melodactylNotation "<[0-9A-Za-z-]\+>" -syn match xulmusComment +".*$+ contains=xulmusTodo,@Spell -syn keyword xulmusTodo FIXME NOTE TODO XXX contained +syn match melodactylComment +".*$+ contains=melodactylTodo,@Spell +syn keyword melodactylTodo FIXME NOTE TODO XXX contained -syn region xulmusString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline +syn region melodactylString start="\z(["']\)" end="\z1" skip="\\\\\|\\\z1" oneline -syn match xulmusLineComment +^\s*".*$+ contains=xulmusTodo,@Spell +syn match melodactylLineComment +^\s*".*$+ contains=melodactylTodo,@Spell " NOTE: match vim.vim highlighting group names -hi def link xulmusAutoCmd xulmusCommand -hi def link xulmusAutoEvent Type -hi def link xulmusCommand Statement -hi def link xulmusComment Comment -hi def link xulmusJavaScriptDelimiter Delimiter -hi def link xulmusCssDelimiter Delimiter -hi def link xulmusNotation Special -hi def link xulmusLineComment Comment -hi def link xulmusOption PreProc -hi def link xulmusSetMod xulmusOption -hi def link xulmusString String -hi def link xulmusTodo Todo +hi def link melodactylAutoCmd melodactylCommand +hi def link melodactylAutoEvent Type +hi def link melodactylCommand Statement +hi def link melodactylComment Comment +hi def link melodactylJavaScriptDelimiter Delimiter +hi def link melodactylCssDelimiter Delimiter +hi def link melodactylNotation Special +hi def link melodactylLineComment Comment +hi def link melodactylOption PreProc +hi def link melodactylSetMod melodactylOption +hi def link melodactylString String +hi def link melodactylTodo Todo -let b:current_syntax = "xulmus" +let b:current_syntax = "melodactyl" let &cpo = s:cpo_save unlet s:cpo_save