| 1 |
{ |
| 2 |
"repository": { |
| 3 |
"commands": { |
| 4 |
"patterns": [ |
| 5 |
{ |
| 6 |
"name": "storage.other.command.viml", |
| 7 |
"match": "\\bcom(\\s|\\!)" |
| 8 |
}, |
| 9 |
{ |
| 10 |
"name": "storage.other.command.viml", |
| 11 |
"match": "\\bau(\\s|\\!)" |
| 12 |
}, |
| 13 |
{ |
| 14 |
"name": "storage.other.command.bang.viml", |
| 15 |
"match": "-bang" |
| 16 |
}, |
| 17 |
{ |
| 18 |
"name": "storage.other.command.args.viml", |
| 19 |
"match": "-nargs=[*+0-9]+" |
| 20 |
}, |
| 21 |
{ |
| 22 |
"name": "storage.other.command.completion.viml", |
| 23 |
"match": "-complete=\\S+" |
| 24 |
}, |
| 25 |
{ |
| 26 |
"begin": "(aug(roup)?)", |
| 27 |
"end": "(augroup\\sEND|$)", |
| 28 |
"name": "support.function.augroup.viml" |
| 29 |
} |
| 30 |
] |
| 31 |
}, |
| 32 |
"comment": { |
| 33 |
"patterns": [ |
| 34 |
{ |
| 35 |
"begin": "((\\s+)?\"\"\")", |
| 36 |
"end": "^(?!\")", |
| 37 |
"name": "comment.block.documentation.viml" |
| 38 |
}, |
| 39 |
{ |
| 40 |
"match": "^\"\\svim:.*", |
| 41 |
"name": "comment.block.modeline.viml" |
| 42 |
}, |
| 43 |
{ |
| 44 |
"name": "comment.line.viml", |
| 45 |
"begin": "(\\s+\"\\s+)(?!\")", |
| 46 |
"end": "$", |
| 47 |
"patterns": [ |
| 48 |
{ |
| 49 |
"match": "\\{\\{\\{\\d?$", |
| 50 |
"name": "comment.line.foldmarker.viml" |
| 51 |
}, |
| 52 |
{ |
| 53 |
"match": "\\}\\}\\}\\d?", |
| 54 |
"name": "comment.line.foldmarker.viml" |
| 55 |
} |
| 56 |
] |
| 57 |
}, |
| 58 |
{ |
| 59 |
"name": "comment.line.viml", |
| 60 |
"begin": "^(\\s+)?\"", |
| 61 |
"end": "$", |
| 62 |
"patterns": [ |
| 63 |
{ |
| 64 |
"match": "\\{\\{\\{\\d?$", |
| 65 |
"name": "comment.line.foldmarker.viml" |
| 66 |
}, |
| 67 |
{ |
| 68 |
"match": "\\}\\}\\}\\d?", |
| 69 |
"name": "comment.line.foldmarker.viml" |
| 70 |
} |
| 71 |
] |
| 72 |
} |
| 73 |
] |
| 74 |
}, |
| 75 |
"entity": { |
| 76 |
"patterns": [ |
| 77 |
{ |
| 78 |
"name": "entity.name.function.viml", |
| 79 |
"match": "(([absg]\\:)?[a-zA-Z0-9_#.]{2,})\\b(?=\\()" |
| 80 |
} |
| 81 |
] |
| 82 |
}, |
| 83 |
"map": { |
| 84 |
"patterns": [ |
| 85 |
{ |
| 86 |
"begin": "(\\<)", |
| 87 |
"beginCaptures": { |
| 88 |
"1": { |
| 89 |
"name": "punctuation.definition.map.viml" |
| 90 |
} |
| 91 |
}, |
| 92 |
"end": "(\\>|\\s)", |
| 93 |
"endCaptures": { |
| 94 |
"1": { |
| 95 |
"name": "punctuation.definition.map.viml" |
| 96 |
} |
| 97 |
}, |
| 98 |
"patterns": [ |
| 99 |
{ |
| 100 |
"name": "constant.character.map.rhs.viml", |
| 101 |
"match": "(?<=:\\s)(.+)" |
| 102 |
}, |
| 103 |
{ |
| 104 |
"name": "constant.character.map.special.viml", |
| 105 |
"match": "(?i:(bang|buffer|expr|nop|plug|sid|silent))" |
| 106 |
}, |
| 107 |
{ |
| 108 |
"name": "constant.character.map.key.viml", |
| 109 |
"match": "(?i:([adcms]-\\w))" |
| 110 |
}, |
| 111 |
{ |
| 112 |
"name": "constant.character.map.key.fn.viml", |
| 113 |
"match": "(?i:(F[0-9]+))" |
| 114 |
}, |
| 115 |
{ |
| 116 |
"name": "constant.character.map.viml", |
| 117 |
"match": "(?i:(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader))" |
| 118 |
} |
| 119 |
] |
| 120 |
}, |
| 121 |
{ |
| 122 |
"name": "storage.type.map.viml", |
| 123 |
"match": "(\\b([cinostvx]?(nore)?map)\\b)" |
| 124 |
} |
| 125 |
] |
| 126 |
}, |
| 127 |
"operators": { |
| 128 |
"patterns": [ |
| 129 |
{ |
| 130 |
"name": "keyword.operator.viml", |
| 131 |
"match": "([#+?!=~\\\\])" |
| 132 |
}, |
| 133 |
{ |
| 134 |
"name": "keyword.operator.viml", |
| 135 |
"match": " ([:\\-.]|[&|]{2})( |$)" |
| 136 |
}, |
| 137 |
{ |
| 138 |
"name": "keyword.operator.viml", |
| 139 |
"match": "([.]{3})" |
| 140 |
}, |
| 141 |
{ |
| 142 |
"name": "keyword.operator.viml", |
| 143 |
"match": "( [<>] )" |
| 144 |
}, |
| 145 |
{ |
| 146 |
"name": "keyword.operator.viml", |
| 147 |
"match": "(>=)" |
| 148 |
} |
| 149 |
] |
| 150 |
}, |
| 151 |
"option": { |
| 152 |
"patterns": [ |
| 153 |
{ |
| 154 |
"name": "support.type.option.viml", |
| 155 |
"match": "&?\\b(al|aleph|anti|antialias|arab|arabic|arshape|arabicshape|ari|allowrevins|akm|altkeymap|ambw|ambiwidth|acd|autochdir|ai|autoindent|ar|autoread|aw|autowrite|awa|autowriteall|bg|background|bs|backspace|bk|backup|bkc|backupcopy|bdir|backupdir|bex|backupext|bsk|backupskip|bdlay|balloondelay|beval|ballooneval|bevalterm|balloonevalterm|bexpr|balloonexpr|bo|belloff|bin|binary|bomb|brk|breakat|bri|breakindent|briopt|breakindentopt|bsdir|browsedir|bh|bufhidden|bl|buflisted|bt|buftype|cmp|casemap|cd|cdpath|cedit|ccv|charconvert|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|cb|clipboard|ch|cmdheight|cwh|cmdwinheight|cc|colorcolumn|co|columns|com|comments|cms|commentstring|cp|compatible|cpt|complete|cocu|concealcursor|cole|conceallevel|cfu|completefunc|cot|completeopt|cf|confirm|ci|copyindent|cpo|cpoptions|cm|cryptmethod|cspc|cscopepathcomp|csprg|cscopeprg|csqf|cscopequickfix|csre|cscoperelative|cst|cscopetag|csto|cscopetagorder|csverb|cscopeverbose|crb|cursorbind|cuc|cursorcolumn|cul|cursorline|debug|def|define|deco|delcombine|dict|dictionary|diff|dex|diffexpr|dip|diffopt|dg|digraph|dir|directory|dy|display|ead|eadirection|ed|edcompatible|emo|emoji|enc|encoding|eol|endofline|ea|equalalways|ep|equalprg|eb|errorbells|ef|errorfile|efm|errorformat|ek|esckeys|ei|eventignore|et|expandtab|ex|exrc|fenc|fileencoding|fencs|fileencodings|ff|fileformat|ffs|fileformats|fic|fileignorecase|ft|filetype|fcs|fillchars|fixeol|fixendofline|fk|fkmap|fcl|foldclose|fdc|foldcolumn|fen|foldenable|fde|foldexpr|fdi|foldignore|fdl|foldlevel|fdls|foldlevelstart|fmr|foldmarker|fdm|foldmethod|fml|foldminlines|fdn|foldnestmax|fdo|foldopen|fdt|foldtext|fex|formatexpr|fo|formatoptions|flp|formatlistpat|fp|formatprg|fs|fsync|gd|gdefault|gfm|grepformat|gp|grepprg|gcr|guicursor|gfn|guifont|gfs|guifontset|gfw|guifontwide|ghr|guiheadroom|go|guioptions|guipty|gtl|guitablabel|gtt|guitabtooltip|hf|helpfile|hh|helpheight|hlg|helplang|hid|hidden|hl|highlight|hi|history|hk|hkmap|hkp|hkmapp|hls|hlsearch|icon|iconstring|ic|ignorecase|imaf|imactivatefunc|imak|imactivatekey|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|imsf|imstatusfunc|imst|imstyle|inc|include|inex|includeexpr|is|incsearch|inde|indentexpr|indk|indentkeys|inf|infercase|im|insertmode|isf|isfname|isi|isident|isk|iskeyword|isp|isprint|js|joinspaces|key|kmp|keymap|km|keymodel|kp|keywordprg|lmap|langmap|lm|langmenu|lnr|langnoremap|lrm|langremap|ls|laststatus|lz|lazyredraw|lbr|linebreak|lines|lsp|linespace|lisp|lw|lispwords|list|lcs|listchars|lpl|loadplugins|luadll|macatsui|magic|mef|makeef|menc|makeencoding|mp|makeprg|mps|matchpairs|mat|matchtime|mco|maxcombine|mfd|maxfuncdepth|mmd|maxmapdepth|mm|maxmem|mmp|maxmempattern|mmt|maxmemtot|mis|menuitems|msm|mkspellmem|ml|modeline|mls|modelines|ma|modifiable|mod|modified|more|mouse|mousef|mousefocus|mh|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mzschemedll|mzschemegcdll|mzq|mzquantum|nf|nrformats|nu|number|nuw|numberwidth|ofu|omnifunc|odev|opendevice|opfunc|operatorfunc|pp|packpath|para|paragraphs|paste|pt|pastetoggle|pex|patchexpr|pm|patchmode|pa|path|perldll|pi|preserveindent|pvh|previewheight|pvw|previewwindow|pdev|printdevice|penc|printencoding|pexpr|printexpr|pfn|printfont|pheader|printheader|pmbcs|printmbcharset|pmbfn|printmbfont|popt|printoptions|prompt|ph|pumheight|pythonthreedll|pythondll|pyx|pyxversion|qe|quoteescape|ro|readonly|rdt|redrawtime|re|regexpengine|rnu|relativenumber|remap|rop|renderoptions|report|rs|restorescreen|ri|revins|rl|rightleft|rlc|rightleftcmd|rubydll|ru|ruler|ruf|rulerformat|rtp|runtimepath|scr|scroll|scb|scrollbind|sj|scrolljump|so|scrolloff|sbo|scrollopt|sect|sections|secure|sel|selection|slm|selectmode|ssop|sessionoptions|sh|shell|shcf|shellcmdflag|sp|shellpipe|shq|shellquote|srr|shellredir|ssl|shellslash|stmp|shelltemp|st|shelltype|sxq|shellxquote|sxe|shellxescape|sr|shiftround|sw|shiftwidth|shm|shortmess|sn|shortname|sbr|showbreak|sc|showcmd|sft|showfulltag|sm|showmatch|smd|showmode|stal|showtabline|ss|sidescroll|siso|sidescrolloff|scl|signcolumn|scs|smartcase|si|smartindent|sta|smarttab|sts|softtabstop|spell|spc|spellcapcheck|spf|spellfile|spl|spelllang|sps|spellsuggest|sb|splitbelow|spr|splitright|sol|startofline|stl|statusline|su|suffixes|sua|suffixesadd|swf|swapfile|sws|swapsync|swb|switchbuf|smc|synmaxcol|syn|syntax|tal|tabline|tpm|tabpagemax|ts|tabstop|tbs|tagbsearch|tc|tagcase|tl|taglength|tr|tagrelative|tag|tags|tgst|tagstack|tcldll|term|tbidi|termbidi|tenc|termencoding|tgc|termguicolors|tk|termkey|tms|termsize|terse|ta|textauto|tx|textmode|tw|textwidth|tsr|thesaurus|top|tildeop|to|timeout|tm|timeoutlen|title|titlelen|titleold|titlestring|tb|toolbar|tbis|toolbariconsize|ttimeout|ttm|ttimeoutlen|tbi|ttybuiltin|tf|ttyfast|ttym|ttymouse|tsl|ttyscroll|tty|ttytype|udir|undodir|udf|undofile|ul|undolevels|ur|undoreload|uc|updatecount|ut|updatetime|vbs|verbose|vfile|verbosefile|vdir|viewdir|vop|viewoptions|vi|viminfo|vif|viminfofile|ve|virtualedit|vb|visualbell|warn|wiv|weirdinvert|ww|whichwrap|wc|wildchar|wcm|wildcharm|wig|wildignore|wic|wildignorecase|wmnu|wildmenu|wim|wildmode|wop|wildoptions|wak|winaltkeys|wi|window|wh|winheight|wfh|winfixheight|wfw|winfixwidth|wmh|winminheight|wmw|winminwidth|winptydll|wiw|winwidth|wrap|wm|wrapmargin|ws|wrapscan|write|wa|writeany|wb|writebackup|wd|writedelay)\\b" |
| 156 |
}, |
| 157 |
{ |
| 158 |
"name": "support.type.option.viml", |
| 159 |
"match": "&?\\b(aleph|allowrevins|altkeymap|ambiwidth|autochdir|arabic|arabicshape|autoindent|autoread|autowrite|autowriteall|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|belloff|binary|bomb|breakat|breakindent|breakindentopt|browsedir|bufhidden|buflisted|buftype|casemap|cdpath|cedit|charconvert|cindent|cinkeys|cinoptions|cinwords|clipboard|cmdheight|cmdwinheight|colorcolumn|columns|comments|commentstring|complete|completefunc|completeopt|concealcursor|conceallevel|confirm|copyindent|cpoptions|cscopepathcomp|cscopeprg|cscopequickfix|cscoperelative|cscopetag|cscopetagorder|cscopeverbose|cursorbind|cursorcolumn|cursorline|debug|define|delcombine|dictionary|diff|diffexpr|diffopt|digraph|directory|display|eadirection|encoding|endofline|equalalways|equalprg|errorbells|errorfile|errorformat|eventignore|expandtab|exrc|fileencoding|fileencodings|fileformat|fileformats|fileignorecase|filetype|fillchars|fixendofline|fkmap|foldclose|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldopen|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fsync|gdefault|grepformat|grepprg|guicursor|guifont|guifontset|guifontwide|guioptions|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hidden|hlsearch|history|hkmap|hkmapp|icon|iconstring|ignorecase|imcmdline|imdisable|iminsert|imsearch|include|includeexpr|incsearch|indentexpr|indentkeys|infercase|insertmode|isfname|isident|iskeyword|isprint|joinspaces|keymap|keymodel|keywordprg|langmap|langmenu|langremap|laststatus|lazyredraw|linebreak|lines|linespace|lisp|lispwords|list|listchars|loadplugins|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|menuitems|mkspellmem|modeline|modelines|modifiable|modified|more|mouse|mousefocus|mousehide|mousemodel|mouseshape|mousetime|nrformats|number|numberwidth|omnifunc|opendevice|operatorfunc|packpath|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|perldll|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pumheight|pythondll|pythonthreedll|quoteescape|readonly|redrawtime|regexpengine|relativenumber|remap|report|revins|rightleft|rightleftcmd|rubydll|ruler|rulerformat|runtimepath|scroll|scrollbind|scrolljump|scrolloff|scrollopt|sections|secure|selection|selectmode|sessionoptions|shada|shell|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shellxescape|shellxquote|shiftround|shiftwidth|shortmess|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|sidescroll|sidescrolloff|signcolumn|smartcase|smartindent|smarttab|softtabstop|spell|spellcapcheck|spellfile|spelllang|spellsuggest|splitbelow|splitright|startofline|statusline|suffixes|suffixesadd|swapfile|switchbuf|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|tagcase|taglength|tagrelative|tags|tagstack|term|termbidi|terse|textwidth|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|ttimeout|ttimeoutlen|ttytype|undodir|undofile|undolevels|undoreload|updatecount|updatetime|verbose|verbosefile|viewdir|viewoptions|virtualedit|visualbell|warn|whichwrap|wildchar|wildcharm|wildignore|wildignorecase|wildmenu|wildmode|wildoptions|winaltkeys|window|winheight|winfixheight|winfixwidth|winminheight|winminwidth|winwidth|wrap|wrapmargin|wrapscan|write|writeany|writebackup|writedelay)\\b" |
| 160 |
}, |
| 161 |
{ |
| 162 |
"name": "support.type.option.shortname.viml", |
| 163 |
"match": "&?\\b(al|ari|akm|ambw|acd|arab|arshape|ai|ar|aw|awa|bg|bs|bk|bkc|bdir|bex|bsk|bdlay|beval|bexpr|bo|bin|bomb|brk|bri|briopt|bsdir|bh|bl|bt|cmp|cd|cedit|ccv|cin|cink|cino|cinw|cb|ch|cwh|cc|co|com|cms|cpt|cfu|cot|cocu|cole|cf|ci|cpo|cspc|csprg|csqf|csre|cst|csto|cpo|crb|cuc|cul|debug|def|deco|dict|diff|dex|dip|dg|dir|dy|ead|enc|eol|ea|ep|eb|ef|efm|ei|et|ex|fenc|fencs|ff|ffs|fic|ft|fcs|fixeol|fk|fcl|fdc|fen|fde|fdi|fdl|fdls|fmr|fdm|fml|fdn|fdo|fdt|fex|flp|fo|fp|fs|gd|gfm|gp|gcr|gfn|gfs|gfw|go|gtl|gtt|hf|hh|hlg|hid|hls|hi|hk|hkp|icon|iconstring|ic|imc|imd|imi|ims|inc|inex|is|inde|indk|inf|im|isf|isi|isk|isp|js|kmp|km|kp|lmap|lm|lrm|ls|lz|lbr|lines|lsp|lisp|lw|list|lcs|lpl|magic|mef|mp|mps|mat|mco|mfd|mmd|mm|mmp|mmt|mis|msm|ml|mls|ma|mod|more|mouse|mousef|mh|mousem|mouses|mouset|nf|nu|nuw|ofu|odev|opfunc|pp|para|paste|pt|pex|pm|pa|perldll|pi|pvh|pvw|pdev|penc|pexpr|pfn|pheader|pmbcs|pmbfn|popt|prompt|ph|pythondll|pythonthreedlll|qe|ro|rdt|re|rnu|remap|report|ri|rl|rlc|rubydll|ru|ruf|rtp|scr|scb|sj|so|sbo|sect|secure|sel|slm|ssop|sd|sh|shcf|sp|shq|srr|ssl|stmp|sxe|sxq|sr|sw|shm|sbr|sc|sft|sm|smd|stal|ss|siso|scl|scs|si|sta|sts|spell|spc|spf|spl|sps|sb|spr|sol|stl|su|sua|swf|swb|smc|syn|tal|tpm|ts|tbs|tc|tl|tr|tag|tgst|term|tbidi|terse|tw|tsr|top|to|tm|title|titlelen|titleold|titlestring|ttimeout|ttm|tty|udir|udf|ul|ur|uc|ut|vbs|vfile|vdir|vop|ve|vb|warn|ww|wc|wcm|wig|wic|wmnu|wim|wop|wak|wi|wh|wfh|wfw|wmh|wmw|wiw|wrap|wm|ws|write|wa|wb|wd)\\b" |
| 164 |
}, |
| 165 |
{ |
| 166 |
"name": "support.type.option.off.viml", |
| 167 |
"match": "\\b(noanti|noantialias|noarab|noarabic|noarshape|noarabicshape|noari|noallowrevins|noakm|noaltkeymap|noacd|noautochdir|noai|noautoindent|noar|noautoread|noaw|noautowrite|noawa|noautowriteall|nobk|nobackup|nobeval|noballooneval|nobevalterm|noballoonevalterm|nobin|nobinary|nobomb|nobri|nobreakindent|nobl|nobuflisted|nocin|nocindent|nocp|nocompatible|nocf|noconfirm|noci|nocopyindent|nocsre|nocscoperelative|nocst|nocscopetag|nocsverb|nocscopeverbose|nocrb|nocursorbind|nocuc|nocursorcolumn|nocul|nocursorline|nodeco|nodelcombine|nodiff|nodg|nodigraph|noed|noedcompatible|noemo|noemoji|noeol|noendofline|noea|noequalalways|noeb|noerrorbells|noek|noesckeys|noet|noexpandtab|noex|noexrc|nofic|nofileignorecase|nofixeol|nofixendofline|nofk|nofkmap|nofen|nofoldenable|nofs|nofsync|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkp|nohkmapp|nohls|nohlsearch|noicon|noic|noignorecase|noimc|noimcmdline|noimd|noimdisable|nois|noincsearch|noinf|noinfercase|noim|noinsertmode|nojs|nojoinspaces|nolnr|nolangnoremap|nolrm|nolangremap|nolz|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|nolpl|noloadplugins|nomacatsui|nomagic|noml|nomodeline|noma|nomodifiable|nomod|nomodified|nomore|nomousef|nomousefocus|nomh|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopvw|nopreviewwindow|noprompt|noro|noreadonly|nornu|norelativenumber|nors|norestorescreen|nori|norevins|norl|norightleft|noru|noruler|noscb|noscrollbind|nosecure|nossl|noshellslash|nostmp|noshelltemp|nosr|noshiftround|nosn|noshortname|nosc|noshowcmd|nosft|noshowfulltag|nosm|noshowmatch|nosmd|noshowmode|noscs|nosmartcase|nosi|nosmartindent|nosta|nosmarttab|nospell|nosb|nosplitbelow|nospr|nosplitright|nosol|nostartofline|noswf|noswapfile|notbs|notagbsearch|notr|notagrelative|notgst|notagstack|notbidi|notermbidi|notgc|notermguicolors|noterse|nota|notextauto|notx|notextmode|notop|notildeop|noto|notimeout|notitle|nottimeout|notbi|nottybuiltin|notf|nottyfast|noudf|noundofile|novb|novisualbell|nowarn|nowiv|noweirdinvert|nowic|nowildignorecase|nowmnu|nowildmenu|nowfh|nowinfixheight|nowfw|nowinfixwidth|nowrapscan|nowrap|nows|nowrite|nowa|nowriteany|nowb|nowritebackup)\\b" |
| 168 |
} |
| 169 |
] |
| 170 |
}, |
| 171 |
"punctuation": { |
| 172 |
"patterns": [ |
| 173 |
{ |
| 174 |
"name": "punctuation.parens.viml", |
| 175 |
"match": "([()])" |
| 176 |
}, |
| 177 |
{ |
| 178 |
"name": "punctuation.comma.viml", |
| 179 |
"match": "([,])" |
| 180 |
} |
| 181 |
] |
| 182 |
}, |
| 183 |
"strings": { |
| 184 |
"patterns": [ |
| 185 |
{ |
| 186 |
"name": "string.quoted.double.viml", |
| 187 |
"begin": "\"", |
| 188 |
"end": "(\"|$)", |
| 189 |
"patterns": [] |
| 190 |
}, |
| 191 |
{ |
| 192 |
"name": "string.quoted.single.viml", |
| 193 |
"begin": "'", |
| 194 |
"end": "('|$)", |
| 195 |
"patterns": [] |
| 196 |
}, |
| 197 |
{ |
| 198 |
"match": "/(\\\\\\\\|\\\\/|[^\\n/])*/", |
| 199 |
"name": "string.regexp.viml" |
| 200 |
} |
| 201 |
] |
| 202 |
}, |
| 203 |
"support": { |
| 204 |
"patterns": [ |
| 205 |
{ |
| 206 |
"name": "support.function.viml", |
| 207 |
"match": "(add|call|delete|empty|extend|get|has|isdirectory|join|printf)(?=\\()" |
| 208 |
}, |
| 209 |
{ |
| 210 |
"name": "support.function.viml", |
| 211 |
"match": "\\b(echo(m|hl)?|exe(cute)?|redir|redraw|sleep|so(urce)?|wincmd|setf)\\b" |
| 212 |
}, |
| 213 |
{ |
| 214 |
"name": "support.type.builtin.vim-variable.viml", |
| 215 |
"match": "(v\\:(beval_col|beval_bufnr|beval_lnum|beval_text|beval_winnr|char|charconvert_from|charconvert_to|cmdarg|cmdbang|count|count1|ctype|dying|errmsg|exception|fcs_reason|fcs_choice|fname_in|fname_out|fname_new|fname_diff|folddashes|foldlevel|foldend|foldstart|insertmode|key|lang|lc_time|lnum|mouse_win|mouse_lnum|mouse_col|oldfiles|operator|prevcount|profiling|progname|register|scrollstart|servername|searchforward|shell_error|statusmsg|swapname|swapchoice|swapcommand|termresponse|this_session|throwpoint|val|version|warningmsg|windowid))" |
| 216 |
}, |
| 217 |
{ |
| 218 |
"name": "support.type.builtin.viml", |
| 219 |
"match": "(&(cpo|isk|omnifunc|paste|previewwindow|rtp|tags|term|wrap))" |
| 220 |
}, |
| 221 |
{ |
| 222 |
"name": "support.type.builtin.viml", |
| 223 |
"match": "(&(shell(cmdflag|redir)?))" |
| 224 |
}, |
| 225 |
{ |
| 226 |
"name": "support.variable.args.viml", |
| 227 |
"match": "\\<args\\>" |
| 228 |
}, |
| 229 |
{ |
| 230 |
"name": "support.type.syntax.viml", |
| 231 |
"match": "\\b(None|ErrorMsg|WarningMsg)\\b" |
| 232 |
}, |
| 233 |
{ |
| 234 |
"name": "support.type.event.viml", |
| 235 |
"match": "\\b(BufNewFile|BufReadPre|BufRead|BufReadPost|BufReadCmd|FileReadPre|FileReadPost|FileReadCmd|FilterReadPre|FilterReadPost|StdinReadPre|StdinReadPost|BufWrite|BufWritePre|BufWritePost|BufWriteCmd|FileWritePre|FileWritePost|FileWriteCmd|FileAppendPre|FileAppendPost|FileAppendCmd|FilterWritePre|FilterWritePost|BufAdd|BufCreate|BufDelete|BufWipeout|BufFilePre|BufFilePost|BufEnter|BufLeave|BufWinEnter|BufWinLeave|BufUnload|BufHidden|BufNew|SwapExists|TermOpen|TermClose|FileType|Syntax|OptionSet|VimEnter|GUIEnter|GUIFailed|TermResponse|QuitPre|VimLeavePre|VimLeave|DirChanged|FileChangedShell|FileChangedShellPost|FileChangedRO|ShellCmdPost|ShellFilterPost|CmdUndefined|FuncUndefined|SpellFileMissing|SourcePre|SourceCmd|VimResized|FocusGained|FocusLost|CursorHold|CursorHoldI|CursorMoved|CursorMovedI|WinNew|WinEnter|WinLeave|TabEnter|TabLeave|TabNew|TabNewEntered|TabClosed|CmdlineEnter|CmdlineLeave|CmdwinEnter|CmdwinLeave|InsertEnter|InsertChange|InsertLeave|InsertCharPre|TextYankPost|TextChanged|TextChangedI|ColorScheme|RemoteReply|QuickFixCmdPre|QuickFixCmdPost|SessionLoadPost|MenuPopup|CompleteDone|User)\\b" |
| 236 |
}, |
| 237 |
{ |
| 238 |
"name": "support.type.syntax-group.viml", |
| 239 |
"match": "\\b(Comment|Constant|String|Character|Number|Boolean|Float|Identifier|Function|Statement|Conditional|Repeat|Label|Operator|Keyword|Exception|PreProc|Include|Define|Macro|PreCondit|Type|StorageClass|Structure|Typedef|Special|SpecialChar|Tag|Delimiter|SpecialComment|Debug|Underlined|Ignore|Error|Todo)\\b" |
| 240 |
} |
| 241 |
] |
| 242 |
}, |
| 243 |
"syntax": { |
| 244 |
"patterns": [ |
| 245 |
{ |
| 246 |
"name": "keyword.control.syntax.viml", |
| 247 |
"match": "syn(tax)? case (ignore|match)" |
| 248 |
}, |
| 249 |
{ |
| 250 |
"name": "keyword.control.syntax.viml", |
| 251 |
"match": "syn(tax)? (clear|enable|include|off|on|manual|sync)" |
| 252 |
}, |
| 253 |
{ |
| 254 |
"name": "keyword.other.syntax.viml", |
| 255 |
"match": "\\b(contained|display|excludenl|fold|keepend|oneline|skipnl|skipwhite|transparent)\\b" |
| 256 |
}, |
| 257 |
{ |
| 258 |
"name": "keyword.other.syntax.viml", |
| 259 |
"match": "\\b(add|containedin|contains|matchgroup|nextgroup)\\=" |
| 260 |
}, |
| 261 |
{ |
| 262 |
"captures": { |
| 263 |
"1": { |
| 264 |
"name": "keyword.other.syntax-range.viml" |
| 265 |
}, |
| 266 |
"3": { |
| 267 |
"name": "string.regexp.viml" |
| 268 |
} |
| 269 |
}, |
| 270 |
"match": "((start|skip|end)\\=)(\\+\\S+\\+\\s)?" |
| 271 |
}, |
| 272 |
{ |
| 273 |
"captures": { |
| 274 |
"0": { |
| 275 |
"name": "support.type.syntax.viml" |
| 276 |
}, |
| 277 |
"1": { |
| 278 |
"name": "storage.syntax.viml" |
| 279 |
}, |
| 280 |
"3": { |
| 281 |
"name": "variable.other.syntax-scope.viml" |
| 282 |
}, |
| 283 |
"4": { |
| 284 |
"name": "storage.modifier.syntax.viml" |
| 285 |
} |
| 286 |
}, |
| 287 |
"match": "(syn|syntax)\\s+(cluster|keyword|match|region)(\\s+\\w+\\s+)(contained)?", |
| 288 |
"patterns": [] |
| 289 |
}, |
| 290 |
{ |
| 291 |
"captures": { |
| 292 |
"1": { |
| 293 |
"name": "storage.highlight.viml" |
| 294 |
}, |
| 295 |
"2": { |
| 296 |
"name": "storage.modifier.syntax.viml" |
| 297 |
}, |
| 298 |
"3": { |
| 299 |
"name": "support.function.highlight.viml" |
| 300 |
}, |
| 301 |
"4": { |
| 302 |
"name": "variable.other.viml" |
| 303 |
}, |
| 304 |
"5": { |
| 305 |
"name": "variable.other.viml" |
| 306 |
} |
| 307 |
}, |
| 308 |
"match": "(hi|highlight)(?:\\s+)(def|default)(?:\\s+)(link)(?:\\s+)(\\w+)(?:\\s+)(\\w+)", |
| 309 |
"patterns": [] |
| 310 |
} |
| 311 |
] |
| 312 |
}, |
| 313 |
"keyword": { |
| 314 |
"patterns": [ |
| 315 |
{ |
| 316 |
"name": "keyword.control.viml", |
| 317 |
"match": "\\b(if|while|for|return|au(g|group)|else(if|)?|do|in)\\b" |
| 318 |
}, |
| 319 |
{ |
| 320 |
"name": "keyword.control.viml", |
| 321 |
"match": "\\b(end|endif|endfor|endwhile)\\s|$" |
| 322 |
}, |
| 323 |
{ |
| 324 |
"name": "keyword.control.viml", |
| 325 |
"match": "\\b(break|continue|try|catch|endtry|finally|finish|throw|range)\\b" |
| 326 |
}, |
| 327 |
{ |
| 328 |
"name": "keyword.function.viml", |
| 329 |
"match": "\\b(fun|func|function|endfunction|endfunc)\\b" |
| 330 |
}, |
| 331 |
{ |
| 332 |
"name": "keyword.other.viml", |
| 333 |
"match": "\\b(normal|silent)\\b" |
| 334 |
}, |
| 335 |
{ |
| 336 |
"include": "#operators" |
| 337 |
} |
| 338 |
] |
| 339 |
}, |
| 340 |
"storage": { |
| 341 |
"patterns": [ |
| 342 |
{ |
| 343 |
"match": "\\b(call|let|unlet)\\b", |
| 344 |
"name": "storage.viml" |
| 345 |
}, |
| 346 |
{ |
| 347 |
"match": "\\b(abort|autocmd)\\b", |
| 348 |
"name": "storage.viml" |
| 349 |
}, |
| 350 |
{ |
| 351 |
"match": "\\b(set(l|local)?)\\b", |
| 352 |
"name": "storage.viml" |
| 353 |
}, |
| 354 |
{ |
| 355 |
"match": "\\b(com(mand)?)\\b", |
| 356 |
"name": "storage.viml" |
| 357 |
}, |
| 358 |
{ |
| 359 |
"match": "\\b(color(scheme)?)\\b", |
| 360 |
"name": "storage.viml" |
| 361 |
}, |
| 362 |
{ |
| 363 |
"match": "\\b(Plug|Plugin)\\b", |
| 364 |
"name": "storage.plugin.viml" |
| 365 |
} |
| 366 |
] |
| 367 |
}, |
| 368 |
"variable": { |
| 369 |
"patterns": [ |
| 370 |
{ |
| 371 |
"name": "variable.other.link.viml", |
| 372 |
"match": "https?://\\S+" |
| 373 |
}, |
| 374 |
{ |
| 375 |
"name": "variable.parameter.viml", |
| 376 |
"match": "(?<=\\()([a-zA-Z]+)(?=\\))" |
| 377 |
}, |
| 378 |
{ |
| 379 |
"name": "variable.other.viml", |
| 380 |
"match": "\\b([absgl]:[a-zA-Z0-9_.#]+)\\b(?!\\()" |
| 381 |
} |
| 382 |
] |
| 383 |
}, |
| 384 |
"constant": { |
| 385 |
"patterns": [ |
| 386 |
{ |
| 387 |
"name": "constant.language.boolean.viml", |
| 388 |
"match": "\\b(true|false)\\b" |
| 389 |
}, |
| 390 |
{ |
| 391 |
"name": "constant.numeric.viml", |
| 392 |
"match": "\\b([0-9]+)\\b" |
| 393 |
} |
| 394 |
] |
| 395 |
} |
| 396 |
}, |
| 397 |
"$schema": "https://raw.githubusercontent.com/dunstontc/textmate/master/schema/tmLanguage.schema.json", |
| 398 |
"name": "viml", |
| 399 |
"scopeName": "source.viml", |
| 400 |
"patterns": [ |
| 401 |
{ |
| 402 |
"include": "#comment" |
| 403 |
}, |
| 404 |
{ |
| 405 |
"include": "#constant" |
| 406 |
}, |
| 407 |
{ |
| 408 |
"include": "#entity" |
| 409 |
}, |
| 410 |
{ |
| 411 |
"include": "#keyword" |
| 412 |
}, |
| 413 |
{ |
| 414 |
"include": "#punctuation" |
| 415 |
}, |
| 416 |
{ |
| 417 |
"include": "#storage" |
| 418 |
}, |
| 419 |
{ |
| 420 |
"include": "#strings" |
| 421 |
}, |
| 422 |
{ |
| 423 |
"include": "#support" |
| 424 |
}, |
| 425 |
{ |
| 426 |
"include": "#variable" |
| 427 |
}, |
| 428 |
{ |
| 429 |
"include": "#syntax" |
| 430 |
}, |
| 431 |
{ |
| 432 |
"include": "#commands" |
| 433 |
}, |
| 434 |
{ |
| 435 |
"include": "#option" |
| 436 |
}, |
| 437 |
{ |
| 438 |
"include": "#map" |
| 439 |
} |
| 440 |
] |
| 441 |
} |
| 442 |
|