# Vim Language file for GNU source-highlighter vardef TODO = "TODO|FIXME|XXX" # If a double-quote is first non-whitespace char on a line, treat as a # comment. This allows double-quotes to appear in the comment. environment comment start '^[[:blank:]]*\"' begin todo = $TODO end # Keywords 'endif' and 'else' are special, a '"' after them is always # a comment. This really shows how moronic it is to use '"' for comments. state keyword start "endif|else" begin todo = $TODO comment = '\s*\".*' end # Need to match strings before comments so that we consume paired dbl-quotes. # We only match the opening quote if it is followed by a closing quote but we # don't include the matched text following the opening delimiter. environment string delim '\"(?=.*\")' "\"" begin specialchar = '\\.' end # Match any trailing double-quotes. This relies on us having consumed all # matching double-quotes that form strings. Don't consume text following the # final double-quote so that we can format it. environment comment start '\"(?=[^"]*$)' begin todo = $TODO end # Handle the 'augroup END' special case (keyword,normal,specialchar) = `(augroup|aug)([[:blank:]]+)(END)` (keyword,normal,preproc) = `(:?syntax)([[:blank:]]+)(on|off|enable)` (keyword,normal,variable) = `(:?set)([[:blank:]]+)([[:alpha:]][^\s+=$]+)` symbol = '(?<=\s)is|is#|is\?|isnot|isnot#|isnot\?' predef_var = '[abglst]:\w+' predef_var = 'v:\w+' keyword = "DiffOrig", "Man", "N", "N|Ne|Nex|Next", "P", "P|Pr|Pri|Prin|Print", "Ren", "TOhtml", "XMLent", "XMLns", "a", "ab|abb|abbr|abbre|abbrev|abbrevi|abbrevia|abbreviat|abbreviate", "abc|abcl|abcle|abclea|abclear", "abo|abov|above|abovel|abovele|abovelef|aboveleft", "al|all", "ar|arg|args", "arga|argad|argadd", "argd|argde|argdel|argdele|argdelet|argdelete", "argdo", "arge|arged|argedi|argedit", "argg|arggl|argglo|argglob|arggloba|argglobal", "argl|arglo|argloc|argloca|arglocal", "argu|argum|argume|argumen|argument", "as|asc|asci|ascii", "au|aut|auto|autoc|autocm|autocmd", "b|bu|buf|buff|buffe|buffer", "bN|bNe|bNex|bNext", "ba|bal|ball", "bad|badd", "bar", "bd|bde|bdel|bdele|bdelet|bdelete", "bel|belo|below|belowr|belowri|belowrig|belowrigh|belowright", "bf|bfi|bfir|bfirs|bfirst", "bl|bla|blas|blast", "bm|bmo|bmod|bmodi|bmodif|bmodifi|bmodifie|bmodified", "bn|bne|bnex|bnext", "bn|bne|bnex|bnext", "bo|bot|botr|botri|botrig|botrigh|botright", "bp|bpr|bpre|bprev|bprevi|bprevio|bpreviou|bprevious", "br|bre|brew|brewi|brewin|brewind", "brea|break", "breaka|breakad|breakadd", "breakd|breakde|breakdel", "breakl|breakli|breaklis|breaklist", "bro|brow|brows|browse", "browseset", "bufdo", "buffers", "bun|bunl|bunlo|bunloa|bunload", "bw|bwi|bwip|bwipe|bwipeo|bwipeou|bwipeout", "c|ch|cha|chan|chang|change", "cN|cNe|cNex|cNext", "cNf|cNfi|cNfil|cNfile", "cabc|cabcl|cabcle|cabclea|cabclear", "cad|cadd|cadde|caddex|caddexp|caddexpr", "caddb|caddbu|caddbuf|caddbuff|caddbuffe|caddbuffer", "caddf|caddfi|caddfil|caddfile", "cal|call", "cat|catc|catch", "cb|cbu|cbuf|cbuff|cbuffe|cbuffer", "cc", "ccl|cclo|cclos|cclose", "cd", "ce|cen|cent|cente|center", "cex|cexp|cexpr", "cf|cfi|cfil|cfile", "cfir|cfirs|cfirst", "cg|cge|cget|cgetf|cgetfi|cgetfil|cgetfile", "cgetb|cgetbu|cgetbuf|cgetbuff|cgetbuffe|cgetbuffer", "cgete|cgetex|cgetexp|cgetexpr", "changes", "chd|chdi|chdir", "che|chec|check|checkp|checkpa|checkpat|checkpath", "checkt|checkti|checktim|checktime", "cl|cli|clis|clist", "cla|clas|clast", "clo|clos|close", "cmapc|cmapcl|cmapcle|cmapclea|cmapclear", "cmdname", "cn|cne|cnex|cnext", "cn|cne|cnex|cnext", "cnew|cnewe|cnewer", "cnf|cnfi|cnfil|cnfile", "cnf|cnfi|cnfil|cnfile", "co|cop|copy", "col|cold|colde|colder", "colo|color|colors|colorsc|colorsch|colorsche|colorschem|colorscheme", "com|comm|comma|comman|command", "comc|comcl|comcle|comclea|comclear", "comment", "comp|compi|compil|compile|compiler", "con|cont|conti|contin|continu|continue", "conf|confi|confir|confirm", "cope|copen", "count", "cp|cpr|cpre|cprev|cprevi|cprevio|cpreviou|cprevious", "cpf|cpfi|cpfil|cpfile", "cq|cqu|cqui|cquit", "cr|cre|crew|crewi|crewin|crewind", "cs|csc|csco|cscop|cscope", "cstag", "cuna|cunab|cunabb|cunabbr|cunabbre|cunabbrev", "cw|cwi|cwin|cwind|cwindo|cwindow", "d|de|del|dele|delet|delete", "debug", "debugg|debuggr|debuggre|debuggree|debuggreed|debuggreedy", "delc|delco|delcom|delcomm|delcomma|delcomman|delcommand", "delf|delfu|delfun|delfunc|delfunct|delfuncti|delfunctio|delfunction", "delm|delma|delmar|delmark|delmarks", "di|dis|disp|displ|displa|display", "diffg|diffge|diffget", "diffo|diffof|diffoff", "diffp|diffpa|diffpat|diffpatc|diffpatch", "diffpu|diffput", "diffs|diffsp|diffspl|diffspli|diffsplit", "difft|diffth|diffthi|diffthis", "diffu|diffup|diffupd|diffupda|diffupdat|diffupdate", "dig|digr|digra|digrap|digraph|digraphs", "dj|dju|djum|djump", "dl|dli|dlis|dlist", "do|doa|doau|doaut|doauto|doautoc|doautocm|doautocmd", "dr|dro|drop", "ds|dse|dsea|dsear|dsearc|dsearch", "dsp|dspl|dspli|dsplit", "e|ed|edi|edit", "ea|ear|earl|earli|earlie|earlier", "ec|ech|echo", "echoe|echoer|echoerr", "echoh|echohl", "echom|echoms|echomsg", "echon", "el|els|else", "elsei|elseif", "em|eme|emen|emenu", "en|end|endi|endif", "endf|endfu|endfun|endfunc|endfunct|endfuncti|endfunctio|endfunction", "endfo|endfor", "endt|endtr|endtry", "endw|endwh|endwhi|endwhil|endwhile", "ene|enew", "ex|exi|exit", "exu|exus|exusa|exusag|exusage", "f|fi|fil|file", "file|filen|filena|filenam|filename", "files", "filet|filety|filetyp|filetype", "fin|find", "fina|final|finall|finally", "fini|finis|finish", "fir|firs|first", "fix|fixd|fixde|fixdel", "fo|fol|fold", "foldc|foldcl|foldclo|foldclos|foldclose", "foldd|folddo|folddoo|folddoop|folddoope|folddoopen", "folddoc|folddocl|folddoclo|folddoclos|folddoclose|folddoclosed", "foldo|foldop|foldope|foldopen", "for", "fu|fun|func|funct|functi|functio|function", "g|gl|glo|glob|globa|global", "go|got|goto", "gr|gre|grep", "grepa|grepad|grepadd", "gui", "gvim", "h|he|hel|help", "ha|har|hard|hardc|hardco|hardcop|hardcopy", "helpf|helpfi|helpfin|helpfind", "helpg|helpgr|helpgre|helpgrep", "helpt|helpta|helptag|helptags", "hi|hid|hide", "his|hist|histo|histor|history", "i|in|ins|inse|inser|insert", "ia|iab|iabb|iabbr|iabbre|iabbrev", "iabc|iabcl|iabcle|iabclea|iabclear", "if", "ij|iju|ijum|ijump", "il|ili|ilis|ilist", "imapc|imapcl|imapcle|imapclea|imapclear", "intro", "is|ise|isea|isear|isearc|isearch", "isp|ispl|ispli|isplit", "iuna|iunab|iunabb|iunabbr|iunabbre|iunabbrev", "j|jo|joi|join", "ju|jum|jump|jumps", "k", "kee|keep|keepm|keepma|keepmar|keepmark|keepmarks", "keepa|keepal|keepalt", "keepj|keepju|keepjum|keepjump|keepjumps", "l|li|lis|list", "lN", "lN|lNe|lNex|lNext", "lNf", "lNf|lNfi|lNfil|lNfile", "la", "la|las|last", "lad|ladd|ladde|laddex|laddexp|laddexpr", "laddb|laddbu|laddbuf|laddbuff|laddbuffe|laddbuffer", "laddf|laddfi|laddfil|laddfile", "lan|lang|langu|langua|languag|language", "lat|late|later", "lb|lbu|lbuf|lbuff|lbuffe|lbuffer", "lc|lcd", "lch|lchd|lchdi|lchdir", "lcl|lclo|lclos|lclose", "lcs|lcsc|lcsco|lcscop|lcscope", "le|lef|left", "lefta|leftab|leftabo|leftabov|leftabove", "let", "lex|lexp|lexpr", "lf|lfi|lfil|lfile", "lfir|lfirs|lfirst", "lg|lge|lget|lgetf|lgetfi|lgetfil|lgetfile", "lgetb|lgetbu|lgetbuf|lgetbuff|lgetbuffe|lgetbuffer", "lgete|lgetex|lgetexp|lgetexpr", "lgr|lgre|lgrep", "lgrepa|lgrepad|lgrepadd", "lh|lhe|lhel|lhelp|lhelpg|lhelpgr|lhelpgre|lhelpgrep", "ll", "lla|llas|llast", "lli|llis|llist", "lmak|lmake", "lmapc|lmapcl|lmapcle|lmapclea|lmapclear", "lne|lnex|lnext", "lnew|lnewe|lnewer", "lnf|lnfi|lnfil|lnfile", "lo|loa|load|loadv|loadvi|loadvie|loadview", "loadk", "loadkeymap", "loc|lock|lockm|lockma|lockmar|lockmark|lockmarks", "locale", "lockv|lockva|lockvar", "lol|lold|lolde|lolder", "lop|lope|lopen", "lp|lpr|lpre|lprev|lprevi|lprevio|lpreviou|lprevious", "lpf|lpfi|lpfil|lpfile", "lr|lre|lrew|lrewi|lrewin|lrewind", "ls", "lt|lta|ltag", "lua", "luado", "luafile", "lv|lvi|lvim|lvimg|lvimgr|lvimgre|lvimgrep", "lvimgrepa|lvimgrepad|lvimgrepadd", "lw|lwi|lwin|lwind|lwindo|lwindow", "m|mo|mov|move", "ma", "ma|mar|mark", "mak|make", "marks", "mat|matc|match", "menut|menutr|menutra|menutran|menutrans|menutransl|menutransla|menutranslat|menutranslate", "mes|mess|messa|messag|message|messages", "mk|mke|mkex|mkexr|mkexrc", "mkdir", "mks|mkse|mkses|mksess|mksessi|mksessio|mksession", "mksp|mkspe|mkspel|mkspell", "mkv|mkvi|mkvim|mkvimr|mkvimrc", "mkvie|mkview", "mo|mov|move", "mod|mode", "mz|mzs|mzsc|mzsch|mzsche|mzschem|mzscheme", "mzf|mzfi|mzfil|mzfile", "n|ne|nex|next", "nb|nbk|nbke|nbkey", "nbc|nbcl|nbclo|nbclos|nbclose", "nbs|nbst|nbsta|nbstar|nbstart", "ne|nex|next", "new", "nkf", "nmapc|nmapcl|nmapcle|nmapclea|nmapclear", "noa|noau|noaut|noauto|noautoc|noautocm|noautocmd", "noh|nohl|nohls|nohlse|nohlsea|nohlsear|nohlsearc|nohlsearch", "nu|num|numb|numbe|number", "o|op|ope|open", "ol|old|oldf|oldfi|oldfil|oldfile|oldfiles", "omapc|omapcl|omapcle|omapclea|omapclear", "on|onl|only", "opt|opti|optio|option|options", "ownsyntax", "p|pr|pri|prin|print", "pc|pcl|pclo|pclos|pclose", "pe|per|perl", "ped|pedi|pedit", "perld|perldo", "po|pop", "popu", "popu|popup", "pp|ppo|ppop", "pre|pres|prese|preser|preserv|preserve", "prev|previ|previo|previou|previous", "pro|promptf|promptfi|promptfin|promptfind", "prof|profi|profil|profile", "profd|profde|profdel", "promptr|promptre|promptrep|promptrepl", "ps|pse|psea|psear|psearc|psearch", "ptN|ptNe|ptNex|ptNext", "pta|ptag", "ptf|ptfi|ptfir|ptfirs|ptfirst", "ptj|ptju|ptjum|ptjump", "ptl|ptla|ptlas|ptlast", "ptn|ptne|ptnex|ptnext", "ptp|ptpr|ptpre|ptprev|ptprevi|ptprevio|ptpreviou|ptprevious", "ptr|ptre|ptrew|ptrewi|ptrewin|ptrewind", "pts|ptse|ptsel|ptsele|ptselec|ptselect", "pu|put", "pw|pwd", "py|pyt|pyth|pytho|python", "py3", "py3f|py3fi|py3fil|py3file", "pyf|pyfi|pyfil|pyfile", "python3", "q|qu|qui|quit", "qa|qal|qall", "quita|quital|quitall", "quote", "r|re|rea|read", "rec|reco|recov|recove|recover", "red|redo", "redi|redir", "redr|redra|redraw", "redraws|redrawst|redrawsta|redrawstat|redrawstatu|redrawstatus", "reg|regi|regis|regist|registe|register|registers", "res|resi|resiz|resize", "ret|reta|retab", "retu|retur|return", "rew|rewi|rewin|rewind", "ri|rig|righ|right", "rightb|rightbe|rightbel|rightbelo|rightbelow", "ru|run|runt|runti|runtim|runtime", "rub|ruby", "rubyd|rubydo", "rubyf|rubyfi|rubyfil|rubyfile", "rundo", "rv|rvi|rvim|rvimi|rvimin|rviminf|rviminfo", "sN|sNe|sNex|sNext", "sa|sar|sarg|sargu|sargum|sargume|sargumen|sargument", "sal|sall", "san|sand|sandb|sandbo|sandbox", "sav|save|savea|saveas", "sb|sbu|sbuf|sbuff|sbuffe|sbuffer", "sbN|sbNe|sbNex|sbNext", "sba|sbal|sball", "sbf|sbfi|sbfir|sbfirs|sbfirst", "sbl|sbla|sblas|sblast", "sbm|sbmo|sbmod|sbmodi|sbmodif|sbmodifi|sbmodifie|sbmodified", "sbn|sbne|sbnex|sbnext", "sbp|sbpr|sbpre|sbprev|sbprevi|sbprevio|sbpreviou|sbprevious", "sbr|sbre|sbrew|sbrewi|sbrewin|sbrewind", "scrip|script|scriptn|scriptna|scriptnam|scriptname|scriptnames", "scripte|scripten|scriptenc|scriptenco|scriptencod|scriptencodi|scriptencodin|scriptencoding", "scs|scsc|scsco|scscop|scscope", "se|set", "setf|setfi|setfil|setfile|setfilet|setfilety|setfiletyp|setfiletype", "setg|setgl|setglo|setglob|setgloba|setglobal", "setl|setlo|setloc|setloca|setlocal", "sf|sfi|sfin|sfind", "sfir|sfirs|sfirst", "sh|she|shel|shell", "sig|sign", "sil|sile|silen|silent", "sim|sima|simal|simalt", "sl|sle|slee|sleep", "sla|slas|slast", "sm|sma|smag|smagi|smagic", "smap", "sme", "smenu", "sn|sne|snex|snext", "sni|snif|sniff", "sno|snom|snoma|snomag|snomagi|snomagic", "snoreme||snoremen|snoremenu", "so|sou|sour|sourc|source", "sor|sort", "sp|spl|spli|split", "spe|spel|spell|spellg|spellgo|spellgoo|spellgood", "spelld|spelldu|spelldum|spelldump", "spelli|spellin|spellinf|spellinfo", "spellr|spellre|spellrep|spellrepa|spellrepal|spellrepall", "spellu|spellun|spellund|spellundo", "spellw|spellwr|spellwro|spellwron|spellwrong", "spr|spre|sprev|sprevi|sprevio|spreviou|sprevious", "sre|srew|srewi|srewin|srewind", "st|sto|stop", "sta|stag", "star|start|starti|startin|startins|startinse|startinser|startinsert", "startg|startgr|startgre|startgrep|startgrepl|startgrepla|startgreplac|startgreplace", "startr|startre|startrep|startrepl|startrepla|startreplac|startreplace", "stj|stju|stjum|stjump", "stopi|stopin|stopins|stopinse|stopinser|stopinsert", "sts|stse|stsel|stsele|stselec|stselect", "sun|sunh|sunhi|sunhid|sunhide", "sunme|sunmen|sunmenu", "sus|susp|suspe|suspen|suspend", "sv|svi|svie|sview", "sw|swa|swap|swapn|swapna|swapnam|swapname", "sy|syn|synt|synta|syntax", "sync|syncb|syncbi|syncbin|syncbind", "t", "tN", "tN|tNe|tNex|tNext", "ta|tag", "tab", "tabN", "tabN|tabNe|tabNex|tabNext", "tabc|tabcl|tabclo|tabclos|tabclose", "tabd|tabdo", "tabe|tabed|tabedi|tabedit", "tabf|tabfi|tabfin|tabfind", "tabfir|tabfirs|tabfirst", "tabl|tabla|tablas|tablast", "tabm|tabmo|tabmov|tabmove", "tabn|tabne|tabnex|tabnext", "tabnew", "tabo|tabon|tabonl|tabonly", "tabp|tabpr|tabpre|tabprev|tabprevi|tabprevio|tabpreviou|tabprevious", "tabr|tabre|tabrew|tabrewi|tabrewin|tabrewind", "tabs", "tags", "tc|tcl", "tcld|tcldo", "tclf|tclfi|tclfil|tclfile", "te|tea|tear|tearo|tearof|tearoff", "tf|tfi|tfir|tfirs|tfirst", "th|thr|thro|throw", "tj|tju|tjum|tjump", "tl|tla|tlas|tlast", "tm|tme|tmen|tmenu", "tn|tne|tnex|tnext", "to|top|topl|tople|toplef|topleft", "tp|tpr|tpre|tprev|tprevi|tprevio|tpreviou|tprevious", "tr|tre|trew|trewi|trewin|trewind", "try", "ts|tse|tsel|tsele|tselec|tselect", "tu|tun|tunm|tunme|tunmen|tunmenu", "u|un|und|undo", "una|unab|unabb|unabbr|unabbre|unabbrev|unabbrevi|unabbrevia|unabbreviat|unabbreviate", "undoj|undojo|undojoi|undojoin", "undol|undoli|undolis|undolist", "unh|unhi|unhid|unhide", "unl|unle|unlet", "unlo|unloc|unlock|unlockv|unlockva|unlockvar", "uns|unsi|unsil|unsile|unsilen|unsilent", "up|upd|upda|updat|update", "v|vg|vgl|vglo|vglob|vgloba|vglobal", "ve|ver|vers|versi|versio|version", "verb|verbo|verbos|verbose", "vert|verti|vertic|vertica|vertical", "vi|vis|visu|visua|visual", "vie|view", "vim|vimg|vimgr|vimgre|vimgrep", "vimgrepa|vimgrepad|vimgrepadd", "viu|vius|viusa|viusag|viusage", "vmapc|vmapcl|vmapcle|vmapclea|vmapclear", "vne|vnew", "vs|vsp|vspl|vspli|vsplit", "w|wr|wri|writ|write", "wN|wNe|wNex|wNext", "wa|wal|wall", "wh|whi|whil|while", "win|wins|winsi|winsiz|winsize", "winc|wincm|wincmd", "windo", "winp|winpo|winpos", "wn|wne|wnex|wnext", "wp|wpr|wpre|wprev|wprevi|wprevio|wpreviou|wprevious", "wq", "wqa|wqal|wqall", "ws|wsv|wsve|wsver|wsverb", "wundo", "wv|wvi|wvim|wvimi|wvimin|wviminf|wviminfo", "x|xi|xit", "xa|xal|xall", "xmapc|xmapcl|xmapcle|xmapclea|xmapclear", "xme|xmen|xmenu", "xnoreme|xnoremen|xnoremenu", "xunme|xunmen|xunmenu", "xwininfo", "y|ya|yan|yank" # Vim options type = "t_#2|t_#4|t_%1|t_%i|t_&8", "t_*7|t_@7|t_k;|acd|ai", "akm|al|aleph|allowrevins|altkeymap", "ambiwidth|ambw|anti|antialias|ar", "arab|arabic|arabicshape|ari|arshape", "autochdir|autoindent|autoread|autowrite|autowriteall", "aw|awa|background|backspace|backup", "backupcopy|backupdir|backupext|backupskip|balloondelay", "ballooneval|balloonexpr|bdir|bdlay|beval", "bex|bexpr|bg|bh|bin", "binary|biosk|bioskey|bk|bkc", "bl|bomb|breakat|brk|browsedir", "bs|bsdir|bsk|bt|bufhidden", "buflisted|buftype|casemap|cb|cc", "ccv|cd|cdpath|cedit|cf", "cfu|ch|charconvert|ci|cin", "cindent|cink|cinkeys|cino|cinoptions", "cinw|cinwords|clipboard|cmdheight|cmdwinheight", "cmp|cms|co|cocu|cole", "colorcolumn|columns|com|comments|commentstring", "compatible|complete|completefunc|completeopt|concealcursor", "conceallevel|confirm|consk|conskey|copyindent", "cot|cp|cpo|cpoptions|cpt", "crb|cryptmethod|cscopepathcomp|cscopeprg|cscopequickfix", "cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cspc", "csprg|csqf|csre|cst|csto", "csverb|cuc|cul|cursorbind|cursorcolumn", "cursorline|cwh|debug|deco|def", "define|delcombine|dex|dg|dict", "dictionary|diff|diffexpr|diffopt|digraph", "dip|dir|directory|display|dy", "ea|ead|eadirection|eb|ed", "edcompatible|ef|efm|ei|ek", "enc|encoding|endofline|eol|ep", "equalalways|equalprg|errorbells|errorfile|errorformat", "esckeys|et|eventignore|ex|expandtab", "exrc|fcl|fcs|fdc|fde", "fdi|fdl|fdls|fdm|fdn", "fdo|fdt|fen|fenc|fencs", "fex|ff|ffs|fileencoding|fileencodings", "fileformat|fileformats|filetype|fillchars|fk", "fkmap|flp|fml|fmr|fo", "foldclose|foldcolumn|foldenable|foldexpr|foldignore", "foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines", "foldnestmax|foldopen|foldtext|formatexpr|formatlistpat", "formatoptions|formatprg|fp|fs|fsync", "ft|gcr|gd|gdefault|gfm", "gfn|gfs|gfw|ghr|go", "gp|grepformat|grepprg|gtl|gtt", "guicursor|guifont|guifontset|guifontwide|guiheadroom", "guioptions|guipty|guitablabel|guitabtooltip|helpfile", "helpheight|helplang|hf|hh|hi", "hid|hidden|highlight|history|hk", "hkmap|hkmapp|hkp|hl|hlg", "hls|hlsearch|ic|icon|iconstring", "ignorecase|im|imactivatekey|imak|imc", "imcmdline|imd|imdisable|imi|iminsert", "ims|imsearch|inc|include|includeexpr", "incsearch|inde|indentexpr|indentkeys|indk", "inex|inf|infercase|insertmode|invacd", "invai|invakm|invallowrevins|invaltkeymap|invanti", "invantialias|invar|invarab|invarabic|invarabicshape", "invari|invarshape|invautochdir|invautoindent|invautoread", "invautowrite|invautowriteall|invaw|invawa|invbackup", "invballooneval|invbeval|invbin|invbinary|invbiosk", "invbioskey|invbk|invbl|invbomb|invbuflisted", "invcf|invci|invcin|invcindent|invcompatible", "invconfirm|invconsk|invconskey|invcopyindent|invcp", "invcrb|invcscopetag|invcscopeverbose|invcst|invcsverb", "invcuc|invcul|invcursorbind|invcursorcolumn|invcursorline", "invdeco|invdelcombine|invdg|invdiff|invdigraph", "invea|inveb|inved|invedcompatible|invek", "invendofline|inveol|invequalalways|inverrorbells|invesckeys", "invet|invex|invexpandtab|invexrc|invfen", "invfk|invfkmap|invfoldenable|invgd|invgdefault", "invguipty|invhid|invhidden|invhk|invhkmap", "invhkmapp|invhkp|invhls|invhlsearch|invic", "invicon|invignorecase|invim|invimc|invimcmdline", "invimd|invimdisable|invincsearch|invinf|invinfercase", "invinsertmode|invis|invjoinspaces|invjs|invlazyredraw", "invlbr|invlinebreak|invlisp|invlist|invloadplugins", "invlpl|invlz|invma|invmacatsui|invmagic", "invmh|invml|invmod|invmodeline|invmodifiable", "invmodified|invmore|invmousef|invmousefocus|invmousehide", "invnu|invnumber|invodev|invopendevice|invpaste", "invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw", "invreadonly|invrelativenumber|invremap|invrestorescreen|invrevins", "invri|invrightleft|invrl|invrnu|invro", "invrs|invru|invruler|invsb|invsc", "invscb|invscrollbind|invscs|invsecure|invsft", "invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd", "invshowfulltag|invshowmatch|invshowmode|invsi|invsm", "invsmartcase|invsmartindent|invsmarttab|invsmd|invsn", "invsol|invspell|invsplitbelow|invsplitright|invspr", "invsr|invssl|invsta|invstartofline|invstmp", "invswapfile|invswf|invta|invtagbsearch|invtagrelative", "invtagstack|invtbi|invtbidi|invtbs|invtermbidi", "invterse|invtextauto|invtextmode|invtf|invtgst", "invtildeop|invtimeout|invtitle|invto|invtop", "invtr|invttimeout|invttybuiltin|invttyfast|invtx", "invvb|invvisualbell|invwa|invwarn|invwb", "invweirdinvert|invwfh|invwfw|invwildignorecase*|invwildmenu", "invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap", "invwrapscan|invwrite|invwriteany|invwritebackup|invws", "is|isf|isfname|isi|isident", "isk|iskeyword|isp|isprint|joinspaces", "js|key|keymap|keymodel|keywordprg", "km|kmp|kp|langmap|langmenu", "laststatus|lazyredraw|lbr|lcs|linebreak", "lines|linespace|lisp|lispwords|list", "listchars|lm|lmap|loadplugins|lpl", "ls|lsp|lw|lz|ma", "macatsui|magic|makeef|makeprg|mat", "matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth", "maxmem|maxmempattern|maxmemtot|mco|mef", "menuitems|mfd|mh|mis|mkspellmem", "ml|mls|mm|mmd|mmp", "mmt|mod|modeline|modelines|modifiable", "modified|more|mouse|mousef|mousefocus", "mousehide|mousem|mousemodel|mouses|mouseshape", "mouset|mousetime|mp|mps|msm", "mzq|mzquantum|nf|noacd|noai", "noakm|noallowrevins|noaltkeymap|noanti|noantialias", "noar|noarab|noarabic|noarabicshape|noari", "noarshape|noautochdir|noautoindent|noautoread|noautowrite", "noautowriteall|noaw|noawa|nobackup|noballooneval", "nobeval|nobin|nobinary|nobiosk|nobioskey", "nobk|nobl|nobomb|nobuflisted|nocf", "noci|nocin|nocindent|nocompatible|noconfirm", "noconsk|noconskey|nocopyindent|nocp|nocrb", "nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc", "nocul|nocursorbind|nocursorcolumn|nocursorline|nodeco", "nodelcombine|nodg|nodiff|nodigraph|noea", "noeb|noed|noedcompatible|noek|noendofline", "noeol|noequalalways|noerrorbells|noesckeys|noet", "noex|noexpandtab|noexrc|nofen|nofk", "nofkmap|nofoldenable|nogd|nogdefault|noguipty", "nohid|nohidden|nohk|nohkmap|nohkmapp", "nohkp|nohls|nohlsearch|noic|noicon", "noignorecase|noim|noimc|noimcmdline|noimd", "noimdisable|noincsearch|noinf|noinfercase|noinsertmode", "nois|nojoinspaces|nojs|nolazyredraw|nolbr", "nolinebreak|nolisp|nolist|noloadplugins|nolpl", "nolz|noma|nomacatsui|nomagic|nomh", "noml|nomod|nomodeline|nomodifiable|nomodified", "nomore|nomousef|nomousefocus|nomousehide|nonu", "nonumber|noodev|noopendevice|nopaste|nopi", "nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly", "norelativenumber|noremap|norestorescreen|norevins|nori", "norightleft|norl|nornu|noro|nors", "noru|noruler|nosb|nosc|noscb", "noscrollbind|noscs|nosecure|nosft|noshellslash", "noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag", "noshowmatch|noshowmode|nosi|nosm|nosmartcase", "nosmartindent|nosmarttab|nosmd|nosn|nosol", "nospell|nosplitbelow|nosplitright|nospr|nosr", "nossl|nosta|nostartofline|nostmp|noswapfile", "noswf|nota|notagbsearch|notagrelative|notagstack", "notbi|notbidi|notbs|notermbidi|noterse", "notextauto|notextmode|notf|notgst|notildeop", "notimeout|notitle|noto|notop|notr", "nottimeout|nottybuiltin|nottyfast|notx|novb", "novisualbell|nowa|nowarn|nowb|noweirdinvert", "nowfh|nowfw|nowildignorecase*|nowildmenu|nowinfixheight", "nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan", "nowrite|nowriteany|nowritebackup|nows|nrformats", "nu|number|numberwidth|nuw|odev", "oft|ofu|omnifunc|opendevice|operatorfunc", "opfunc|osfiletype|pa|para|paragraphs", "paste|pastetoggle|patchexpr|patchmode|path", "pdev|penc|pex|pexpr|pfn", "ph|pheader|pi|pm|pmbcs", "pmbfn|popt|preserveindent|previewheight|previewwindow", "printdevice|printencoding|printexpr|printfont|printheader", "printmbcharset|printmbfont|printoptions|prompt|pt", "pumheight|pvh|pvw|qe|quoteescape", "rdt|readonly|redrawtime|relativenumber|remap", "report|restorescreen|revins|ri|rightleft", "rightleftcmd|rl|rlc|rnu|ro", "rs|rtp|ru|ruf|ruler", "rulerformat|runtimepath|sb|sbo|sbr", "sc|scb|scr|scroll|scrollbind", "scrolljump|scrolloff|scrollopt|scs|sect", "sections|secure|sel|selection|selectmode", "sessionoptions|sft|sh|shcf|shell", "shellcmdflag|shellpipe|shellquote|shellredir|shellslash", "shelltemp|shelltype|shellxescape|shellxquote|shiftround", "shiftwidth|shm|shortmess|shortname|showbreak", "showcmd|showfulltag|showmatch|showmode|showtabline", "shq|si|sidescroll|sidescrolloff|siso", "sj|slm|sm|smartcase|smartindent", "smarttab|smc|smd|sn|so", "softtabstop|sol|sp|spc|spell", "spellcapcheck|spellfile|spelllang|spellsuggest|spf", "spl|splitbelow|splitright|spr|sps", "sr|srr|ss|ssl|ssop", "st|sta|stal|startofline|statusline", "stl|stmp|sts|su|sua", "suffixes|suffixesadd|sw|swapfile|swapsync", "swb|swf|switchbuf|sws|sxe", "sxq|syn|synmaxcol|syntax|t_AB", "t_AF|t_AL|t_CS|t_CV|t_Ce", "t_Co|t_Cs|t_DL|t_EI|t_F1", "t_F2|t_F3|t_F4|t_F5|t_F6", "t_F7|t_F8|t_F9|t_IE|t_IS", "t_K1|t_K3|t_K4|t_K5|t_K6", "t_K7|t_K8|t_K9|t_KA|t_KB", "t_KC|t_KD|t_KE|t_KF|t_KG", "t_KH|t_KI|t_KJ|t_KK|t_KL", "t_RI|t_RV|t_SI|t_Sb|t_Sf", "t_WP|t_WS|t_ZH|t_ZR|t_al", "t_bc|t_cd|t_ce|t_cl|t_cm", "t_cs|t_da|t_db|t_dl|t_fs", "t_k1|t_k2|t_k3|t_k4|t_k5", "t_k6|t_k7|t_k8|t_k9|t_kB", "t_kD|t_kI|t_kN|t_kP|t_kb", "t_kd|t_ke|t_kh|t_kl|t_kr", "t_ks|t_ku|t_le|t_mb|t_md", "t_me|t_mr|t_ms|t_nd|t_op", "t_se|t_so|t_sr|t_te|t_ti", "t_ts|t_ue|t_us|t_ut|t_vb", "t_ve|t_vi|t_vs|t_xs|ta", "tabline|tabpagemax|tabstop|tag|tagbsearch", "taglength|tagrelative|tags|tagstack|tal", "tb|tbi|tbidi|tbis|tbs", "tenc|term|termbidi|termencoding|terse", "textauto|textmode|textwidth|tf|tgst", "thesaurus|tildeop|timeout|timeoutlen|title", "titlelen|titleold|titlestring|tl|tm", "to|toolbar|toolbariconsize|top|tpm", "tr|ts|tsl|tsr|ttimeout", "ttimeoutlen|ttm|tty|ttybuiltin|ttyfast", "ttym|ttymouse|ttyscroll|ttytype|tw", "tx|uc|udf|udir|ul", "undodir|undofile|undolevels|undoreload|updatecount", "updatetime|ur|ut|vb|vbs", "vdir|ve|verbose|verbosefile|vfile", "vi|viewdir|viewoptions|viminfo|virtualedit", "visualbell|vop|wa|wak|warn", "wb|wc|wcm|wd|weirdinvert", "wfh|wfw|wh|whichwrap|wi", "wic|wig|wildchar|wildcharm|wildignore", "wildignorecase|wildmenu|wildmode|wildoptions|wim", "winaltkeys|window|winfixheight|winfixwidth|winheight", "winminheight|winminwidth|winwidth|wiv|wiw", "wm|wmh|wmnu|wmw|wop", "wrap|wrapmargin|wrapscan|write|writeany", "writebackup|writedelay|ws|ww" # Vim Events classname = "BufAdd|BufCreate|BufDelete|BufEnter|BufFilePost", "BufFilePre|BufHidden|BufLeave|BufNew|BufNewFile", "BufRead|BufReadCmd|BufReadPost|BufReadPre|BufUnload", "BufWinEnter|BufWinLeave|BufWipeout|BufWrite|BufWriteCmd", "BufWritePost|BufWritePre|Cmd-event|CmdwinEnter|CmdwinLeave", "ColorScheme|CursorHold|CursorHoldI|CursorMoved|CursorMovedI", "EncodingChanged|FileAppendCmd|FileAppendPost|FileAppendPre|FileChangedRO", "FileChangedShell|FileChangedShellPost|FileEncoding|FileReadCmd|FileReadPost", "FileReadPre|FileType|FileWriteCmd|FileWritePost|FileWritePre", "FilterReadPost|FilterReadPre|FilterWritePost|FilterWritePre|FocusGained", "FocusLost|FuncUndefined|GUIEnter|GUIFailed|InsertChange", "InsertCharPre|InsertEnter|InsertLeave|MenuPopup|QuickFixCmdPost", "QuickFixCmdPre|RemoteReply|SessionLoadPost|ShellCmdPost|ShellFilterPost", "SourceCmd|SourcePre|SpellFileMissing|StdinReadPost|StdinReadPre", "SwapExists|Syntax|TabEnter|TabLeave|TermChanged", "TermResponse|User|UserGettingBored|VimEnter|VimLeave", "VimLeavePre|VimResized|WinEnter" predef_func = "abs|acos|add|and|append", "argc|argidx|argv|asin|atan", "atan2|browse|browsedir|bufexists|buflisted", "bufloaded|bufname|bufnr|bufwinnr|byte2line", "byteidx|call|ceil|changenr|char2nr", "cindent|clearmatches|col|complete|complete_add", "complete_check|confirm|copy|cos|cosh", "count|cscope_connection|cursor|deepcopy|delete", "did_filetype|diff_filler|diff_hlID|empty|escape", "eval|eventhandler|executable|exists|exp", "expand|extend|feedkeys|filereadable|filewritable", "filter|finddir|findfile|float2nr|floor", "fmod|fnameescape|fnamemodify|foldclosed|foldclosedend", "foldlevel|foldtext|foldtextresult|foreground|function", "garbagecollect|get|getbufline|getbufvar|getchar", "getcharmod|getcmdline|getcmdpos|getcmdtype|getcwd", "getfontname|getfperm|getfsize|getftime|getftype", "getline|getloclist|getmatches|getpid|getpos", "getqflist|getreg|getregtype|gettabvar|gettabwinvar", "getwinposx|getwinposy|getwinvar|glob|globpath", "has|has_key|haslocaldir|hasmapto|histadd", "histdel|histget|histnr|hlID|hlexists", "hostname|iconv|indent|index|input", "inputdialog|inputlist|inputrestore|inputsave|inputsecret", "insert|invert|isdirectory|islocked|items", "join|keys|len|libcall|libcallnr", "line|line2byte|lispindent|localtime|log", "log10|luaeval|map|maparg|mapcheck", "match|matchadd|matcharg|matchdelete|matchend", "matchlist|matchstr|max|min|mkdir", "mode|mzeval|nextnonblank|nr2char|or", "pathshorten|pow|prevnonblank|printf|pumvisible", "py3eval|pyeval|range|readfile|reltime", "reltimestr|remote_expr|remote_foreground|remote_peek|remote_read", "remote_send|remove|rename|repeat|resolve", "reverse|round|search|searchdecl|searchpair", "searchpairpos|searchpos|server2client|serverlist|setbufvar", "setcmdpos|setline|setloclist|setmatches|setpos", "setqflist|setreg|settabvar|settabwinvar|setwinvar", "shellescape|shiftwidth|simplify|sin|sinh", "sort|soundfold|spellbadword|spellsuggest|split", "sqrt|str2float|str2nr|strchars|strdisplaywidth", "strftime|stridx|string|strlen|strpart", "strridx|strtrans|strwidth|submatch|substitute", "synID|synIDattr|synIDtrans|synconcealed|synstack", "system|tabpagebuflist|tabpagenr|tabpagewinnr|tagfiles", "taglist|tan|tanh|tempname|tolower", "toupper|tr|trunc|type|undofile", "undotree|values|virtcol|visualmode|winbufnr", "wincol|winheight|winline|winnr|winrestcmd", "winrestview|winsaveview|winwidth|writefile" # For things like , and atom = '<[[:word:]]+>' regexp = `([^[:alpha:]])[[:word:]]*\1[[:word:]]*\1` symbol = "==|==#|==?|!=|!=#|!=?", ">=|>=#|>=?|<=|<=#|<=?", "=~|=~#|=~?|!~|!~#|!~?", ">|>#|>?|<|<#|