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