Current File : //proc/thread-self/root/kunden/usr/share/source-highlight/vim.lang |
# 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 <leader>, <c-r> and <cr>
atom = '<[[:word:]]+>'
regexp = `([^[:alpha:]])[[:word:]]*\1[[:word:]]*\1`
symbol = "==|==#|==?|!=|!=#|!=?",
">=|>=#|>=?|<=|<=#|<=?",
"=~|=~#|=~?|!~|!~#|!~?",
">|>#|>?|<|<#|<?",
"=|\|\||&&|+|-|.",
"(|)|[|]|{|}"
function = '(?=function!?[[:blank:]]*)[[:word:]]*'
include "number.lang"
include "c_string.lang"