7 lines
21 KiB
JavaScript
7 lines
21 KiB
JavaScript
|
const lang = Object.freeze({ "displayName": "Vim Script", "name": "viml", "patterns": [{ "include": "#comment" }, { "include": "#constant" }, { "include": "#entity" }, { "include": "#keyword" }, { "include": "#punctuation" }, { "include": "#storage" }, { "include": "#strings" }, { "include": "#support" }, { "include": "#variable" }, { "include": "#syntax" }, { "include": "#commands" }, { "include": "#option" }, { "include": "#map" }], "repository": { "commands": { "patterns": [{ "match": "\\bcom(\\s|\\!)", "name": "storage.other.command.viml" }, { "match": "\\bau(\\s|\\!)", "name": "storage.other.command.viml" }, { "match": "-bang", "name": "storage.other.command.bang.viml" }, { "match": "-nargs=[*+0-9]+", "name": "storage.other.command.args.viml" }, { "match": "-complete=\\S+", "name": "storage.other.command.completion.viml" }, { "begin": "(aug(roup)?)", "end": "(augroup\\sEND|$)", "name": "support.function.augroup.viml" }] }, "comment": { "patterns": [{ "begin": '((\\s+)?""")', "end": '^(?!")', "name": "comment.block.documentation.viml" }, { "match": '^"\\svim:.*', "name": "comment.block.modeline.viml" }, { "begin": '(\\s+"\\s+)(?!")', "end": "$", "name": "comment.line.viml", "patterns": [{ "match": "\\{\\{\\{\\d?$", "name": "comment.line.foldmarker.viml" }, { "match": "\\}\\}\\}\\d?", "name": "comment.line.foldmarker.viml" }] }, { "begin": '^(\\s+)?"', "end": "$", "name": "comment.line.viml", "patterns": [{ "match": "\\{\\{\\{\\d?$", "name": "comment.line.foldmarker.viml" }, { "match": "\\}\\}\\}\\d?", "name": "comment.line.foldmarker.viml" }] }] }, "constant": { "patterns": [{ "match": "\\b(true|false)\\b", "name": "constant.language.boolean.viml" }, { "match": "\\b([0-9]+)\\b", "name": "constant.numeric.viml" }] }, "entity": { "patterns": [{ "match": "(([absg]\\:)?[a-zA-Z0-9_#.]{2,})\\b(?=\\()", "name": "entity.name.function.viml" }] }, "keyword": { "patterns": [{ "match": "\\b(if|while|for|return|au(g|group)|else(if|)?|do|in)\\b", "name": "keyword.control.viml" }, { "match": "\\b(end|endif|endfor|endwhile)\\s|$", "name": "keyword.control.viml" }, { "match": "\\b(break|continue|try|catch|endtry|finally|finish|throw|range)\\b", "name": "keyword.control.viml" }, { "match": "\\b(fun|func|function|endfunction|endfunc)\\b", "name": "keyword.function.viml" }, { "match": "\\b(normal|silent)\\b", "name": "keyword.other.viml" }, { "include": "#operators" }] }, "map": { "patterns": [{ "begin": "(\\<)", "beginCaptures": { "1": { "name": "punctuation.definition.map.viml" } }, "end": "(\\>|\\s)", "endCaptures": { "1": { "name": "punctuation.definition.map.viml" } }, "patterns": [{ "match": "(?<=:\\s)(.+)", "name": "constant.character.map.rhs.viml" }, { "match": "(?i:(bang|buffer|expr|nop|plug|sid|silent))", "name": "constant.character.map.special.viml" }, { "match": "(?i:([adcms]-\\w))", "name": "constant.character.map.key.viml" }, { "match": "(?i:(F[0-9]+))", "name": "constant.character.map.key.fn.viml" }, { "match": "(?i:(bs|bar|cr|del|down|esc|left|right|space|tab|up|leader))", "name": "constant.character.map.viml" }] }, { "match": "(\\b([cinostvx]?(nore)?map)\\b)", "name": "storage.type.map.viml" }] }, "operators": { "patterns": [{ "match": "([#+?!=~\\\\])", "name": "keyword.operator.viml" }, { "match": " ([:\\-.]|[&|]{2})( |$)", "name": "keyword.operator.viml" }, { "match": "([.]{3})", "name": "keyword.operator.viml" }, { "match": "( [<>] )", "name": "keyword.operator.viml" }, { "match": "(>=)", "name": "keyword.operator.viml" }] }, "option": { "patterns": [{ "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|cinopt
|
||
|
var viml = [
|
||
|
lang
|
||
|
];
|
||
|
|
||
|
export { viml as default };
|