github-linguist 7.14.0 → 7.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/github-linguist +115 -71
- data/grammars/annotation.liquidhaskell.haskell.json +1 -1
- data/grammars/etc.json +1 -1
- data/grammars/go.mod.json +1 -0
- data/grammars/go.sum.json +1 -0
- data/grammars/hint.haskell.json +1 -1
- data/grammars/hint.message.haskell.json +1 -1
- data/grammars/hint.type.haskell.json +1 -1
- data/grammars/markdown.bicep.codeblock.json +1 -0
- data/grammars/markdown.codeblock.proto.json +1 -0
- data/grammars/markdown.mcfunction.codeblock.json +1 -0
- data/grammars/source.abap.json +1 -1
- data/grammars/source.aidl.json +1 -0
- data/grammars/source.al.json +1 -1
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.avro.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.batchfile.json +1 -1
- data/grammars/source.bc.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.boo.json +1 -1
- data/grammars/source.bp.json +1 -0
- data/grammars/source.cil.json +1 -0
- data/grammars/source.cirru.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csound.json +1 -1
- data/grammars/source.css.json +1 -1
- data/grammars/source.cue.json +1 -0
- data/grammars/source.cuesheet.json +1 -0
- data/grammars/source.dart.json +1 -1
- data/grammars/source.dc.json +1 -0
- data/grammars/source.ditroff.json +1 -1
- data/grammars/source.dotenv.json +1 -0
- data/grammars/source.ebnf.json +1 -1
- data/grammars/source.ecl.json +1 -0
- data/grammars/source.ed.json +1 -0
- data/grammars/source.fnl.json +1 -0
- data/grammars/source.fontforge.json +1 -1
- data/grammars/source.fstar.json +1 -1
- data/grammars/source.ftl.json +1 -0
- data/grammars/source.gcode.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.haskell.json +1 -1
- data/grammars/source.hlcode.json +1 -0
- data/grammars/source.hsig.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.hy.json +1 -1
- data/grammars/source.jest.snap.json +1 -0
- data/grammars/source.jq.json +1 -1
- data/grammars/source.json.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kakscript.json +1 -0
- data/grammars/source.keyvalues.json +1 -0
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mcfunction.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.opentype.json +1 -1
- data/grammars/source.pegjs.json +1 -0
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.powershell.json +1 -1
- data/grammars/source.proto.json +1 -0
- data/grammars/source.purescript.json +1 -1
- data/grammars/source.regexp.json +1 -1
- data/grammars/source.regexp.oniguruma.json +1 -0
- data/grammars/source.rego.json +1 -1
- data/grammars/source.renpy.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.sed.json +1 -1
- data/grammars/source.sepolicy.json +1 -0
- data/grammars/source.shellcheckrc.json +1 -0
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.sy.json +1 -1
- data/grammars/source.tm-properties.json +1 -0
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.v.json +1 -1
- data/grammars/source.viml.json +1 -1
- data/grammars/source.webassembly.json +1 -1
- data/grammars/source.ws.json +1 -0
- data/grammars/source.wsd.json +1 -1
- data/grammars/source.xojo.json +1 -1
- data/grammars/source.yara.json +1 -1
- data/grammars/source.yasnippet.json +1 -1
- data/grammars/source.zig.json +1 -1
- data/grammars/text.html.astro.json +1 -0
- data/grammars/text.html.markdown.astro.json +1 -0
- data/grammars/text.info.json +1 -0
- data/grammars/text.lesshst.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.sfd.json +1 -1
- data/grammars/text.tex.latex.haskell.json +1 -1
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/textmate.format-string.json +1 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/documentation.yml +1 -0
- data/lib/linguist/generated.rb +13 -0
- data/lib/linguist/heuristics.rb +6 -2
- data/lib/linguist/heuristics.yml +18 -4
- data/lib/linguist/language.rb +6 -3
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +385 -43
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/linguist.so +0 -0
- data/lib/linguist/repository.rb +7 -3
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +4 -1
- data/lib/linguist/strategy/modeline.rb +4 -0
- data/lib/linguist/vendor.yml +3 -0
- metadata +36 -5
- data/grammars/source.SASLog.json +0 -1
- data/grammars/source.mcfunction-snapshot.json +0 -1
- data/grammars/source.protobuf.json +0 -1
data/grammars/source.v.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#include-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"([\\w.]+)\\s*((?:\\:|\\+|\\-|\\*|\\/|\\%|\\\u0026|\\||\\^)?=)\\s*(?=.+)","captures":{"1":{"patterns":[{"include":"#illegal-name"},{"name":"variable.assignment.other.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe_fn|console|heap|debug|manualfree|typedef|live|inline|flag|ref_only|windows_stdcall|direct_array_access)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"escaped-fix":{"name":"meta.escaped.keyword.v","match":"((?:@)(?:mut|pub|fn|unsafe|module|import|as|const|map|assert|sizeof|__offsetof|typeof|type|struct|interface|enum|in|is|or|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm|i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64)|bool|byte|byteptr|charptr|voidptr|string|ustring|rune))","captures":{"0":{"name":"keyword.other.escaped.v"}}},"function-decl":{"name":"meta.definition.function.v","begin":"^\\s*(pub)?\\s*(fn)\\s+","end":"(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","beginCaptures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.function.v"}},"endCaptures":{"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.function.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.function.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"meta.hash.v","begin":"^\\s*(#define|#flag|#pkgconfig)","end":"\\s+(.*?)$","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"string.quoted.single.v"}}},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"include-decl":{"patterns":[{"name":"meta.include.v","begin":"^\\s*(#include)","end":"\\s+([\\\u003c\"]\\s*(.*)[\\\u003e\"])","beginCaptures":{"1":{"name":"keyword.include.v"}},"endCaptures":{"1":{"name":"string.quoted.double.v"}}}]},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.float.v","match":"(?:(?:[-]?)(?:[0-9e]*)(?:[.]){1}(?:[0-9]+))"},{"name":"constant.numeric.exponental.v","match":"[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)"},{"name":"constant.numeric.binary.v","match":"\\b(?:0[b])(?:[0-1]+)"},{"name":"constant.numeric.octal.v","match":"\\b(?:0[o])(?:[0-7]+)"},{"name":"constant.numeric.hex.v","match":"\\b(?:0[x])(?:[0-9a-fA-F]+)"},{"name":"constant.numeric.integer.v","match":"\\b(?:[-]?)(?:[0-9]+)"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmethic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"name":"meta.string.interpolation.v","match":"(\\$([\\w.]+|\\{.*?\\}))","captures":{"1":{"patterns":[{"name":"invalid.illegal.v","match":"\\$\\d[\\.\\w]+"},{"name":"variable.other.interpolated.v","match":"\\$([\\.\\w]+|\\{.*?\\})"}]}}},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.raw.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.raw.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.string.raw.end.v"}}},{"name":"string.quoted.single.v","begin":"'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.single.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.string.single.end.v"}}},{"name":"string.quoted.double.v","begin":"\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.double.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.string.double.end.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]}}}
|
1
|
+
{"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"},{"include":"#punctuations"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"\\s+((?:\\:|\\+|\\-|\\*|/|\\%|\\\u0026|\\||\\^)?=)\\s+","captures":{"1":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe_fn|console|heap|debug|manualfree|typedef|live|inline|flag|ref_only|windows_stdcall|direct_array_access)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|rune|size_t)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"escaped-fix":{"name":"meta.escaped.keyword.v","match":"((?:@)(?:mut|pub|fn|unsafe|module|import|as|const|map|assert|sizeof|__offsetof|typeof|type|struct|interface|enum|in|is|or|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm|i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64)|bool|byte|byteptr|charptr|voidptr|string|ustring|rune))","captures":{"0":{"name":"keyword.other.escaped.v"}}},"function-decl":{"name":"meta.definition.function.v","begin":"^\\s*(pub)?\\s*(fn)\\s+","end":"(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","beginCaptures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.function.v"}},"endCaptures":{"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.function.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.function.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"markup.bold.v","begin":"^\\s*(#)","end":"$"},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.exponential.v","match":"([0-9]+(_?))+(\\.)([0-9]+[eE][-+]?[0-9]+)"},{"name":"constant.numeric.float.v","match":"([0-9]+(_?))+(\\.)([0-9]+)"},{"name":"constant.numeric.binary.v","match":"(?:0b)(?:(?:[0-1]+)(?:_?))+"},{"name":"constant.numeric.octal.v","match":"(?:0o)(?:(?:[0-7]+)(?:_?))+"},{"name":"constant.numeric.hex.v","match":"(?:0x)(?:(?:[0-9a-fA-F]+)(?:_?))+"},{"name":"constant.numeric.integer.v","match":"(?:(?:[0-9]+)(?:[_]?))+"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.optional.v","match":"\\?"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"},{"name":"punctuation.hash.v","match":"#"}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.v","match":"(?:\\.)"},{"name":"punctuation.separator.comma.v","match":"(?:,)"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"name":"meta.string.interpolation.v","match":"(\\$([\\w.]+|\\{.*?\\}))","captures":{"1":{"patterns":[{"name":"invalid.illegal.v","match":"\\$\\d[\\.\\w]+"},{"name":"variable.other.interpolated.v","match":"\\$([\\.\\w]+|\\{.*?\\})"}]}}},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.rune.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"name":"string.quoted.raw.v","begin":"(r)'","end":"'","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.raw.v","begin":"(r)\"","end":"\"","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"(?\u003c!\\.)\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"(?\u003c!\\.)\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]}}}
|
data/grammars/source.viml.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"VimL","scopeName":"source.viml","patterns":[{"include":"#main"}],"repository":{"assignment":{"patterns":[{"name":"keyword.operator.assignment.compound.viml","match":"[-+.]="},{"name":"keyword.operator.assignment.viml","match":"="}]},"augGroup":{"patterns":[{"name":"meta.define-$1.viml","begin":"\\b(aug|augroup)\\b\\s*([\\w#]+)","end":"\\b(\\1)\\s+(END)\\b","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.function.viml"},"2":{"name":"entity.name.function.viml"}},"endCaptures":{"1":{"name":"storage.function.viml"},"2":{"name":"keyword.control.end"}}}]},"commentInnards":{"patterns":[{"include":"#modelines"},{"include":"#todo"}]},"comments":{"patterns":[{"name":"comment.line.quotes.viml","contentName":"support.constant.field.viml","begin":"^\\s*(\")(?=(\\s*[A-Z]\\w+)+:)","end":"((:))(.*)$","beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}},"endCaptures":{"1":{"name":"support.constant.field.viml"},"2":{"name":"punctuation.separator.key-value.colon.viml"},"3":{"patterns":[{"include":"#commentInnards"}]}}},{"name":"comment.line.quotes.viml","begin":"^\\s*(\")","end":"$","patterns":[{"include":"#commentInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}}},{"name":"comment.inline.quotes.viml","begin":"(?\u003c!^)\\s*(\")(?=[^\\n\"]*$)","end":"$","patterns":[{"include":"#commentInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}}}]},"escape":{"name":"constant.character.escape.backslash.viml","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash.viml"}}},"expr":{"patterns":[{"name":"keyword.operator.logical.viml","match":"[\u0026|=]{2}[?#]?|[!\u003e\u003c]=[#?]?|[=!]~(?!\\/)[#?]?|[\u003e\u003c][#?*]|\\b(?:isnot|is)\\b|\\\\|[-+%*]"},{"name":"keyword.operator.logical.viml","match":"\\s[\u003e\u003c]\\s"},{"name":"storage.modifier.force.viml","match":"(?\u003c=\\S)!"},{"name":"keyword.operator.logical.not.viml","match":"!(?=\\S)"},{"name":"punctuation.expression.bracket.curly.begin.viml","match":"{"},{"name":"punctuation.expression.bracket.curly.end.viml","match":"}"},{"name":"punctuation.expression.bracket.square.begin.viml","match":"\\["},{"name":"punctuation.expression.bracket.square.end.viml","match":"\\]"},{"name":"punctuation.expression.bracket.round.begin.viml","match":"\\("},{"name":"punctuation.expression.bracket.round.end.viml","match":"\\)"},{"name":"punctuation.separator.statement.viml","match":"\\|"},{"name":"punctuation.separator.comma.viml","match":","},{"name":"punctuation.separator.colon.viml","match":":"},{"name":"keyword.operator.rest.viml","match":"\\.{3}"},{"name":"punctuation.delimiter.property.dot.viml","match":"\\."},{"name":"punctuation.definition.option.viml","match":"\u0026(?=\\w+)"}]},"extraVimFunc":{"name":"support.function.viml","match":"(?x)\\b\n\t((?:echo(?:hl?)?)|exe(?:c(?:ute)?)?|[lxvn]?noremap|smapc(?:lear)?|mapmode|xmap|(?:[xs]un|snore)map\n\t|Plugin|autocmd|[cinvo]?(?:un|nore)?(?:map|menu)|(?:range)?go(?:to)?|(?:count)?(?:pop?|tag?|tn(?:ext)?|tp(?:revious)?|tr(?:ewind)?)\n\t|(?:range)?(?:s(?:ubstitute)?|ret(?:ab)?|g(?:lobal)?)|unm(?:ap)?|map_l|mapc(?:lear)?|N?buffer|N?bnext|N?bNext|N?bprevious|N?bmod\n\t|ab(?:breviate)?|norea(?:bbrev)?|[ic](?:un|nore)?ab|split_f|rangefold|[ic](?:un|nore)?ab|[ic]abbrev|edit_f|next_f|[vcoxli]u\n\t|(?:range)?(?:w(?:rite)?|up(?:date)?)|sar|cno|[vl]n|[io]?no|[xn]n|snor|lm(?:ap)?|lunmap|lear|[vnx]m|om|[ci]m|ap|nun|sunm)\n\\b"},"extraVimOptions":{"name":"support.variable.option.viml","match":"(?x)\\b (no)?\n\t(altwerase|bf|escapetime|extended|filec|iclower|keytime|leftright|li|lock|noprint|octal|recdir|searchincr\n\t|shellmeta|ttywerase|windowname|wl|wraplen)\n\\b"},"funcDef":{"patterns":[{"name":"storage.function.viml","match":"\\b(fu(n|nction)?|end(f|fu|fun|function)?)\\b"},{"name":"entity.name.function.viml","match":"(?:([sSgGbBwWtTlL]?(:))?[\\w#]+)(?=\\()","captures":{"1":{"name":"storage.modifier.scope.viml"},"2":{"name":"punctuation.definition.scope.key-value.viml"}}},{"name":"storage.modifier.$1.function.viml","match":"(?\u003c=\\)|\\s)(abort|dict|closure|range)(?=\\s|$)"}]},"hashbang":{"name":"comment.line.shebang.viml","begin":"\\A#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.viml"}}},"highlightLink":{"match":"(?x)^\\s* (:)? \\s* (?# 1: punctuation.separator.key-value.colon.viml) (hi|highlight) (?# 2: support.function.highlight.viml) (!)? (?# 3: storage.modifier.force.viml) (?:\\s+(def|default))? (?# 4: support.function.highlight-default.viml) (?:\\s+(link)) (?# 5: support.function.highlight-link.viml) (?:\\s+([-\\w]+)) (?# 6: variable.parameter.group-name.viml) (?:\\s+(?:(NONE)|([-\\w]+)))?","captures":{"1":{"name":"punctuation.separator.key-value.colon.viml"},"2":{"name":"support.function.highlight.viml"},"3":{"name":"storage.modifier.force.viml"},"4":{"name":"support.function.highlight-default.viml"},"5":{"name":"support.function.highlight-link.viml"},"6":{"name":"variable.parameter.group-name.viml"},"7":{"name":"support.constant.highlighting.viml"},"8":{"name":"variable.parameter.group-name.viml"}}},"keyword":{"patterns":[{"name":"keyword.control.$1.viml","match":"\\b(if|while|for|return|try|catch|finally|end(if|for|while|try)?|else(if)?|do|in|:)\\b"},{"name":"keyword.operator.$1.viml","match":"\\b(unlet)\\b"},{"name":"storage.type.let.viml","match":"\\blet\\b"},{"name":"support.constant.vimball.use.viml","match":"(?\u003c=^|\\n)UseVimball(?=\\s*$)"}]},"keywordLists":{"patterns":[{"include":"#vimTodo"},{"include":"#vimAugroupKey"},{"include":"#vimAutoEvent"},{"include":"#vimBehaveModel"},{"include":"#vimCommand"},{"include":"#vimFTCmd"},{"include":"#vimFTOption"},{"include":"#vimFgBgAttrib"},{"include":"#vimFuncKey"},{"include":"#vimFuncName"},{"include":"#vimGroup"},{"include":"#vimGroupSpecial"},{"include":"#vimHLGroup"},{"include":"#vimHiAttrib"},{"include":"#vimHiClear"},{"include":"#vimHiCtermColor"},{"include":"#vimMapModKey"},{"include":"#vimOption"},{"include":"#vimPattern"},{"include":"#vimStdPlugin"},{"include":"#vimSynCase"},{"include":"#vimSynType"},{"include":"#vimSyncC"},{"include":"#vimSyncLinecont"},{"include":"#vimSyncMatch"},{"include":"#vimSyncNone"},{"include":"#vimSyncRegion"},{"include":"#vimUserAttrbCmplt"},{"include":"#vimUserAttrbKey"},{"include":"#vimUserCommand"},{"include":"#vimErrSetting"}]},"main":{"patterns":[{"include":"#vimTodo"},{"include":"#comments"},{"include":"#modelines"},{"include":"#pathname"},{"include":"#escape"},{"include":"#strings"},{"include":"#hashbang"},{"include":"#numbers"},{"include":"#syntax"},{"include":"#highlightLink"},{"include":"#funcDef"},{"include":"#augGroup"},{"include":"#parameter"},{"include":"#assignment"},{"include":"#expr"},{"include":"#keyword"},{"include":"#register"},{"include":"#variable"},{"include":"#supportType"},{"include":"#supportVariable"},{"include":"#extraVimOptions"},{"include":"#extraVimFunc"},{"include":"#keywordLists"}]},"modelines":{"patterns":[{"name":"string.other.modeline.viml","begin":"(?:(?:\\s|^)vi(?:m[\u003c=\u003e]?\\d+|m)?|[\\t\\x20]ex):\\s*(?=set?\\s)","end":":|$","patterns":[{"include":"$self"}]},{"name":"string.other.modeline.viml","begin":"(?:(?:\\s|^)vi(?:m[\u003c=\u003e]?\\d+|m)?|[\\t\\x20]ex):","end":"$","patterns":[{"include":"$self"}]}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.viml","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.float.exponential.viml","match":"(?\u003c!\\w)-?\\d+\\.\\d+[eE][-+]?\\d+"},{"name":"constant.numeric.float.viml","match":"(?\u003c!\\w)-?\\d+\\.\\d+"},{"name":"constant.numeric.integer.viml","match":"(?\u003c!\\w)-?\\d+"}]},"parameter":{"name":"meta.parameter.viml","match":"(-)(\\w+)(=)","captures":{"1":{"name":"punctuation.definition.parameter.viml"},"2":{"name":"entity.name.parameter.viml"},"3":{"name":"punctuation.assignment.parameter.viml"}}},"pathname":{"name":"constant.pathname.viml","begin":"~/","end":"(?=\\s)"},"regex":{"name":"string.regexp.viml","begin":"(?\u003c=\\s|=)(\\S)","end":"$|(\\1)(\\S*)","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.viml"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.viml"},"2":{"patterns":[{"include":"#regexOffset"}]}}},"regexInnards":{"patterns":[{"begin":"\\[","end":"\\]|$","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.character-class.begin.viml"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.end.viml"}}},{"name":"constant.character.escape.viml","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.backslash.escape.viml"}}}]},"regexOffset":{"name":"meta.pattern-offset.viml","match":"(ms|me|hs|he|rs|re|lc)(=)(?:(\\d+)|([se])(?:([-+])(\\d+))?)(,)?","captures":{"1":{"name":"constant.language.pattern-offset.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"constant.numeric.integer.viml"},"4":{"name":"constant.language.pattern-position.viml"},"5":{"name":"keyword.operator.arithmetic.viml"},"6":{"name":"constant.numeric.integer.viml"},"7":{"name":"punctuation.separator.comma.viml"}}},"register":{"name":"variable.other.register.viml","match":"(@)([-\"A-Za-z\\d:.%#=*+~_/])","captures":{"1":{"name":"punctuation.definition.register.viml"}}},"strings":{"patterns":[{"name":"string.quoted.double.empty.viml","match":"(\")(\")","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.single.empty.viml","match":"(')(')","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.double.viml","match":"(\")((?:[^\\\\\"]|\\\\.)*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"patterns":[{"include":"#escape"}]},"3":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.single.viml","match":"(')((?:[^']|'')*)(')","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"patterns":[{"name":"constant.character.escape.quotes.viml","match":"''"}]},"3":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.regexp.interpolated.viml","match":"(/)(?:\\\\\\\\|\\\\/|[^\\n/])*(/)","captures":{"1":{"name":"punctuation.section.regexp.begin.viml"},"2":{"name":"punctuation.section.regexp.end.viml"}}}]},"supportType":{"name":"support.type.viml","match":"(\u003c).*?(\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.viml"},"2":{"name":"punctuation.definition.bracket.angle.end.viml"}}},"supportVariable":{"name":"support.variable.viml","match":"\\b(?:am(?:enu)?|(?:hl|inc)?search|[Bb]uf(?:[Nn]ew[Ff]ile|[Rr]ead)?|[Ff]ile[Tt]ype)\\b"},"syntax":{"name":"meta.syntax-item.viml","begin":"^\\s*(:)?\\s*(syntax|syn?)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s+(case)(?:\\s+(match|ignore))?(?=\\s|$)","captures":{"1":{"name":"support.function.syntax-case.viml"},"2":{"name":"support.constant.$2-case.viml"}}},{"match":"\\G\\s+(spell)(?:\\s+(toplevel|notoplevel|default))?(?=\\s|$)","captures":{"1":{"name":"support.function.syntax-spellcheck.viml"},"2":{"name":"support.constant.$2-checking.viml"}}},{"contentName":"keyword.other.syntax-definition.viml","begin":"\\G\\s+(keyword)(?:\\s+([-\\w]+))?","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"#assignment"},{"include":"#expr"}],"beginCaptures":{"1":{"name":"support.function.syntax-keywords.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(match)(?:\\s+([-\\w]+))?\\s*","end":"(?=$)","patterns":[{"include":"#syntaxRegex"}],"beginCaptures":{"1":{"name":"support.function.syntax-match.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(region)(?:\\s+([-\\w]+))?","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"$self"}],"beginCaptures":{"1":{"name":"support.function.syntax-region.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(cluster)(?:\\s+([-\\w]+))?(?=\\s|$)","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"$self"}],"beginCaptures":{"1":{"name":"support.function.syntax-cluster.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"match":"\\G\\s+(conceal)(?:\\s+(on|off)(?=\\s|$))?","captures":{"1":{"name":"support.function.syntax-conceal.viml"},"2":{"name":"support.constant.boolean.$2.viml"}}},{"match":"\\G\\s+(include)(?:\\s+((@)?[-\\w]+))?(?:\\s+(\\S+))?","captures":{"1":{"name":"support.function.syntax-include.viml"},"2":{"name":"variable.parameter.group-name.viml"},"3":{"name":"punctuation.definition.group-reference.viml"},"4":{"name":"string.unquoted.filename.viml","patterns":[{"include":"#supportType"}]}}},{"begin":"\\G\\s+(sync)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s+(fromstart)(?=\\s|$)","captures":{"1":{"name":"support.constant.sync-$1.viml"}}},{"match":"\\G\\s+(ccomment|clear)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?","captures":{"1":{"name":"support.constant.sync-$1.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"match":"\\G\\s+(minlines|lines)\\s*(=)(\\d*)","captures":{"1":{"name":"support.constant.sync-mode.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"constant.numeric.integer.viml"}}},{"match":"(?x)\\G\\s+(match|region)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?","captures":{"1":{"name":"support.constant.sync-mode.viml"},"2":{"name":"variable.parameter.group-name.viml"},"3":{"name":"support.constant.sync-mode-location.viml"}}},{"begin":"(?\u003c=\\s)(groupt?here|linecont)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?(?=\\s|$)","end":"(?=$)","patterns":[{"include":"#syntaxRegex"}],"beginCaptures":{"1":{"name":"support.constant.sync-match.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"include":"#syntaxOptions"}],"beginCaptures":{"1":{"name":"support.function.syntax-sync.viml"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.colon.viml"},"2":{"name":"support.function.syntax-item.viml"}}},"syntaxOptions":{"patterns":[{"name":"meta.syntax-item.pattern-argument.viml","begin":"(?\u003c=\\s)(start|skip|end)(?:\\s*(=))","end":"(?=$|\\s)","patterns":[{"include":"#regex"}],"beginCaptures":{"1":{"name":"support.constant.$1-pattern.viml"},"2":{"name":"punctuation.assignment.parameter.viml"}}},{"name":"meta.syntax-item.argument.viml","match":"(?x)(?\u003c=\\s)\n((?:matchgroup|contains|containedin|nextgroup|add|remove|minlines|linebreaks|maxlines)(?=\\s*=)\n|(?:cchar|conceal|concealends|contained|display|excludenl|extend|fold|keepend|oneline|skipempty|skipnl|skipwhite|transparent))\n(?:(?=$|\\s)|\\s*(=)(\\S*)?)","captures":{"1":{"name":"support.constant.syntax-$1.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"string.unquoted.syntax-option.viml","patterns":[{"include":"#numbers"},{"name":"punctuation.separator.comma.viml","match":","},{"name":"punctuation.definition.group-reference.viml","match":"@"}]}}}]},"syntaxRegex":{"patterns":[{"include":"#syntaxOptions"},{"name":"string.regexp.viml","begin":"(?\u003c=\\s)(\\S)","end":"(?:(\\1)(\\S*)(.*))?$","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.viml"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.viml"},"2":{"patterns":[{"include":"#regexOffset"}]},"3":{"patterns":[{"include":"#syntaxOptions"},{"include":"$self"}]}}}]},"variable":{"patterns":[{"name":"variable.language.self.viml","match":"\\b(self)\\b"},{"name":"support.variable.environment.viml","match":"(\\$)\\w+","captures":{"1":{"name":"punctuation.definition.variable.viml"}}},{"name":"variable.other.viml","match":"(\u0026?)(?:([sSgGbBwWlLaAvV](:))|[@$]|\u0026(?!\u0026))\\w*","captures":{"1":{"name":"punctuation.definition.reference.viml"},"2":{"name":"storage.modifier.scope.viml"},"3":{"name":"punctuation.definition.scope.key-value.viml"}}}]},"vimAugroupKey":{"name":"support.function.vimAugroupKey.viml","match":"(?x) \\b\n( aug\n| augroup\n) \\b"},"vimAutoEvent":{"name":"support.function.auto-event.viml","match":"(?xi) \\b\n( BufAdd\n| BufCreate\n| BufDelete\n| BufEnter\n| BufFilePost\n| BufFilePre\n| BufHidden\n| BufLeave\n| BufNewFile\n| BufNew\n| BufReadCmd\n| BufReadPost\n| BufReadPre\n| BufRead\n| BufUnload\n| BufWinEnter\n| BufWinLeave\n| BufWipeout\n| BufWriteCmd\n| BufWritePost\n| BufWritePre\n| BufWrite\n| CmdUndefined\n| CmdlineChanged\n| CmdlineEnter\n| CmdlineLeave\n| CmdwinEnter\n| CmdwinLeave\n| ColorSchemePre\n| ColorScheme\n| CompleteChanged\n| CompleteDonePre\n| CompleteDone\n| CursorHoldI\n| CursorHold\n| CursorMovedI\n| CursorMoved\n| DiffUpdated\n| DirChanged\n| EncodingChanged\n| ExitPre\n| FileAppendCmd\n| FileAppendPost\n| FileAppendPre\n| FileChangedRO\n| FileChangedShellPost\n| FileChangedShell\n| FileEncoding\n| FileReadCmd\n| FileReadPost\n| FileReadPre\n| FileType\n| FileWriteCmd\n| FileWritePost\n| FileWritePre\n| FilterReadPost\n| FilterReadPre\n| FilterWritePost\n| FilterWritePre\n| FocusGained\n| FocusLost\n| FuncUndefined\n| GUIEnter\n| GUIFailed\n| InsertChange\n| InsertCharPre\n| InsertEnter\n| InsertLeavePre\n| InsertLeave\n| MenuPopup\n| OptionSet\n| QuickFixCmdPost\n| QuickFixCmdPre\n| QuitPre\n| RemoteReply\n| SafeStateAgain\n| SafeState\n| SessionLoadPost\n| ShellCmdPost\n| ShellFilterPost\n| SigUSR1\n| SourceCmd\n| SourcePost\n| SourcePre\n| SpellFileMissing\n| StdinReadPost\n| StdinReadPre\n| SwapExists\n| Syntax\n| TabClosed\n| TabEnter\n| TabLeave\n| TabNew\n| TermChanged\n| TermResponse\n| TerminalOpen\n| TerminalWinOpen\n| TextChangedI\n| TextChangedP\n| TextChanged\n| TextYankPost\n| User\n| VimEnter\n| VimLeavePre\n| VimLeave\n| VimResized\n| VimResume\n| VimSuspend\n| WinEnter\n| WinLeave\n| WinNew\n) \\b"},"vimBehaveModel":{"name":"support.function.vimBehaveModel.viml","match":"(?x) \\b\n( mswin\n| xterm\n) \\b"},"vimCommand":{"name":"support.function.command.viml","match":"(?x) \\b\n( abc\n| abclear\n| abo\n| aboveleft\n| ab\n| addd\n| all?\n| ar\n| args\n| arga\n| argadd\n| argd\n| argdelete\n| argdo\n| arge\n| argedit\n| argg\n| argglobal\n| argl\n| arglocal\n| argu\n| argument\n| as\n| ascii\n| au\n| a\n| bN\n| bNext\n| b\n| buffer\n| ba\n| ball\n| badd?\n| balt\n| bd\n| bdelete\n| bel\n| belowright\n| bf\n| bfirst\n| bl\n| blast\n| bm\n| bmodified\n| bn\n| bnext\n| bo\n| botright\n| bp\n| bprevious\n| br\n| brewind\n| break?\n| breaka\n| breakadd\n| breakd\n| breakdel\n| breakl\n| breaklist\n| bro\n| browse\n| bufdo\n| buffers\n| bun\n| bunload\n| bw\n| bwipeout\n| cN\n| cNext\n| cNf\n| cNfile\n| c\n| change\n| cabc\n| cabclear\n| cabo\n| cabove\n| cad\n| caddbuffer\n| cadde\n| caddexpr\n| caddf\n| caddfile\n| caf\n| cafter\n| call?\n| cat\n| catch\n| ca\n| cb\n| cbuffer\n| cbe\n| cbefore\n| cbel\n| cbelow\n| cbo\n| cbottom\n| ccl\n| cclose\n| cc\n| cdo\n| cd\n| ce\n| center\n| cex\n| cexpr\n| cf\n| cfile\n| cfdo\n| cfir\n| cfirst\n| cg\n| cgetfile\n| cgetb\n| cgetbuffer\n| cgete\n| cgetexpr\n| changes\n| chd\n| chdir\n| che\n| checkpath\n| checkt\n| checktime\n| chi\n| chistory\n| cl\n| clist\n| cla\n| clast\n| class\n| cle\n| clearjumps\n| clo\n| close\n| cmapc\n| cmapclear\n| cn\n| cnext\n| cnew\n| cnewer\n| cnf\n| cnfile\n| cnor\n| co\n| copy\n| col\n| colder\n| colo\n| colorscheme\n| comc\n| comclear\n| comp\n| compiler\n| com\n| con\n| continue\n| conf\n| confirm\n| const?\n| copen?\n| cp\n| cprevious\n| cpf\n| cpfile\n| cq\n| cquit\n| cr\n| crewind\n| cscope\n| cstag\n| cs\n| cuna\n| cunabbrev\n| cun\n| cw\n| cwindow\n| d\n| delete\n| debugg\n| debuggreedy\n| debug\n| defc\n| defcompile\n| def\n| delc\n| delcommand\n| delel\n| delep\n| deletel\n| deletep\n| deletl\n| deletp\n| delf\n| delfunction\n| dell\n| delm\n| delmarks\n| delp\n| dep\n| di\n| display\n| dif\n| diffupdate\n| diffg\n| diffget\n| diffo\n| diffoff\n| diffp\n| diffpatch\n| diffput?\n| diffs\n| diffsplit\n| difft\n| diffthis\n| dig\n| digraphs\n| dir\n| disa\n| disassemble\n| dj\n| djump\n| dli\n| dlist\n| dl\n| doaut\n| doau\n| do\n| dp\n| dr\n| drop\n| ds\n| dsearch\n| dsp\n| dsplit\n| e\n| edit\n| earlier\n| ea\n| echoe\n| echoerr\n| echom\n| echomsg\n| echon\n| ec\n| el\n| else\n| elseif?\n| em\n| emenu\n| en\n| endif\n| enddef\n| endf\n| endfunction\n| endfor?\n| endt\n| endtry\n| endw\n| endwhile\n| enew?\n| eval\n| exit?\n| export\n| exp\n| exu\n| exusage\n| ex\n| f\n| file\n| files\n| filetype\n| filet\n| filt\n| filter\n| find?\n| fina\n| finally\n| fini\n| finish\n| fir\n| first\n| fix\n| fixdel\n| fo\n| fold\n| foldc\n| foldclose\n| foldd\n| folddoopen\n| folddoc\n| folddoclosed\n| foldo\n| foldopen\n| for\n| fu\n| function\n| go\n| goto\n| gr\n| grep\n| grepa\n| grepadd\n| gui\n| gvim\n| g\n| h\n| help\n| ha\n| hardcopy\n| helpc\n| helpclose\n| helpf\n| helpfind\n| helpg\n| helpgrep\n| helpt\n| helptags\n| hide?\n| his\n| history\n| hi\n| iabc\n| iabclear\n| ia\n| if\n| ij\n| ijump\n| il\n| ilist\n| imapc\n| imapclear\n| import\n| imp\n| inor\n| interface\n| intro\n| in\n| is\n| isearch\n| isp\n| isplit\n| iuna\n| iunabbrev\n| i\n| j\n| join\n| ju\n| jumps\n| kee\n| keepmarks\n| keepalt\n| keepa\n| keepj\n| keepjumps\n| keepp\n| keeppatterns\n| k\n| lN\n| lNext\n| lNf\n| lNfile\n| l\n| list\n| la\n| last\n| lab\n| labove\n| lad\n| laddexpr\n| laddb\n| laddbuffer\n| laddf\n| laddfile\n| laf\n| lafter\n| lan\n| language\n| later\n| lat\n| lb\n| lbuffer\n| lbe\n| lbefore\n| lbel\n| lbelow\n| lbo\n| lbottom\n| lcd?\n| lch\n| lchdir\n| lcl\n| lclose\n| lcscope\n| lcs\n| ldo?\n| le\n| left\n| lefta\n| leftabove\n| lex\n| lexpr\n| lf\n| lfile\n| lfdo\n| lfir\n| lfirst\n| lg\n| lgetfile\n| lgetb\n| lgetbuffer\n| lgete\n| lgetexpr\n| lgr\n| lgrep\n| lgrepa\n| lgrepadd\n| lh\n| lhelpgrep\n| lhi\n| lhistory\n| lla\n| llast\n| lli\n| llist\n| ll\n| lmake?\n| lmapc\n| lmapclear\n| lma\n| lne\n| lnext\n| lnew\n| lnewer\n| lnf\n| lnfile\n| lo\n| loadview\n| loadkeymap\n| loadk\n| loc\n| lockmarks\n| lockv\n| lockvar\n| lol\n| lolder\n| lop\n| lopen\n| lp\n| lprevious\n| lpf\n| lpfile\n| lr\n| lrewind\n| ls\n| lt\n| ltag\n| luado\n| luafile\n| lua\n| lv\n| lvimgrep\n| lvimgrepa\n| lvimgrepadd\n| lw\n| lwindow\n| m\n| move\n| ma\n| mark\n| make?\n| marks\n| mat\n| match\n| menut\n| menutranslate\n| mes\n| messages\n| mk\n| mkexrc\n| mks\n| mksession\n| mksp\n| mkspell\n| mkv\n| mkvimrc\n| mkview?\n| mode?\n| mz\n| mzscheme\n| mzf\n| mzfile\n| n\n| next\n| nb\n| nbkey\n| nbc\n| nbclose\n| nbs\n| nbstart\n| new\n| nmapc\n| nmapclear\n| noautocmd\n| noa\n| noh\n| nohlsearch\n| nore\n| nor\n| nos\n| noswapfile\n| nu\n| number\n| o\n| open\n| ol\n| oldfiles\n| omapc\n| omapclear\n| on\n| only\n| opt\n| options\n| ownsyntax\n| p\n| print\n| pa\n| packadd\n| packl\n| packloadall\n| pc\n| pclose\n| pe\n| perl\n| ped\n| pedit\n| perldo?\n| pop?\n| popup?\n| pp\n| ppop\n| pre\n| preserve\n| prev\n| previous\n| prof\n| profile\n| profd\n| profdel\n| promptf\n| promptfind\n| promptr\n| promptrepl\n| pro\n| ps\n| psearch\n| ptN\n| ptNext\n| ptag?\n| ptf\n| ptfirst\n| ptj\n| ptjump\n| ptl\n| ptlast\n| ptn\n| ptnext\n| ptp\n| ptprevious\n| ptr\n| ptrewind\n| pts\n| ptselect\n| put?\n| pwd?\n| py3do\n| py3f\n| py3file\n| py3\n| py\n| python\n| pydo\n| pyf\n| pyfile\n| python3\n| pythonx\n| pyxdo\n| pyxfile\n| pyx\n| q\n| quit\n| qa\n| qall\n| quita\n| quitall\n| r\n| read\n| rec\n| recover\n| redo?\n| redir?\n| redr\n| redraw\n| redraws\n| redrawstatus\n| redrawt\n| redrawtabline\n| reg\n| registers\n| res\n| resize\n| ret\n| retab\n| retu\n| return\n| rew\n| rewind\n| ri\n| right\n| rightb\n| rightbelow\n| ru\n| runtime\n| ruby?\n| rubydo?\n| rubyf\n| rubyfile\n| rundo\n| rv\n| rviminfo\n| sIc\n| sIe\n| sIg\n| sIl\n| sIn\n| sIp\n| sIr\n| sI\n| sN\n| sNext\n| sa\n| sargument\n| sall?\n| san\n| sandbox\n| sav\n| saveas\n| sbN\n| sbNext\n| sb\n| sbuffer\n| sba\n| sball\n| sbf\n| sbfirst\n| sbl\n| sblast\n| sbm\n| sbmodified\n| sbn\n| sbnext\n| sbp\n| sbprevious\n| sbr\n| sbrewind\n| scI\n| sce\n| scg\n| sci\n| scl\n| scp\n| scr\n| scriptnames\n| scripte\n| scriptencoding\n| scriptv\n| scriptversion\n| scscope\n| scs\n| sc\n| set?\n| setf\n| setfiletype\n| setg\n| setglobal\n| setl\n| setlocal\n| sf\n| sfind\n| sfir\n| sfirst\n| sgI\n| sgc\n| sge\n| sgi\n| sgl\n| sgn\n| sgp\n| sgr\n| sg\n| sh\n| shell\n| sic\n| sie\n| sign\n| sig\n| sil\n| silent\n| sim\n| simalt\n| sin\n| sip\n| sir\n| si\n| sl\n| sleep\n| sla\n| slast\n| sm\n| smagic\n| sm\n| smap\n| smenu\n| sme\n| smile\n| sn\n| snext\n| sno\n| snomagic\n| snoremenu\n| snoreme\n| so\n| source\n| sort?\n| sp\n| split\n| spe\n| spellgood\n| spelld\n| spelldump\n| spelli\n| spellinfo\n| spellr\n| spellrare\n| spellr\n| spellrepall\n| spellr\n| spellrrare\n| spellu\n| spellundo\n| spellw\n| spellwrong\n| spr\n| sprevious\n| srI\n| src\n| sre\n| srewind\n| srg\n| sri\n| srl\n| srn\n| srp\n| sr\n| st\n| stop\n| stag?\n| star\n| startinsert\n| startg\n| startgreplace\n| startr\n| startreplace\n| stj\n| stjump\n| stopi\n| stopinsert\n| sts\n| stselect\n| substitutepattern\n| sun\n| sunhide\n| sunmenu\n| sunme\n| sus\n| suspend\n| sv\n| sview\n| sw\n| swapname\n| syncbind\n| sync\n| syntime\n| syn\n| sy\n| tN\n| tNext\n| tag?\n| tabN\n| tabNext\n| tabc\n| tabclose\n| tabdo?\n| tabe\n| tabedit\n| tabf\n| tabfind\n| tabfir\n| tabfirst\n| tabl\n| tablast\n| tabm\n| tabmove\n| tabn\n| tabnext\n| tabnew\n| tabo\n| tabonly\n| tabp\n| tabprevious\n| tabr\n| tabrewind\n| tabs\n| tab\n| tags\n| tcl?\n| tcd\n| tch\n| tchdir\n| tcldo?\n| tclf\n| tclfile\n| te\n| tearoff\n| ter\n| terminal\n| tf\n| tfirst\n| th\n| throw\n| tj\n| tjump\n| tl\n| tlast\n| tlmenu\n| tlm\n| tlnoremenu\n| tln\n| tlunmenu\n| tlu\n| tm\n| tmenu\n| tmap?\n| tmapc\n| tmapclear\n| tn\n| tnext\n| tno\n| tnoremap\n| to\n| topleft\n| tp\n| tprevious\n| tr\n| trewind\n| try\n| ts\n| tselect\n| tu\n| tunmenu\n| tunmap?\n| type\n| t\n| u\n| undo\n| una\n| unabbreviate\n| undoj\n| undojoin\n| undol\n| undolist\n| unh\n| unhide\n| unlo\n| unlockvar\n| unl\n| uns\n| unsilent\n| up\n| update\n| var\n| ve\n| version\n| verb\n| verbose\n| vert\n| vertical\n| vi\n| visual\n| view?\n| vim9script\n| vim9\n| vim\n| vimgrep\n| vimgrepa\n| vimgrepadd\n| viu\n| viusage\n| vmapc\n| vmapclear\n| vnew?\n| vs\n| vsplit\n| v\n| wN\n| wNext\n| w\n| write\n| wa\n| wall\n| wh\n| while\n| win\n| winsize\n| winc\n| wincmd\n| windo\n| winp\n| winpos\n| wn\n| wnext\n| wp\n| wprevious\n| wqa\n| wqall\n| wq\n| wundo\n| wv\n| wviminfo\n| x\n| xit\n| xa\n| xall\n| xmapc\n| xmapclear\n| xmenu\n| xme\n| xnoremenu\n| xnoreme\n| xprop\n| xr\n| xrestore\n| xunmenu\n| xunme\n| xwininfo\n| y\n| yank\n) \\b"},"vimErrSetting":{"name":"invalid.deprecated.legacy-setting.viml","match":"(?x) \\b\n( autoprint\n| beautify\n| bioskey\n| biosk\n| conskey\n| consk\n| flash\n| graphic\n| hardtabs\n| ht\n| mesg\n| noautoprint\n| nobeautify\n| nobioskey\n| nobiosk\n| noconskey\n| noconsk\n| noflash\n| nographic\n| nohardtabs\n| nomesg\n| nonovice\n| noopen\n| nooptimize\n| noop\n| noredraw\n| noslowopen\n| noslow\n| nosourceany\n| novice\n| now1200\n| now300\n| now9600\n| open\n| optimize\n| op\n| redraw\n| slowopen\n| slow\n| sourceany\n| w1200\n| w300\n| w9600\n) \\b"},"vimFTCmd":{"name":"support.function.vimFTCmd.viml","match":"(?x) \\b\n( filet\n| filetype\n) \\b"},"vimFTOption":{"name":"support.function.vimFTOption.viml","match":"(?x) \\b\n( detect\n| indent\n| off\n| on\n| plugin\n) \\b"},"vimFgBgAttrib":{"name":"support.constant.attribute.viml","match":"(?x) \\b\n( background\n| bg\n| fg\n| foreground\n| none\n) \\b"},"vimFuncKey":{"name":"support.function.vimFuncKey.viml","match":"(?x) \\b\n( def\n| fu\n| function\n) \\b"},"vimFuncName":{"name":"support.function.viml","match":"(?x) \\b\n( abs\n| acos\n| add\n| and\n| appendbufline\n| append\n| argc\n| argidx\n| arglistid\n| argv\n| asin\n| assert_beeps\n| assert_equalfile\n| assert_equal\n| assert_exception\n| assert_fails\n| assert_false\n| assert_inrange\n| assert_match\n| assert_notequal\n| assert_notmatch\n| assert_report\n| assert_true\n| atan2\n| atan\n| balloon_gettext\n| balloon_show\n| balloon_split\n| browsedir\n| browse\n| bufadd\n| bufexists\n| buflisted\n| bufloaded\n| bufload\n| bufname\n| bufnr\n| bufwinid\n| bufwinnr\n| byte2line\n| byteidxcomp\n| byteidx\n| call\n| ceil\n| ch_canread\n| ch_close_in\n| ch_close\n| ch_evalexpr\n| ch_evalraw\n| ch_getbufnr\n| ch_getjob\n| ch_info\n| ch_logfile\n| ch_log\n| ch_open\n| ch_readblob\n| ch_readraw\n| ch_read\n| ch_sendexpr\n| ch_sendraw\n| ch_setoptions\n| ch_status\n| changenr\n| char2nr\n| charclass\n| chdir\n| cindent\n| clearmatches\n| col\n| complete_add\n| complete_check\n| complete_info\n| complete\n| confirm\n| copy\n| cosh\n| cos\n| count\n| cscope_connection\n| cursor\n| debugbreak\n| deepcopy\n| deletebufline\n| delete\n| did_filetype\n| diff_filler\n| diff_hlID\n| echoraw\n| empty\n| environ\n| escape\n| eval\n| eventhandler\n| executable\n| execute\n| exepath\n| exists\n| expandcmd\n| expand\n| exp\n| extend\n| feedkeys\n| filereadable\n| filewritable\n| filter\n| finddir\n| findfile\n| flatten\n| float2nr\n| floor\n| fmod\n| fnameescape\n| fnamemodify\n| foldclosedend\n| foldclosed\n| foldlevel\n| foldtextresult\n| foldtext\n| foreground\n| funcref\n| function\n| garbagecollect\n| getbufinfo\n| getbufline\n| getbufvar\n| getchangelist\n| getcharmod\n| getcharsearch\n| getchar\n| getcmdline\n| getcmdpos\n| getcmdtype\n| getcmdwintype\n| getcompletion\n| getcurpos\n| getcwd\n| getenv\n| getfontname\n| getfperm\n| getfsize\n| getftime\n| getftype\n| getimstatus\n| getjumplist\n| getline\n| getloclist\n| getmarklist\n| getmatches\n| getmousepos\n| getpid\n| getpos\n| getqflist\n| getreginfo\n| getregtype\n| getreg\n| gettabinfo\n| gettabvar\n| gettabwinvar\n| gettagstack\n| gettext\n| getwininfo\n| getwinposx\n| getwinposy\n| getwinpos\n| getwinvar\n| get\n| glob2regpat\n| globpath\n| glob\n| has_key\n| haslocaldir\n| hasmapto\n| has\n| histadd\n| histdel\n| histget\n| histnr\n| hlID\n| hlexists\n| hostname\n| iconv\n| indent\n| index\n| inputdialog\n| inputlist\n| inputrestore\n| inputsave\n| inputsecret\n| input\n| insert\n| interrupt\n| invert\n| isdirectory\n| isinf\n| islocked\n| isnan\n| items\n| job_getchannel\n| job_info\n| job_setoptions\n| job_start\n| job_status\n| job_stop\n| join\n| js_decode\n| js_encode\n| json_decode\n| json_encode\n| keys\n| len\n| libcallnr\n| libcall\n| line2byte\n| line\n| lispindent\n| list2str\n| listener_add\n| listener_flush\n| listener_remove\n| localtime\n| log10\n| log\n| luaeval\n| maparg\n| mapcheck\n| mapnew\n| mapset\n| map\n| matchaddpos\n| matchadd\n| matcharg\n| matchdelete\n| matchend\n| matchfuzzypos\n| matchfuzzy\n| matchlist\n| matchstrpos\n| matchstr\n| match\n| max\n| menu_info\n| min\n| mkdir\n| mode\n| mzeval\n| nextnonblank\n| nr2char\n| or\n| pathshorten\n| perleval\n| popup_atcursor\n| popup_beval\n| popup_clear\n| popup_close\n| popup_create\n| popup_dialog\n| popup_filter_menu\n| popup_filter_yesno\n| popup_findinfo\n| popup_findpreview\n| popup_getoptions\n| popup_getpos\n| popup_hide\n| popup_list\n| popup_locate\n| popup_menu\n| popup_move\n| popup_notification\n| popup_setoptions\n| popup_settext\n| popup_show\n| pow\n| prevnonblank\n| printf\n| prompt_getprompt\n| prompt_setcallback\n| prompt_setinterrupt\n| prompt_setprompt\n| prop_add\n| prop_clear\n| prop_find\n| prop_list\n| prop_remove\n| prop_type_add\n| prop_type_change\n| prop_type_delete\n| prop_type_get\n| prop_type_list\n| pum_getpos\n| pumvisible\n| py3eval\n| pyeval\n| pyxeval\n| rand\n| range\n| readdirex\n| readdir\n| readfile\n| reduce\n| reg_executing\n| reg_recording\n| reltimefloat\n| reltimestr\n| reltime\n| remote_expr\n| remote_foreground\n| remote_peek\n| remote_read\n| remote_send\n| remote_startserver\n| remove\n| rename\n| repeat\n| resolve\n| reverse\n| round\n| rubyeval\n| screenattr\n| screenchars\n| screenchar\n| screencol\n| screenpos\n| screenrow\n| screenstring\n| searchcount\n| searchdecl\n| searchpairpos\n| searchpair\n| searchpos\n| search\n| server2client\n| serverlist\n| setbufline\n| setbufvar\n| setcellwidths\n| setcharsearch\n| setcmdpos\n| setenv\n| setfperm\n| setline\n| setloclist\n| setmatches\n| setpos\n| setqflist\n| setreg\n| settabvar\n| settabwinvar\n| settagstack\n| setwinvar\n| sha256\n| shellescape\n| shiftwidth\n| sign_define\n| sign_getdefined\n| sign_getplaced\n| sign_jump\n| sign_placelist\n| sign_place\n| sign_undefine\n| sign_unplacelist\n| sign_unplace\n| simplify\n| sinh\n| sin\n| sort\n| sound_clear\n| sound_playevent\n| sound_playfile\n| sound_stop\n| soundfold\n| spellbadword\n| spellsuggest\n| split\n| sqrt\n| srand\n| state\n| str2float\n| str2list\n| str2nr\n| strcharpart\n| strchars\n| strdisplaywidth\n| strftime\n| strgetchar\n| stridx\n| string\n| strlen\n| strpart\n| strptime\n| strridx\n| strtrans\n| strwidth\n| submatch\n| substitute\n| swapinfo\n| swapname\n| synIDattr\n| synIDtrans\n| synID\n| synconcealed\n| synstack\n| systemlist\n| system\n| tabpagebuflist\n| tabpagenr\n| tabpagewinnr\n| tagfiles\n| taglist\n| tanh\n| tan\n| tempname\n| term_dumpdiff\n| term_dumpload\n| term_dumpwrite\n| term_getaltscreen\n| term_getansicolors\n| term_getattr\n| term_getcursor\n| term_getjob\n| term_getline\n| term_getscrolled\n| term_getsize\n| term_getstatus\n| term_gettitle\n| term_gettty\n| term_list\n| term_scrape\n| term_sendkeys\n| term_setansicolors\n| term_setapi\n| term_setkill\n| term_setrestore\n| term_setsize\n| term_start\n| term_wait\n| terminalprops\n| test_alloc_fail\n| test_autochdir\n| test_feedinput\n| test_garbagecollect_now\n| test_garbagecollect_soon\n| test_getvalue\n| test_ignore_error\n| test_null_blob\n| test_null_channel\n| test_null_dict\n| test_null_function\n| test_null_job\n| test_null_list\n| test_null_partial\n| test_null_string\n| test_option_not_set\n| test_override\n| test_refcount\n| test_scrollbar\n| test_setmouse\n| test_settime\n| test_srand_seed\n| test_unknown\n| test_void\n| timer_info\n| timer_pause\n| timer_start\n| timer_stopall\n| timer_stop\n| tolower\n| toupper\n| trim\n| trunc\n| tr\n| type\n| undofile\n| undotree\n| uniq\n| values\n| virtcol\n| visualmode\n| wildmenumode\n| win_execute\n| win_findbuf\n| win_getid\n| win_gettype\n| win_gotoid\n| win_id2tabwin\n| win_id2win\n| win_screenpos\n| win_splitmove\n| winbufnr\n| wincol\n| windowsversion\n| winheight\n| winlayout\n| winline\n| winnr\n| winrestcmd\n| winrestview\n| winsaveview\n| winwidth\n| wordcount\n| writefile\n| xor\n) \\b"},"vimGroup":{"name":"support.type.group.viml","match":"(?xi) \\b\n( Boolean\n| Character\n| Comment\n| Conditional\n| Constant\n| Debug\n| Define\n| Delimiter\n| Error\n| Exception\n| Float\n| Function\n| Identifier\n| Ignore\n| Include\n| Keyword\n| Label\n| Macro\n| Number\n| Operator\n| PreCondit\n| PreProc\n| Repeat\n| SpecialChar\n| SpecialComment\n| Special\n| Statement\n| StorageClass\n| String\n| Structure\n| Tag\n| Todo\n| Typedef\n| Type\n| Underlined\n) \\b"},"vimGroupSpecial":{"name":"support.function.vimGroupSpecial.viml","match":"(?x) \\b\n( ALLBUT\n| ALL\n| CONTAINED\n| TOP\n) \\b"},"vimHLGroup":{"name":"support.type.highlight-group.viml","match":"(?xi) \\b\n( ColorColumn\n| CursorColumn\n| CursorIM\n| CursorLineNr\n| CursorLine\n| Cursor\n| DiffAdd\n| DiffChange\n| DiffDelete\n| DiffText\n| Directory\n| EndOfBuffer\n| ErrorMsg\n| FoldColumn\n| Folded\n| IncSearch\n| LineNrAbove\n| LineNrBelow\n| LineNr\n| MatchParen\n| Menu\n| ModeMsg\n| MoreMsg\n| NonText\n| Normal\n| PmenuSbar\n| PmenuSel\n| PmenuThumb\n| Pmenu\n| Question\n| QuickFixLine\n| Scrollbar\n| Search\n| SignColumn\n| SpecialKey\n| SpellBad\n| SpellCap\n| SpellLocal\n| SpellRare\n| StatusLineNC\n| StatusLineTerm\n| StatusLine\n| TabLineFill\n| TabLineSel\n| TabLine\n| Terminal\n| Title\n| Tooltip\n| VertSplit\n| VisualNOS\n| Visual\n| WarningMsg\n| WildMenu\n) \\b"},"vimHiAttrib":{"name":"support.function.vimHiAttrib.viml","match":"(?x) \\b\n( bold\n| inverse\n| italic\n| nocombine\n| none\n| reverse\n| standout\n| strikethrough\n| undercurl\n| underline\n) \\b"},"vimHiClear":{"name":"support.function.vimHiClear.viml","match":"(?x) \\b\n( clear\n) \\b"},"vimHiCtermColor":{"name":"support.constant.colour.color.$1.viml","match":"(?x) \\b\n( black\n| blue\n| brown\n| cyan\n| darkblue\n| darkcyan\n| darkgray\n| darkgreen\n| darkgrey\n| darkmagenta\n| darkred\n| darkyellow\n| gray\n| green\n| grey\n| lightblue\n| lightcyan\n| lightgray\n| lightgreen\n| lightgrey\n| lightmagenta\n| lightred\n| magenta\n| red\n| white\n| yellow\n) \\b"},"vimMapModKey":{"name":"support.function.vimMapModKey.viml","match":"(?x) \\b\n( buffer\n| expr\n| leader\n| localleader\n| nowait\n| plug\n| script\n| sid\n| silent\n| unique\n) \\b"},"vimOption":{"name":"support.variable.option.viml","match":"(?x) \\b\n( acd\n| ai\n| akm\n| aleph\n| allowrevins\n| altkeymap\n| al\n| ambiwidth\n| ambw\n| antialias\n| anti\n| arabicshape\n| arabic\n| arab\n| ari\n| arshape\n| ar\n| autochdir\n| autoindent\n| autoread\n| autowriteall\n| autowrite\n| awa\n| aw\n| background\n| backspace\n| backupcopy\n| backupdir\n| backupext\n| backupskip\n| backup\n| balloondelay\n| balloonevalterm\n| ballooneval\n| balloonexpr\n| bdir\n| bdlay\n| belloff\n| bevalterm\n| beval\n| bexpr\n| bex\n| bg\n| bh\n| binary\n| bin\n| bkc\n| bk\n| bl\n| bomb\n| bo\n| breakat\n| breakindentopt\n| breakindent\n| briopt\n| bri\n| brk\n| browsedir\n| bsdir\n| bsk\n| bs\n| bt\n| bufhidden\n| buflisted\n| buftype\n| casemap\n| cb\n| ccv\n| cc\n| cdpath\n| cd\n| cedit\n| cfu\n| cf\n| charconvert\n| ch\n| cindent\n| cinkeys\n| cink\n| cinoptions\n| cino\n| cinwords\n| cinw\n| cin\n| ci\n| clipboard\n| cmdheight\n| cmdwinheight\n| cmp\n| cms\n| cm\n| cocu\n| cole\n| colorcolumn\n| columns\n| commentstring\n| comments\n| compatible\n| completefunc\n| completeopt\n| completepopup\n| completeslash\n| complete\n| com\n| confirm\n| copyindent\n| cot\n| co\n| cpoptions\n| cpo\n| cpp\n| cpt\n| cp\n| crb\n| cryptmethod\n| cscopepathcomp\n| cscopeprg\n| cscopequickfix\n| cscoperelative\n| cscopetagorder\n| cscopetag\n| cscopeverbose\n| csl\n| cspc\n| csprg\n| csqf\n| csre\n| csto\n| cst\n| csverb\n| cuc\n| culopt\n| cul\n| cursorbind\n| cursorcolumn\n| cursorlineopt\n| cursorline\n| cursor\n| cwh\n| debug\n| deco\n| define\n| def\n| delcombine\n| dex\n| dg\n| dictionary\n| dict\n| diffexpr\n| diffopt\n| diff\n| digraph\n| dip\n| directory\n| dir\n| display\n| dy\n| eadirection\n| ead\n| ea\n| eb\n| edcompatible\n| ed\n| efm\n| ef\n| ei\n| ek\n| emoji\n| emo\n| encoding\n| enc\n| endofline\n| eol\n| ep\n| equalalways\n| equalprg\n| errorbells\n| errorfile\n| errorformat\n| esckeys\n| et\n| eventignore\n| expandtab\n| exrc\n| ex\n| fcl\n| fcs\n| fdc\n| fde\n| fdi\n| fdls\n| fdl\n| fdm\n| fdn\n| fdo\n| fdt\n| fencs\n| fenc\n| fen\n| fex\n| ffs\n| ff\n| fic\n| fileencodings\n| fileencoding\n| fileformats\n| fileformat\n| fileignorecase\n| filetype\n| fillchars\n| fixendofline\n| fixeol\n| fkmap\n| fk\n| flp\n| fml\n| fmr\n| foldclose\n| foldcolumn\n| foldenable\n| foldexpr\n| foldignore\n| foldlevelstart\n| foldlevel\n| foldmarker\n| foldmethod\n| foldminlines\n| foldnestmax\n| foldopen\n| foldtext\n| formatexpr\n| formatlistpat\n| formatoptions\n| formatprg\n| fo\n| fp\n| fsync\n| fs\n| ft\n| gcr\n| gdefault\n| gd\n| gfm\n| gfn\n| gfs\n| gfw\n| ghr\n| go\n| gp\n| grepformat\n| grepprg\n| gtl\n| gtt\n| guicursor\n| guifontset\n| guifontwide\n| guifont\n| guiheadroom\n| guioptions\n| guipty\n| guitablabel\n| guitabtooltip\n| helpfile\n| helpheight\n| helplang\n| hf\n| hh\n| hidden\n| hid\n| highlight\n| history\n| hi\n| hkmapp\n| hkmap\n| hkp\n| hk\n| hlg\n| hlsearch\n| hls\n| hl\n| iconstring\n| icon\n| ic\n| ignorecase\n| imactivatefunc\n| imactivatekey\n| imaf\n| imak\n| imcmdline\n| imc\n| imdisable\n| imd\n| iminsert\n| imi\n| imsearch\n| imsf\n| imstatusfunc\n| imstyle\n| imst\n| ims\n| im\n| includeexpr\n| include\n| incsearch\n| inc\n| indentexpr\n| indentkeys\n| inde\n| indk\n| inex\n| infercase\n| inf\n| insertmode\n| invacd\n| invai\n| invakm\n| invallowrevins\n| invaltkeymap\n| invantialias\n| invanti\n| invarabicshape\n| invarabic\n| invarab\n| invari\n| invarshape\n| invar\n| invautochdir\n| invautoindent\n| invautoread\n| invautowriteall\n| invautowrite\n| invawa\n| invaw\n| invbackup\n| invballoonevalterm\n| invballooneval\n| invbevalterm\n| invbeval\n| invbinary\n| invbin\n| invbk\n| invbl\n| invbomb\n| invbreakindent\n| invbri\n| invbuflisted\n| invcf\n| invcindent\n| invcin\n| invci\n| invcompatible\n| invconfirm\n| invcopyindent\n| invcp\n| invcrb\n| invcscoperelative\n| invcscopetag\n| invcscopeverbose\n| invcsre\n| invcst\n| invcsverb\n| invcuc\n| invcul\n| invcursorbind\n| invcursorcolumn\n| invcursorline\n| invdeco\n| invdelcombine\n| invdg\n| invdiff\n| invdigraph\n| invea\n| inveb\n| invedcompatible\n| inved\n| invek\n| invemoji\n| invemo\n| invendofline\n| inveol\n| invequalalways\n| inverrorbells\n| invesckeys\n| invet\n| invexpandtab\n| invexrc\n| invex\n| invfen\n| invfic\n| invfileignorecase\n| invfixendofline\n| invfixeol\n| invfkmap\n| invfk\n| invfoldenable\n| invfsync\n| invfs\n| invgdefault\n| invgd\n| invguipty\n| invhidden\n| invhid\n| invhkmapp\n| invhkmap\n| invhkp\n| invhk\n| invhlsearch\n| invhls\n| invicon\n| invic\n| invignorecase\n| invimcmdline\n| invimc\n| invimdisable\n| invimd\n| invim\n| invincsearch\n| invinfercase\n| invinf\n| invinsertmode\n| invis\n| invjoinspaces\n| invjs\n| invlangnoremap\n| invlangremap\n| invlazyredraw\n| invlbr\n| invlinebreak\n| invlisp\n| invlist\n| invlnr\n| invloadplugins\n| invlpl\n| invlrm\n| invlz\n| invmacatsui\n| invmagic\n| invma\n| invmh\n| invmle\n| invml\n| invmodelineexpr\n| invmodeline\n| invmodifiable\n| invmodified\n| invmod\n| invmore\n| invmousefocus\n| invmousef\n| invmousehide\n| invnumber\n| invnu\n| invodev\n| invopendevice\n| invpaste\n| invpi\n| invpreserveindent\n| invpreviewwindow\n| invprompt\n| invpvw\n| invreadonly\n| invrelativenumber\n| invremap\n| invrestorescreen\n| invrevins\n| invrightleft\n| invri\n| invrl\n| invrnu\n| invro\n| invrs\n| invruler\n| invru\n| invsb\n| invscb\n| invscf\n| invscrollbind\n| invscrollfocus\n| invscs\n| invsc\n| invsecure\n| invsft\n| invshellslash\n| invshelltemp\n| invshiftround\n| invshortname\n| invshowcmd\n| invshowfulltag\n| invshowmatch\n| invshowmode\n| invsi\n| invsmartcase\n| invsmartindent\n| invsmarttab\n| invsmd\n| invsm\n| invsn\n| invsol\n| invspell\n| invsplitbelow\n| invsplitright\n| invspr\n| invsr\n| invssl\n| invstartofline\n| invsta\n| invstmp\n| invswapfile\n| invswf\n| invtagbsearch\n| invtagrelative\n| invtagstack\n| invta\n| invtbidi\n| invtbi\n| invtbs\n| invtermbidi\n| invterse\n| invtextauto\n| invtextmode\n| invtf\n| invtgst\n| invtildeop\n| invtimeout\n| invtitle\n| invtop\n| invto\n| invtr\n| invttimeout\n| invttybuiltin\n| invttyfast\n| invtx\n| invudf\n| invundofile\n| invvb\n| invvisualbell\n| invwarn\n| invwa\n| invwb\n| invweirdinvert\n| invwfh\n| invwfw\n| invwic\n| invwildignorecase\n| invwildmenu\n| invwinfixheight\n| invwinfixwidth\n| invwiv\n| invwmnu\n| invwrapscan\n| invwrap\n| invwriteany\n| invwritebackup\n| invwrite\n| invws\n| isfname\n| isf\n| isident\n| isi\n| iskeyword\n| isk\n| isprint\n| isp\n| is\n| joinspaces\n| js\n| keymap\n| keymodel\n| keywordprg\n| key\n| kmp\n| km\n| kp\n| langmap\n| langmenu\n| langnoremap\n| langremap\n| laststatus\n| lazyredraw\n| lbr\n| lcs\n| level\n| linebreak\n| linespace\n| lines\n| lispwords\n| lisp\n| listchars\n| list\n| lmap\n| lm\n| lnr\n| loadplugins\n| lpl\n| lrm\n| lsp\n| ls\n| luadll\n| lw\n| lz\n| macatsui\n| magic\n| makeef\n| makeencoding\n| makeprg\n| matchpairs\n| matchtime\n| mat\n| maxcombine\n| maxfuncdepth\n| maxmapdepth\n| maxmempattern\n| maxmemtot\n| maxmem\n| ma\n| mco\n| mef\n| menc\n| menuitems\n| mfd\n| mh\n| mis\n| mkspellmem\n| mle\n| mls\n| ml\n| mmd\n| mmp\n| mmt\n| mm\n| modelineexpr\n| modelines\n| modeline\n| modifiable\n| modified\n| mod\n| more\n| mousefocus\n| mousef\n| mousehide\n| mousemodel\n| mousem\n| mouseshape\n| mouses\n| mousetime\n| mouset\n| mouse\n| mps\n| mp\n| msm\n| mzquantum\n| mzq\n| mzschemedll\n| mzschemegcdll\n| nf\n| noacd\n| noai\n| noakm\n| noallowrevins\n| noaltkeymap\n| noantialias\n| noanti\n| noarabicshape\n| noarabic\n| noarab\n| noari\n| noarshape\n| noar\n| noautochdir\n| noautoindent\n| noautoread\n| noautowriteall\n| noautowrite\n| noawa\n| noaw\n| nobackup\n| noballoonevalterm\n| noballooneval\n| nobevalterm\n| nobeval\n| nobinary\n| nobin\n| nobk\n| nobl\n| nobomb\n| nobreakindent\n| nobri\n| nobuflisted\n| nocf\n| nocindent\n| nocin\n| noci\n| nocompatible\n| noconfirm\n| nocopyindent\n| nocp\n| nocrb\n| nocscoperelative\n| nocscopetag\n| nocscopeverbose\n| nocsre\n| nocst\n| nocsverb\n| nocuc\n| nocul\n| nocursorbind\n| nocursorcolumn\n| nocursorline\n| nodeco\n| nodelcombine\n| nodg\n| nodiff\n| nodigraph\n| noea\n| noeb\n| noedcompatible\n| noed\n| noek\n| noemoji\n| noemo\n| noendofline\n| noeol\n| noequalalways\n| noerrorbells\n| noesckeys\n| noet\n| noexpandtab\n| noexrc\n| noex\n| nofen\n| nofic\n| nofileignorecase\n| nofixendofline\n| nofixeol\n| nofkmap\n| nofk\n| nofoldenable\n| nofsync\n| nofs\n| nogdefault\n| nogd\n| noguipty\n| nohidden\n| nohid\n| nohkmapp\n| nohkmap\n| nohkp\n| nohk\n| nohlsearch\n| nohls\n| noicon\n| noic\n| noignorecase\n| noimcmdline\n| noimc\n| noimdisable\n| noimd\n| noim\n| noincsearch\n| noinfercase\n| noinf\n| noinsertmode\n| nois\n| nojoinspaces\n| nojs\n| nolangnoremap\n| nolangremap\n| nolazyredraw\n| nolbr\n| nolinebreak\n| nolisp\n| nolist\n| nolnr\n| noloadplugins\n| nolpl\n| nolrm\n| nolz\n| nomacatsui\n| nomagic\n| noma\n| nomh\n| nomle\n| noml\n| nomodelineexpr\n| nomodeline\n| nomodifiable\n| nomodified\n| nomod\n| nomore\n| nomousefocus\n| nomousef\n| nomousehide\n| nonumber\n| nonu\n| noodev\n| noopendevice\n| nopaste\n| nopi\n| nopreserveindent\n| nopreviewwindow\n| noprompt\n| nopvw\n| noreadonly\n| norelativenumber\n| noremap\n| norestorescreen\n| norevins\n| norightleft\n| nori\n| norl\n| nornu\n| noro\n| nors\n| noruler\n| noru\n| nosb\n| noscb\n| noscf\n| noscrollbind\n| noscrollfocus\n| noscs\n| nosc\n| nosecure\n| nosft\n| noshellslash\n| noshelltemp\n| noshiftround\n| noshortname\n| noshowcmd\n| noshowfulltag\n| noshowmatch\n| noshowmode\n| nosi\n| nosmartcase\n| nosmartindent\n| nosmarttab\n| nosmd\n| nosm\n| nosn\n| nosol\n| nospell\n| nosplitbelow\n| nosplitright\n| nospr\n| nosr\n| nossl\n| nostartofline\n| nosta\n| nostmp\n| noswapfile\n| noswf\n| notagbsearch\n| notagrelative\n| notagstack\n| nota\n| notbidi\n| notbi\n| notbs\n| notermbidi\n| noterse\n| notextauto\n| notextmode\n| notf\n| notgst\n| notildeop\n| notimeout\n| notitle\n| notop\n| noto\n| notr\n| nottimeout\n| nottybuiltin\n| nottyfast\n| notx\n| noudf\n| noundofile\n| novb\n| novisualbell\n| nowarn\n| nowa\n| nowb\n| noweirdinvert\n| nowfh\n| nowfw\n| nowic\n| nowildignorecase\n| nowildmenu\n| nowinfixheight\n| nowinfixwidth\n| nowiv\n| nowmnu\n| nowrapscan\n| nowrap\n| nowriteany\n| nowritebackup\n| nowrite\n| nows\n| nrformats\n| numberwidth\n| number\n| nuw\n| nu\n| odev\n| oft\n| ofu\n| omnifunc\n| opendevice\n| operatorfunc\n| opfunc\n| osfiletype\n| packpath\n| paragraphs\n| para\n| pastetoggle\n| paste\n| patchexpr\n| patchmode\n| path\n| pa\n| pdev\n| penc\n| perldll\n| pexpr\n| pex\n| pfn\n| pheader\n| ph\n| pi\n| pmbcs\n| pmbfn\n| pm\n| popt\n| pp\n| preserveindent\n| previewheight\n| previewpopup\n| previewwindow\n| printdevice\n| printencoding\n| printexpr\n| printfont\n| printheader\n| printmbcharset\n| printmbfont\n| printoptions\n| prompt\n| pt\n| pumheight\n| pumwidth\n| pvh\n| pvp\n| pvw\n| pw\n| pythondll\n| pythonhome\n| pythonthreedll\n| pythonthreehome\n| pyxversion\n| pyx\n| qe\n| qftf\n| quickfixtextfunc\n| quoteescape\n| rdt\n| readonly\n| redrawtime\n| regexpengine\n| relativenumber\n| remap\n| renderoptions\n| report\n| restorescreen\n| revins\n| re\n| rightleftcmd\n| rightleft\n| ri\n| rlc\n| rl\n| rnu\n| rop\n| ro\n| rs\n| rtp\n| rubydll\n| ruf\n| rulerformat\n| ruler\n| runtimepath\n| ru\n| sbo\n| sbr\n| sb\n| scb\n| scf\n| scl\n| scrollbind\n| scrollfocus\n| scrolljump\n| scrolloff\n| scrollopt\n| scroll\n| scr\n| scs\n| sc\n| sections\n| sect\n| secure\n| selection\n| selectmode\n| sel\n| sessionoptions\n| sft\n| shcf\n| shellcmdflag\n| shellpipe\n| shellquote\n| shellredir\n| shellslash\n| shelltemp\n| shelltype\n| shellxescape\n| shellxquote\n| shell\n| shiftround\n| shiftwidth\n| shm\n| shortmess\n| shortname\n| showbreak\n| showcmd\n| showfulltag\n| showmatch\n| showmode\n| showtabline\n| shq\n| sh\n| sidescrolloff\n| sidescroll\n| signcolumn\n| siso\n| si\n| sj\n| slm\n| smartcase\n| smartindent\n| smarttab\n| smc\n| smd\n| sm\n| sn\n| softtabstop\n| sol\n| so\n| spc\n| spellcapcheck\n| spellfile\n| spelllang\n| spelloptions\n| spellsuggest\n| spell\n| spf\n| splitbelow\n| splitright\n| spl\n| spo\n| spr\n| sps\n| sp\n| srr\n| sr\n| ssl\n| ssop\n| ss\n| stal\n| startofline\n| statusline\n| sta\n| stl\n| stmp\n| sts\n| st\n| sua\n| suffixesadd\n| suffixes\n| su\n| swapfile\n| swapsync\n| swb\n| swf\n| switchbuf\n| sws\n| sw\n| sxe\n| sxq\n| synmaxcol\n| syntax\n| syn\n| t_8b\n| t_8f\n| t_8u\n| t_AB\n| t_AF\n| t_AL\n| t_AU\n| t_BD\n| t_BE\n| t_CS\n| t_CV\n| t_Ce\n| t_Co\n| t_Cs\n| t_DL\n| t_EC\n| t_EI\n| t_F1\n| t_F2\n| t_F3\n| t_F4\n| t_F5\n| t_F6\n| t_F7\n| t_F8\n| t_F9\n| t_GP\n| t_IE\n| t_IS\n| t_K1\n| t_K3\n| t_K4\n| t_K5\n| t_K6\n| t_K7\n| t_K8\n| t_K9\n| t_KA\n| t_KB\n| t_KC\n| t_KD\n| t_KE\n| t_KF\n| t_KG\n| t_KH\n| t_KI\n| t_KJ\n| t_KK\n| t_KL\n| t_PE\n| t_PS\n| t_RB\n| t_RC\n| t_RF\n| t_RI\n| t_RS\n| t_RT\n| t_RV\n| t_Ri\n| t_SC\n| t_SH\n| t_SI\n| t_SR\n| t_ST\n| t_Sb\n| t_Sf\n| t_Si\n| t_TE\n| t_TI\n| t_Te\n| t_Ts\n| t_VS\n| t_WP\n| t_WS\n| t_ZH\n| t_ZR\n| t_al\n| t_bc\n| t_cd\n| t_ce\n| t_cl\n| t_cm\n| t_cs\n| t_da\n| t_db\n| t_dl\n| t_fs\n| t_k1\n| t_k2\n| t_k3\n| t_k4\n| t_k5\n| t_k6\n| t_k7\n| t_k8\n| t_k9\n| t_kB\n| t_kD\n| t_kI\n| t_kN\n| t_kP\n| t_kb\n| t_kd\n| t_ke\n| t_kh\n| t_kl\n| t_kr\n| t_ks\n| t_ku\n| t_le\n| t_mb\n| t_md\n| t_me\n| t_mr\n| t_ms\n| t_nd\n| t_op\n| t_se\n| t_so\n| t_sr\n| t_te\n| t_ti\n| t_ts\n| t_u7\n| t_ue\n| t_us\n| t_ut\n| t_vb\n| t_ve\n| t_vi\n| t_vs\n| t_xn\n| t_xs\n| tabline\n| tabpagemax\n| tabstop\n| tagbsearch\n| tagcase\n| tagfunc\n| taglength\n| tagrelative\n| tagstack\n| tags\n| tag\n| tal\n| ta\n| tbidi\n| tbis\n| tbi\n| tbs\n| tb\n| tcldll\n| tc\n| tenc\n| termbidi\n| termencoding\n| termguicolors\n| termwinkey\n| termwinscroll\n| termwinsize\n| termwintype\n| term\n| terse\n| textauto\n| textmode\n| textwidth\n| tfu\n| tf\n| tgc\n| tgst\n| thesaurus\n| tildeop\n| timeoutlen\n| timeout\n| titlelen\n| titleold\n| titlestring\n| title\n| tl\n| tm\n| toolbariconsize\n| toolbar\n| top\n| to\n| tpm\n| tr\n| tsl\n| tsr\n| ts\n| ttimeoutlen\n| ttimeout\n| ttm\n| ttybuiltin\n| ttyfast\n| ttymouse\n| ttym\n| ttyscroll\n| ttytype\n| tty\n| twk\n| twsl\n| tws\n| twt\n| tw\n| tx\n| uc\n| udf\n| udir\n| ul\n| undodir\n| undofile\n| undolevels\n| undoreload\n| updatecount\n| updatetime\n| ur\n| ut\n| varsofttabstop\n| vartabstop\n| vbs\n| vb\n| vdir\n| verbosefile\n| verbose\n| ve\n| vfile\n| viewdir\n| viewoptions\n| vif\n| viminfofile\n| viminfo\n| virtualedit\n| visualbell\n| vi\n| vop\n| vsts\n| vts\n| wak\n| warn\n| wa\n| wb\n| wcm\n| wcr\n| wc\n| wd\n| weirdinvert\n| wfh\n| wfw\n| whichwrap\n| wh\n| wic\n| wig\n| wildcharm\n| wildchar\n| wildignorecase\n| wildignore\n| wildmenu\n| wildmode\n| wildoptions\n| wim\n| winaltkeys\n| wincolor\n| window\n| winfixheight\n| winfixwidth\n| winheight\n| winminheight\n| winminwidth\n| winptydll\n| winwidth\n| wiv\n| wiw\n| wi\n| wmh\n| wmnu\n| wmw\n| wm\n| wop\n| wrapmargin\n| wrapscan\n| wrap\n| writeany\n| writebackup\n| writedelay\n| write\n| ws\n| ww\n) \\b"},"vimPattern":{"name":"support.function.vimPattern.viml","match":"(?x) \\b\n( end\n| skip\n| start\n) \\b"},"vimStdPlugin":{"name":"support.class.stdplugin.viml","match":"(?x) \\b\n( Arguments\n| Break\n| Cfilter\n| Clear\n| Continue\n| DiffOrig\n| Evaluate\n| Finish\n| Gdb\n| Lfilter\n| Man\n| N\n| Next\n| Over\n| P\n| Print\n| Program\n| Run\n| Source\n| Step\n| Stop\n| S\n| TOhtml\n| TermdebugCommand\n| Termdebug\n| Winbar\n| XMLent\n| XMLns\n) \\b"},"vimSynCase":{"name":"support.function.vimSynCase.viml","match":"(?x) \\b\n( ignore\n| match\n) \\b"},"vimSynType":{"name":"support.function.vimSynType.viml","match":"(?x) \\b\n( case\n| clear\n| cluster\n| enable\n| include\n| iskeyword\n| keyword\n| list\n| manual\n| match\n| off\n| on\n| region\n| reset\n| sync\n) \\b"},"vimSyncC":{"name":"support.function.vimSyncC.viml","match":"(?x) \\b\n( ccomment\n| clear\n| fromstart\n) \\b"},"vimSyncLinecont":{"name":"support.function.vimSyncLinecont.viml","match":"(?x) \\b\n( linecont\n) \\b"},"vimSyncMatch":{"name":"support.function.vimSyncMatch.viml","match":"(?x) \\b\n( match\n) \\b"},"vimSyncNone":{"name":"support.function.vimSyncNone.viml","match":"(?x) \\b\n( NONE\n) \\b"},"vimSyncRegion":{"name":"support.function.vimSyncRegion.viml","match":"(?x) \\b\n( region\n) \\b"},"vimTodo":{"name":"support.constant.${1:/downcase}.viml","match":"(?x) \\b\n( COMBAK\n| FIXME\n| TODO\n| XXX\n) \\b"},"vimUserAttrbCmplt":{"name":"support.function.vimUserAttrbCmplt.viml","match":"(?x) \\b\n( augroup\n| behave\n| buffer\n| color\n| command\n| compiler\n| cscope\n| customlist\n| custom\n| dir\n| environment\n| event\n| expression\n| file_in_path\n| filetype\n| file\n| function\n| help\n| highlight\n| history\n| locale\n| mapping\n| menu\n| option\n| packadd\n| shellcmd\n| sign\n| syntax\n| syntime\n| tag_listfiles\n| tag\n| user\n| var\n) \\b"},"vimUserAttrbKey":{"name":"support.function.vimUserAttrbKey.viml","match":"(?x) \\b\n( bang?\n| bar\n| com\n| complete\n| cou\n| count\n| n\n| nargs\n| ra\n| range\n| re\n| register\n) \\b"},"vimUserCommand":{"name":"support.function.vimUserCommand.viml","match":"(?x) \\b\n( com\n| command\n) \\b"}}}
|
1
|
+
{"name":"VimL","scopeName":"source.viml","patterns":[{"name":"meta.file-archive.vimball","begin":"\\A(?=\" Vimball Archiver)","end":"(?=A)B","patterns":[{"name":"meta.file-record.help-file.vimball","contentName":"text.embedded.vim-help","begin":"^(.*?\\S.*?\\.txt)(\\t)(\\[{3}1)(?=$)","end":"(?!\\G)(?=^.*?\\S.*?\\t\\[{3}1$)","patterns":[{"begin":"\\G","end":"^(\\d+$)?","endCaptures":{"0":{"name":"comment.ignored.line-count.viml"},"1":{"name":"sublimelinter.gutter-mark"}}},{"include":"text.vim-help"}],"beginCaptures":{"0":{"name":"markup.heading.1.vimball"},"1":{"name":"entity.name.file.path.vimball"},"2":{"name":"punctuation.whitespace.tab.separator.vimball"},"3":{"name":"punctuation.definition.header.vimball"}}},{"name":"meta.file-record.vimball.viml","begin":"^(.*?\\S.*?[ \\t]*?)(\\t)(\\[{3}1)(?=$)","end":"(?!\\G)(?=^.*?\\S.*?\\t\\[{3}1$)","patterns":[{"begin":"\\G","end":"^(\\d+$)?","endCaptures":{"0":{"name":"comment.ignored.line-count.viml"},"1":{"name":"sublimelinter.gutter-mark"}}},{"include":"#main"}],"beginCaptures":{"0":{"name":"markup.heading.1.vimball"},"1":{"name":"entity.name.file.path.vimball"},"2":{"name":"punctuation.whitespace.tab.separator.vimball"},"3":{"name":"punctuation.definition.header.vimball"}}},{"include":"#main"}]},{"include":"#main"}],"repository":{"assignment":{"patterns":[{"name":"keyword.operator.assignment.compound.viml","match":"[-+.]="},{"name":"keyword.operator.assignment.viml","match":"="}]},"auCmd":{"name":"meta.autocmd.viml","match":"\\b(autocmd|au)(!)?\\b\\s+(?!\\*)(\\S+)\\s+(\\S+)(?:\\s+(\\+\\+(nested|once)))?","captures":{"1":{"name":"storage.type.autocmd.viml"},"2":{"name":"storage.modifier.force.viml"},"3":{"name":"meta.events-list.viml","patterns":[{"include":"#main"}]},"4":{"name":"string.unquoted.autocmd-suffix-list.viml"},"5":{"name":"storage.modifier.$6.viml"}}},"auGroup":{"patterns":[{"name":"meta.augroup.viml","begin":"\\b(augroup|aug)(!)?\\b\\s*([\\w#]+)","end":"\\b(\\1)\\s+(END)\\b","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.function.viml"},"2":{"name":"storage.modifier.force.viml"},"3":{"name":"entity.name.function.viml"}},"endCaptures":{"1":{"name":"storage.type.augroup.viml"},"2":{"name":"keyword.control.end"}}}]},"commentInnards":{"patterns":[{"include":"#modelines"},{"include":"#todo"}]},"comments":{"patterns":[{"name":"comment.line.quotes.viml","contentName":"support.constant.field.viml","begin":"^\\s*(\")(?=(\\s*[A-Z]\\w+)+:)","end":"((:))(.*)$","beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}},"endCaptures":{"1":{"name":"support.constant.field.viml"},"2":{"name":"punctuation.separator.key-value.colon.viml"},"3":{"patterns":[{"include":"#commentInnards"}]}}},{"name":"comment.line.quotes.viml","begin":"^\\s*(\")","end":"$","patterns":[{"include":"#commentInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}}},{"name":"comment.inline.quotes.viml","begin":"(?\u003c!^)\\s*(\")(?=[^\\n\"]*$)","end":"$","patterns":[{"include":"#commentInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.viml"}}}]},"escape":{"patterns":[{"include":"#escapedCodePoint"},{"include":"#escapedKey"},{"name":"constant.character.escape.backspace.viml","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.escape.viml","match":"(\\\\)e","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.form-feed.viml","match":"(\\\\)f","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.newline.viml","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.return.viml","match":"(\\\\)r","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.tab.viml","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.backslash.viml","match":"(\\\\)\\1","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.quote.viml","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.viml"}}},{"name":"constant.character.escape.other.viml","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.viml"}}}]},"escapedCodePoint":{"patterns":[{"name":"constant.character.escape.codepoint.hex.short.viml","match":"(\\\\)[xX][0-9A-Fa-f]{1,2}","captures":{"1":{"name":"punctuation.definition.escape.backslash.viml"}}},{"name":"constant.character.escape.codepoint.hex.long.viml","match":"(\\\\)(?:u[0-9A-Fa-f]{1,4}|U[0-9A-Fa-f]{1,8})","captures":{"1":{"name":"punctuation.definition.escape.backslash.viml"}}},{"name":"constant.character.escape.codepoint.octal.viml","match":"(\\\\)([0-7]{1,3})","captures":{"1":{"name":"punctuation.definition.escape.backslash.viml"}}}]},"escapedKey":{"name":"constant.character.escape.keymapping.viml","match":"(\\\\\u003c\\*?)(?:[^\"\u003e\\\\]|\\\\.)+(\u003e)","captures":{"1":{"name":"punctuation.definition.escape.key.begin.viml"},"2":{"name":"punctuation.definition.escape.key.end.viml"}}},"expr":{"patterns":[{"name":"keyword.operator.logical.viml","match":"[\u0026|=]{2}[?#]?|[!\u003e\u003c]=[#?]?|[=!]~(?!\\/)[#?]?|[\u003e\u003c][#?*]|\\b(?:isnot|is)\\b|\\\\|[-+%*]"},{"name":"keyword.operator.logical.viml","match":"\\s[\u003e\u003c]\\s"},{"name":"storage.modifier.force.viml","match":"(?\u003c=\\S)!"},{"name":"keyword.operator.logical.not.viml","match":"!(?=\\S)"},{"name":"punctuation.expression.bracket.curly.begin.viml","match":"{"},{"name":"punctuation.expression.bracket.curly.end.viml","match":"}"},{"name":"punctuation.expression.bracket.square.begin.viml","match":"\\["},{"name":"punctuation.expression.bracket.square.end.viml","match":"\\]"},{"name":"punctuation.expression.bracket.round.begin.viml","match":"\\("},{"name":"punctuation.expression.bracket.round.end.viml","match":"\\)"},{"name":"punctuation.separator.statement.viml","match":"\\|"},{"name":"punctuation.separator.comma.viml","match":","},{"name":"punctuation.separator.colon.viml","match":":"},{"name":"keyword.operator.rest.viml","match":"\\.{3}"},{"name":"punctuation.delimiter.property.dot.viml","match":"\\."},{"name":"punctuation.definition.option.viml","match":"\u0026(?=\\w+)"}]},"extraVimFunc":{"name":"support.function.viml","match":"(?x)\\b\n\t((?:echo(?:hl?)?)|exe(?:c(?:ute)?)?|[lxvn]?noremap|smapc(?:lear)?|mapmode|xmap|(?:[xs]un|snore)map\n\t|Plugin|autocmd|[cinvo]?(?:un|nore)?(?:map|menu)|(?:range)?go(?:to)?|(?:count)?(?:pop?|tag?|tn(?:ext)?|tp(?:revious)?|tr(?:ewind)?)\n\t|(?:range)?(?:s(?:ubstitute)?|ret(?:ab)?|g(?:lobal)?)|unm(?:ap)?|map_l|mapc(?:lear)?|N?buffer|N?bnext|N?bNext|N?bprevious|N?bmod\n\t|ab(?:breviate)?|norea(?:bbrev)?|[ic](?:un|nore)?ab|split_f|rangefold|[ic](?:un|nore)?ab|[ic]abbrev|edit_f|next_f|[vcoxli]u\n\t|(?:range)?(?:w(?:rite)?|up(?:date)?)|sar|cno|[vl]n|[io]?no|[xn]n|snor|lm(?:ap)?|lunmap|lear|[vnx]m|om|[ci]m|ap|nun|sunm)\n\\b"},"extraVimOptions":{"name":"support.variable.option.viml","match":"(?x)\\b (no)?\n\t(altwerase|bf|escapetime|extended|filec|iclower|keytime|leftright|li|lock|noprint|octal|recdir|searchincr\n\t|shellmeta|ttywerase|windowname|wl|wraplen)\n\\b"},"filetype":{"match":"\\b(?:(setf|setfiletype)(?:\\s+(FALLBACK))?\\s+|(ft|filetype)\\s*(=))([.\\w]+)","captures":{"1":{"name":"support.function.command.viml"},"2":{"name":"support.variable.option.viml"},"3":{"name":"storage.modifier.fallback.viml"},"4":{"name":"keyword.operator.assignment.viml"},"5":{"name":"variable.parameter.function.filetype.viml"}}},"funcDef":{"patterns":[{"name":"storage.function.viml","match":"\\b(fu(nc?|nction)?|end(f|fu|func?|function)?)\\b"},{"name":"entity.name.function.viml","match":"(?:([sSgGbBwWtTlL]?(:))?[\\w#]+)(?=\\()","captures":{"1":{"name":"storage.modifier.scope.viml"},"2":{"name":"punctuation.definition.scope.key-value.viml"}}},{"name":"storage.modifier.$1.function.viml","match":"(?\u003c=\\)|\\s)(abort|dict|closure|range)(?=\\s|$)"}]},"hashbang":{"name":"comment.line.shebang.viml","begin":"\\A#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.viml"}}},"highlightLink":{"match":"(?x)^\\s* (:)? \\s* (?# 1: punctuation.separator.key-value.colon.viml) (hi|highlight) (?# 2: support.function.highlight.viml) (!)? (?# 3: storage.modifier.force.viml) (?:\\s+(def|default))? (?# 4: support.function.highlight-default.viml) (?:\\s+(link)) (?# 5: support.function.highlight-link.viml) (?:\\s+([-\\w]+)) (?# 6: variable.parameter.group-name.viml) (?:\\s+(?:(NONE)|([-\\w]+)))?","captures":{"1":{"name":"punctuation.separator.key-value.colon.viml"},"2":{"name":"support.function.highlight.viml"},"3":{"name":"storage.modifier.force.viml"},"4":{"name":"support.function.highlight-default.viml"},"5":{"name":"support.function.highlight-link.viml"},"6":{"name":"variable.parameter.group-name.viml"},"7":{"name":"support.constant.highlighting.viml"},"8":{"name":"variable.parameter.group-name.viml"}}},"keyword":{"patterns":[{"name":"keyword.control.$1.viml","match":"\\b(if|while|for|return|try|catch|finally|finish|end(if|for|while|try)?|else(if)?|do|in|:)\\b"},{"name":"keyword.operator.$1.viml","match":"\\b(unlet)\\b"},{"name":"storage.type.let.viml","match":"\\blet\\b"},{"name":"support.constant.vimball.use.viml","match":"(?\u003c=^|\\n)UseVimball(?=\\s*$)"}]},"keywordLists":{"patterns":[{"include":"#vimTodo"},{"include":"#vimAugroupKey"},{"include":"#vimAutoEvent"},{"include":"#vimBehaveModel"},{"include":"#vimCommand"},{"include":"#vimFTCmd"},{"include":"#vimFTOption"},{"include":"#vimFgBgAttrib"},{"include":"#vimFuncKey"},{"include":"#vimFuncName"},{"include":"#vimGroup"},{"include":"#vimGroupSpecial"},{"include":"#vimHLGroup"},{"include":"#vimHiAttrib"},{"include":"#vimHiClear"},{"include":"#vimHiCtermColor"},{"include":"#vimMapModKey"},{"include":"#vimOption"},{"include":"#vimPattern"},{"include":"#vimStdPlugin"},{"include":"#vimSynCase"},{"include":"#vimSynType"},{"include":"#vimSyncC"},{"include":"#vimSyncLinecont"},{"include":"#vimSyncMatch"},{"include":"#vimSyncNone"},{"include":"#vimSyncRegion"},{"include":"#vimUserAttrbCmplt"},{"include":"#vimUserAttrbKey"},{"include":"#vimUserCommand"},{"include":"#vimErrSetting"}]},"main":{"patterns":[{"include":"#vimTodo"},{"include":"#comments"},{"include":"#modelines"},{"include":"#pathname"},{"include":"#escape"},{"include":"#strings"},{"include":"#hashbang"},{"include":"#numbers"},{"include":"#syntax"},{"include":"#highlightLink"},{"include":"#funcDef"},{"include":"#auCmd"},{"include":"#auGroup"},{"include":"#parameter"},{"include":"#assignment"},{"include":"#expr"},{"include":"#keyword"},{"include":"#register"},{"include":"#filetype"},{"include":"#variable"},{"include":"#supportType"},{"include":"#supportVariable"},{"include":"#extraVimOptions"},{"include":"#extraVimFunc"},{"include":"#keywordLists"}]},"modelines":{"patterns":[{"name":"string.other.modeline.viml","begin":"(?:(?:\\s|^)vi(?:m[\u003c=\u003e]?\\d+|m)?|[\\t\\x20]ex):\\s*(?=set?\\s)","end":":|$","patterns":[{"include":"#main"}]},{"name":"string.other.modeline.viml","begin":"(?:(?:\\s|^)vi(?:m[\u003c=\u003e]?\\d+|m)?|[\\t\\x20]ex):","end":"$","patterns":[{"include":"#main"}]}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.short.viml","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.hex.long.viml","match":"0[zZ][0-9A-Fa-f]+"},{"name":"constant.numeric.float.exponential.viml","match":"(?\u003c!\\w)-?\\d+\\.\\d+[eE][-+]?\\d+"},{"name":"constant.numeric.float.viml","match":"(?\u003c!\\w)-?\\d+\\.\\d+"},{"name":"constant.numeric.integer.viml","match":"(?\u003c!\\w)-?\\d+"}]},"parameter":{"name":"meta.parameter.viml","match":"(-)(\\w+)(=)","captures":{"1":{"name":"punctuation.definition.parameter.viml"},"2":{"name":"entity.name.parameter.viml"},"3":{"name":"punctuation.assignment.parameter.viml"}}},"pathname":{"name":"constant.pathname.viml","begin":"~/","end":"(?=\\s)"},"regex":{"name":"string.regexp.viml","begin":"(?\u003c=\\s|=)(\\S)","end":"$|(\\1)(\\S*)","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.viml"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.viml"},"2":{"patterns":[{"include":"#regexOffset"}]}}},"regexInnards":{"patterns":[{"begin":"\\[","end":"\\]|$","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.character-class.begin.viml"}},"endCaptures":{"0":{"name":"punctuation.definition.character-class.end.viml"}}},{"name":"constant.character.escape.viml","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.backslash.escape.viml"}}}]},"regexOffset":{"name":"meta.pattern-offset.viml","match":"(ms|me|hs|he|rs|re|lc)(=)(?:(\\d+)|([se])(?:([-+])(\\d+))?)(,)?","captures":{"1":{"name":"constant.language.pattern-offset.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"constant.numeric.integer.viml"},"4":{"name":"constant.language.pattern-position.viml"},"5":{"name":"keyword.operator.arithmetic.viml"},"6":{"name":"constant.numeric.integer.viml"},"7":{"name":"punctuation.separator.comma.viml"}}},"register":{"name":"variable.other.register.viml","match":"(@)([-\"A-Za-z\\d:.%#=*+~_/])","captures":{"1":{"name":"punctuation.definition.register.viml"}}},"strings":{"patterns":[{"name":"string.quoted.double.empty.viml","match":"(\")(\")","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.single.empty.viml","match":"(')(')","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.double.viml","match":"(\")((?:[^\\\\\"]|\\\\.)*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"patterns":[{"include":"#escape"}]},"3":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.quoted.single.viml","match":"(')((?:[^']|'')*)(')","captures":{"1":{"name":"punctuation.definition.string.begin.viml"},"2":{"patterns":[{"name":"constant.character.escape.quotes.viml","match":"''"}]},"3":{"name":"punctuation.definition.string.end.viml"}}},{"name":"string.regexp.interpolated.viml","match":"(/)(?:\\\\\\\\|\\\\/|[^\\n/])*(/)","captures":{"1":{"name":"punctuation.section.regexp.begin.viml"},"2":{"name":"punctuation.section.regexp.end.viml"}}}]},"supportType":{"name":"entity.tag.name.viml","match":"(\u003c).*?(\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.viml"},"2":{"name":"punctuation.definition.bracket.angle.end.viml"}}},"supportVariable":{"name":"support.variable.viml","match":"\\b(?:am(?:enu)?|(?:hl|inc)?search|[Bb]uf(?:[Nn]ew[Ff]ile|[Rr]ead)?|[Ff]ile[Tt]ype)\\b"},"syntax":{"name":"meta.syntax-item.viml","begin":"^\\s*(:)?(?:(VimFold\\w)\\s+)?\\s*(syntax|syn?)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s+(case)(?:\\s+(match|ignore))?(?=\\s|$)","captures":{"1":{"name":"support.function.syntax-case.viml"},"2":{"name":"support.constant.$2-case.viml"}}},{"match":"\\G\\s+(spell)(?:\\s+(toplevel|notoplevel|default))?(?=\\s|$)","captures":{"1":{"name":"support.function.syntax-spellcheck.viml"},"2":{"name":"support.constant.$2-checking.viml"}}},{"contentName":"keyword.other.syntax-definition.viml","begin":"\\G\\s+(keyword)(?:\\s+([-\\w]+))?","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"#assignment"},{"include":"#expr"}],"beginCaptures":{"1":{"name":"support.function.syntax-keywords.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(match)(?:\\s+([-\\w]+))?\\s*","end":"(?=$)","patterns":[{"include":"#syntaxRegex"}],"beginCaptures":{"1":{"name":"support.function.syntax-match.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(region)(?:\\s+([-\\w]+))?","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"#main"}],"beginCaptures":{"1":{"name":"support.function.syntax-region.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"begin":"\\G\\s+(cluster)(?:\\s+([-\\w]+))?(?=\\s|$)","end":"(?=$)","patterns":[{"include":"#syntaxOptions"},{"include":"#main"}],"beginCaptures":{"1":{"name":"support.function.syntax-cluster.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"match":"\\G\\s+(conceal)(?:\\s+(on|off)(?=\\s|$))?","captures":{"1":{"name":"support.function.syntax-conceal.viml"},"2":{"name":"support.constant.boolean.$2.viml"}}},{"match":"\\G\\s+(include)(?:\\s+((@)?[-\\w]+))?(?:\\s+(\\S+))?","captures":{"1":{"name":"support.function.syntax-include.viml"},"2":{"name":"variable.parameter.group-name.viml"},"3":{"name":"punctuation.definition.group-reference.viml"},"4":{"name":"string.unquoted.filename.viml","patterns":[{"include":"#supportType"}]}}},{"begin":"\\G\\s+(sync)(?=\\s|$)","end":"$","patterns":[{"match":"\\G\\s+(fromstart)(?=\\s|$)","captures":{"1":{"name":"support.constant.sync-$1.viml"}}},{"match":"\\G\\s+(ccomment|clear)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?","captures":{"1":{"name":"support.constant.sync-$1.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"match":"\\G\\s+(minlines|lines)\\s*(=)(\\d*)","captures":{"1":{"name":"support.constant.sync-mode.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"constant.numeric.integer.viml"}}},{"match":"(?x)\\G\\s+(match|region)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?","captures":{"1":{"name":"support.constant.sync-mode.viml"},"2":{"name":"variable.parameter.group-name.viml"},"3":{"name":"support.constant.sync-mode-location.viml"}}},{"begin":"(?\u003c=\\s)(groupt?here|linecont)(?:\\s+(?![-\\w]+\\s*=)([-\\w]+))?(?=\\s|$)","end":"(?=$)","patterns":[{"include":"#syntaxRegex"}],"beginCaptures":{"1":{"name":"support.constant.sync-match.viml"},"2":{"name":"variable.parameter.group-name.viml"}}},{"include":"#syntaxOptions"}],"beginCaptures":{"1":{"name":"support.function.syntax-sync.viml"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.colon.viml"},"2":{"name":"support.function.fold-command.viml"},"3":{"name":"storage.type.syntax-item.viml"}}},"syntaxOptions":{"patterns":[{"name":"meta.syntax-item.pattern-argument.viml","begin":"(?\u003c=\\s)(start|skip|end)(?:\\s*(=))","end":"(?=$|\\s)","patterns":[{"include":"#regex"}],"beginCaptures":{"1":{"name":"support.constant.$1-pattern.viml"},"2":{"name":"punctuation.assignment.parameter.viml"}}},{"name":"meta.syntax-item.argument.viml","match":"(?x)(?\u003c=\\s)\n((?:matchgroup|contains|containedin|nextgroup|add|remove|minlines|linebreaks|maxlines)(?=\\s*=)\n|(?:cchar|conceal|concealends|contained|display|excludenl|extend|fold|keepend|oneline|skipempty|skipnl|skipwhite|transparent))\n(?:(?=$|\\s)|\\s*(=)(\\S*)?)","captures":{"1":{"name":"support.constant.syntax-$1.viml"},"2":{"name":"punctuation.assignment.parameter.viml"},"3":{"name":"string.unquoted.syntax-option.viml","patterns":[{"include":"#numbers"},{"name":"punctuation.separator.comma.viml","match":","},{"name":"punctuation.definition.group-reference.viml","match":"@"}]}}}]},"syntaxRegex":{"patterns":[{"include":"#syntaxOptions"},{"name":"string.regexp.viml","begin":"(?\u003c=\\s)(\\S)","end":"(?:(\\1)(\\S*)(.*))?$","patterns":[{"include":"#regexInnards"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.viml"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.viml"},"2":{"patterns":[{"include":"#regexOffset"}]},"3":{"patterns":[{"include":"#syntaxOptions"},{"include":"#main"}]}}}]},"variable":{"patterns":[{"name":"variable.language.self.viml","match":"\\b(self)\\b"},{"name":"support.variable.environment.viml","match":"(\\$)\\w+","captures":{"1":{"name":"punctuation.definition.variable.viml"}}},{"name":"variable.other.viml","match":"(\u0026?)(?:([sSgGbBwWlLaAvV](:))|[@$]|\u0026(?!\u0026))\\w*","captures":{"1":{"name":"punctuation.definition.reference.viml"},"2":{"name":"storage.modifier.scope.viml"},"3":{"name":"punctuation.definition.scope.key-value.viml"}}}]},"vimAugroupKey":{"name":"support.function.vimAugroupKey.viml","match":"(?x) \\b\n( aug\n| augroup\n) \\b"},"vimAutoEvent":{"name":"support.function.auto-event.viml","match":"(?xi) \\b\n( BufAdd\n| BufCreate\n| BufDelete\n| BufEnter\n| BufFilePost\n| BufFilePre\n| BufHidden\n| BufLeave\n| BufNewFile\n| BufNew\n| BufReadCmd\n| BufReadPost\n| BufReadPre\n| BufRead\n| BufUnload\n| BufWinEnter\n| BufWinLeave\n| BufWipeout\n| BufWriteCmd\n| BufWritePost\n| BufWritePre\n| BufWrite\n| CmdUndefined\n| CmdlineChanged\n| CmdlineEnter\n| CmdlineLeave\n| CmdwinEnter\n| CmdwinLeave\n| ColorSchemePre\n| ColorScheme\n| CompleteChanged\n| CompleteDonePre\n| CompleteDone\n| CursorHoldI\n| CursorHold\n| CursorMovedI\n| CursorMoved\n| DiffUpdated\n| DirChanged\n| EncodingChanged\n| ExitPre\n| FileAppendCmd\n| FileAppendPost\n| FileAppendPre\n| FileChangedRO\n| FileChangedShellPost\n| FileChangedShell\n| FileEncoding\n| FileReadCmd\n| FileReadPost\n| FileReadPre\n| FileType\n| FileWriteCmd\n| FileWritePost\n| FileWritePre\n| FilterReadPost\n| FilterReadPre\n| FilterWritePost\n| FilterWritePre\n| FocusGained\n| FocusLost\n| FuncUndefined\n| GUIEnter\n| GUIFailed\n| InsertChange\n| InsertCharPre\n| InsertEnter\n| InsertLeavePre\n| InsertLeave\n| MenuPopup\n| OptionSet\n| QuickFixCmdPost\n| QuickFixCmdPre\n| QuitPre\n| RemoteReply\n| SafeStateAgain\n| SafeState\n| SessionLoadPost\n| ShellCmdPost\n| ShellFilterPost\n| SigUSR1\n| SourceCmd\n| SourcePost\n| SourcePre\n| SpellFileMissing\n| StdinReadPost\n| StdinReadPre\n| SwapExists\n| Syntax\n| TabClosed\n| TabEnter\n| TabLeave\n| TabNew\n| TermChanged\n| TermResponse\n| TerminalOpen\n| TerminalWinOpen\n| TextChangedI\n| TextChangedP\n| TextChanged\n| TextYankPost\n| User\n| VimEnter\n| VimLeavePre\n| VimLeave\n| VimResized\n| VimResume\n| VimSuspend\n| WinEnter\n| WinLeave\n| WinNew\n) \\b"},"vimBehaveModel":{"name":"support.function.vimBehaveModel.viml","match":"(?x) \\b\n( mswin\n| xterm\n) \\b"},"vimCommand":{"name":"support.function.command.viml","match":"(?x) \\b\n( abc\n| abclear\n| abo\n| aboveleft\n| ab\n| addd\n| all?\n| ar\n| args\n| arga\n| argadd\n| argd\n| argdelete\n| argdo\n| arge\n| argedit\n| argg\n| argglobal\n| argl\n| arglocal\n| argu\n| argument\n| as\n| ascii\n| au\n| a\n| bN\n| bNext\n| b\n| buffer\n| ba\n| ball\n| badd?\n| balt\n| bd\n| bdelete\n| bel\n| belowright\n| bf\n| bfirst\n| bl\n| blast\n| bm\n| bmodified\n| bn\n| bnext\n| bo\n| botright\n| bp\n| bprevious\n| br\n| brewind\n| break?\n| breaka\n| breakadd\n| breakd\n| breakdel\n| breakl\n| breaklist\n| bro\n| browse\n| bufdo\n| buffers\n| bun\n| bunload\n| bw\n| bwipeout\n| cN\n| cNext\n| cNf\n| cNfile\n| c\n| change\n| cabc\n| cabclear\n| cabo\n| cabove\n| cad\n| caddbuffer\n| cadde\n| caddexpr\n| caddf\n| caddfile\n| caf\n| cafter\n| call?\n| cat\n| catch\n| ca\n| cb\n| cbuffer\n| cbe\n| cbefore\n| cbel\n| cbelow\n| cbo\n| cbottom\n| ccl\n| cclose\n| cc\n| cdo\n| cd\n| ce\n| center\n| cex\n| cexpr\n| cf\n| cfile\n| cfdo\n| cfir\n| cfirst\n| cg\n| cgetfile\n| cgetb\n| cgetbuffer\n| cgete\n| cgetexpr\n| changes\n| chd\n| chdir\n| che\n| checkpath\n| checkt\n| checktime\n| chi\n| chistory\n| cl\n| clist\n| cla\n| clast\n| class\n| cle\n| clearjumps\n| clo\n| close\n| cmapc\n| cmapclear\n| cn\n| cnext\n| cnew\n| cnewer\n| cnf\n| cnfile\n| cnor\n| co\n| copy\n| col\n| colder\n| colo\n| colorscheme\n| comc\n| comclear\n| comp\n| compiler\n| com\n| con\n| continue\n| conf\n| confirm\n| const?\n| copen?\n| cp\n| cprevious\n| cpf\n| cpfile\n| cq\n| cquit\n| cr\n| crewind\n| cscope\n| cstag\n| cs\n| cuna\n| cunabbrev\n| cun\n| cw\n| cwindow\n| d\n| delete\n| debugg\n| debuggreedy\n| debug\n| defc\n| defcompile\n| def\n| delc\n| delcommand\n| delel\n| delep\n| deletel\n| deletep\n| deletl\n| deletp\n| delf\n| delfunction\n| dell\n| delm\n| delmarks\n| delp\n| dep\n| di\n| display\n| dif\n| diffupdate\n| diffg\n| diffget\n| diffo\n| diffoff\n| diffp\n| diffpatch\n| diffput?\n| diffs\n| diffsplit\n| difft\n| diffthis\n| dig\n| digraphs\n| dir\n| disa\n| disassemble\n| dj\n| djump\n| dli\n| dlist\n| dl\n| doaut\n| doau\n| do\n| dp\n| dr\n| drop\n| ds\n| dsearch\n| dsp\n| dsplit\n| e\n| edit\n| earlier\n| ea\n| echoc\n| echoconsole\n| echoe\n| echoerr\n| echom\n| echomsg\n| echon\n| ec\n| el\n| else\n| elseif?\n| em\n| emenu\n| en\n| endif\n| enddef\n| endf\n| endfunction\n| endfor?\n| endt\n| endtry\n| endw\n| endwhile\n| enew?\n| eval\n| exit?\n| export\n| exp\n| exu\n| exusage\n| ex\n| f\n| file\n| files\n| filetype\n| filet\n| filt\n| filter\n| find?\n| fina\n| finally\n| fini\n| finish\n| fir\n| first\n| fix\n| fixdel\n| fo\n| fold\n| foldc\n| foldclose\n| foldd\n| folddoopen\n| folddoc\n| folddoclosed\n| foldo\n| foldopen\n| for\n| fu\n| function\n| go\n| goto\n| gr\n| grep\n| grepa\n| grepadd\n| gui\n| gvim\n| g\n| h\n| help\n| ha\n| hardcopy\n| helpc\n| helpclose\n| helpf\n| helpfind\n| helpg\n| helpgrep\n| helpt\n| helptags\n| hide?\n| his\n| history\n| hi\n| iabc\n| iabclear\n| ia\n| if\n| ij\n| ijump\n| il\n| ilist\n| imapc\n| imapclear\n| import\n| imp\n| inor\n| interface\n| intro\n| in\n| is\n| isearch\n| isp\n| isplit\n| iuna\n| iunabbrev\n| i\n| j\n| join\n| ju\n| jumps\n| kee\n| keepmarks\n| keepalt\n| keepa\n| keepj\n| keepjumps\n| keepp\n| keeppatterns\n| k\n| lN\n| lNext\n| lNf\n| lNfile\n| l\n| list\n| la\n| last\n| lab\n| labove\n| lad\n| laddexpr\n| laddb\n| laddbuffer\n| laddf\n| laddfile\n| laf\n| lafter\n| lan\n| language\n| later\n| lat\n| lb\n| lbuffer\n| lbe\n| lbefore\n| lbel\n| lbelow\n| lbo\n| lbottom\n| lcd?\n| lch\n| lchdir\n| lcl\n| lclose\n| lcscope\n| lcs\n| ldo?\n| le\n| left\n| lefta\n| leftabove\n| leg\n| legacy\n| lex\n| lexpr\n| lf\n| lfile\n| lfdo\n| lfir\n| lfirst\n| lg\n| lgetfile\n| lgetb\n| lgetbuffer\n| lgete\n| lgetexpr\n| lgr\n| lgrep\n| lgrepa\n| lgrepadd\n| lh\n| lhelpgrep\n| lhi\n| lhistory\n| lla\n| llast\n| lli\n| llist\n| ll\n| lmake?\n| lmapc\n| lmapclear\n| lma\n| lne\n| lnext\n| lnew\n| lnewer\n| lnf\n| lnfile\n| lo\n| loadview\n| loadkeymap\n| loadk\n| loc\n| lockmarks\n| lockv\n| lockvar\n| lol\n| lolder\n| lop\n| lopen\n| lp\n| lprevious\n| lpf\n| lpfile\n| lr\n| lrewind\n| ls\n| lt\n| ltag\n| luado\n| luafile\n| lua\n| lv\n| lvimgrep\n| lvimgrepa\n| lvimgrepadd\n| lw\n| lwindow\n| m\n| move\n| ma\n| mark\n| make?\n| marks\n| mat\n| match\n| menut\n| menutranslate\n| mes\n| messages\n| mk\n| mkexrc\n| mks\n| mksession\n| mksp\n| mkspell\n| mkv\n| mkvimrc\n| mkview?\n| mode?\n| mz\n| mzscheme\n| mzf\n| mzfile\n| n\n| next\n| nb\n| nbkey\n| nbc\n| nbclose\n| nbs\n| nbstart\n| new\n| nmapc\n| nmapclear\n| noautocmd\n| noa\n| noh\n| nohlsearch\n| nore\n| nor\n| nos\n| noswapfile\n| nu\n| number\n| o\n| open\n| ol\n| oldfiles\n| omapc\n| omapclear\n| on\n| only\n| opt\n| options\n| ownsyntax\n| p\n| print\n| pa\n| packadd\n| packl\n| packloadall\n| pc\n| pclose\n| pe\n| perl\n| ped\n| pedit\n| perldo?\n| pop?\n| popup?\n| pp\n| ppop\n| pre\n| preserve\n| prev\n| previous\n| prof\n| profile\n| profd\n| profdel\n| promptf\n| promptfind\n| promptr\n| promptrepl\n| pro\n| ps\n| psearch\n| ptN\n| ptNext\n| ptag?\n| ptf\n| ptfirst\n| ptj\n| ptjump\n| ptl\n| ptlast\n| ptn\n| ptnext\n| ptp\n| ptprevious\n| ptr\n| ptrewind\n| pts\n| ptselect\n| put?\n| pwd?\n| py3do\n| py3f\n| py3file\n| py3\n| py\n| python\n| pydo\n| pyf\n| pyfile\n| python3\n| pythonx\n| pyxdo\n| pyxfile\n| pyx\n| q\n| quit\n| qa\n| qall\n| quita\n| quitall\n| r\n| read\n| rec\n| recover\n| redo?\n| redir?\n| redr\n| redraw\n| redraws\n| redrawstatus\n| redrawt\n| redrawtabline\n| reg\n| registers\n| res\n| resize\n| ret\n| retab\n| retu\n| return\n| rew\n| rewind\n| ri\n| right\n| rightb\n| rightbelow\n| ru\n| runtime\n| ruby?\n| rubydo?\n| rubyf\n| rubyfile\n| rundo\n| rv\n| rviminfo\n| sIc\n| sIe\n| sIg\n| sIl\n| sIn\n| sIp\n| sIr\n| sI\n| sN\n| sNext\n| sa\n| sargument\n| sall?\n| san\n| sandbox\n| sav\n| saveas\n| sbN\n| sbNext\n| sb\n| sbuffer\n| sba\n| sball\n| sbf\n| sbfirst\n| sbl\n| sblast\n| sbm\n| sbmodified\n| sbn\n| sbnext\n| sbp\n| sbprevious\n| sbr\n| sbrewind\n| scI\n| sce\n| scg\n| sci\n| scl\n| scp\n| scr\n| scriptnames\n| scripte\n| scriptencoding\n| scriptv\n| scriptversion\n| scscope\n| scs\n| sc\n| set?\n| setf\n| setfiletype\n| setg\n| setglobal\n| setl\n| setlocal\n| sf\n| sfind\n| sfir\n| sfirst\n| sgI\n| sgc\n| sge\n| sgi\n| sgl\n| sgn\n| sgp\n| sgr\n| sg\n| sh\n| shell\n| sic\n| sie\n| sign\n| sig\n| sil\n| silent\n| sim\n| simalt\n| sin\n| sip\n| sir\n| si\n| sl\n| sleep\n| sla\n| slast\n| sm\n| smagic\n| sm\n| smap\n| smenu\n| sme\n| smile\n| sn\n| snext\n| sno\n| snomagic\n| snoremenu\n| snoreme\n| so\n| source\n| sort?\n| sp\n| split\n| spe\n| spellgood\n| spelld\n| spelldump\n| spelli\n| spellinfo\n| spellr\n| spellrare\n| spellr\n| spellrepall\n| spellr\n| spellrrare\n| spellu\n| spellundo\n| spellw\n| spellwrong\n| spr\n| sprevious\n| srI\n| src\n| sre\n| srewind\n| srg\n| sri\n| srl\n| srn\n| srp\n| sr\n| st\n| stop\n| stag?\n| star\n| startinsert\n| startg\n| startgreplace\n| startr\n| startreplace\n| stj\n| stjump\n| stopi\n| stopinsert\n| sts\n| stselect\n| substitutepattern\n| substituterepeat\n| sun\n| sunhide\n| sunmenu\n| sunme\n| sus\n| suspend\n| sv\n| sview\n| sw\n| swapname\n| syncbind\n| sync\n| syntime\n| syn\n| sy\n| tN\n| tNext\n| tag?\n| tabN\n| tabNext\n| tabc\n| tabclose\n| tabdo?\n| tabe\n| tabedit\n| tabf\n| tabfind\n| tabfir\n| tabfirst\n| tabl\n| tablast\n| tabm\n| tabmove\n| tabn\n| tabnext\n| tabnew\n| tabo\n| tabonly\n| tabp\n| tabprevious\n| tabr\n| tabrewind\n| tabs\n| tab\n| tags\n| tcl?\n| tcd\n| tch\n| tchdir\n| tcldo?\n| tclf\n| tclfile\n| te\n| tearoff\n| ter\n| terminal\n| tf\n| tfirst\n| th\n| throw\n| tj\n| tjump\n| tl\n| tlast\n| tlmenu\n| tlm\n| tlnoremenu\n| tln\n| tlunmenu\n| tlu\n| tm\n| tmenu\n| tmap?\n| tmapc\n| tmapclear\n| tn\n| tnext\n| tno\n| tnoremap\n| to\n| topleft\n| tp\n| tprevious\n| tr\n| trewind\n| try\n| ts\n| tselect\n| tu\n| tunmenu\n| tunmap?\n| type\n| t\n| u\n| undo\n| una\n| unabbreviate\n| undoj\n| undojoin\n| undol\n| undolist\n| unh\n| unhide\n| unlo\n| unlockvar\n| unl\n| uns\n| unsilent\n| up\n| update\n| var\n| ve\n| version\n| verb\n| verbose\n| vert\n| vertical\n| vi\n| visual\n| view?\n| vim9\n| vim9cmd\n| vim9s\n| vim9script\n| vim\n| vimgrep\n| vimgrepa\n| vimgrepadd\n| viu\n| viusage\n| vmapc\n| vmapclear\n| vnew?\n| vs\n| vsplit\n| v\n| wN\n| wNext\n| w\n| write\n| wa\n| wall\n| wh\n| while\n| win\n| winsize\n| winc\n| wincmd\n| windo\n| winp\n| winpos\n| wn\n| wnext\n| wp\n| wprevious\n| wqa\n| wqall\n| wq\n| wundo\n| wv\n| wviminfo\n| x\n| xit\n| xa\n| xall\n| xmapc\n| xmapclear\n| xmenu\n| xme\n| xnoremenu\n| xnoreme\n| xprop\n| xr\n| xrestore\n| xunmenu\n| xunme\n| xwininfo\n| y\n| yank\n) \\b"},"vimErrSetting":{"name":"invalid.deprecated.legacy-setting.viml","match":"(?x) \\b\n( autoprint\n| beautify\n| bioskey\n| biosk\n| conskey\n| consk\n| flash\n| graphic\n| hardtabs\n| ht\n| mesg\n| noautoprint\n| nobeautify\n| nobioskey\n| nobiosk\n| noconskey\n| noconsk\n| noflash\n| nographic\n| nohardtabs\n| nomesg\n| nonovice\n| noopen\n| nooptimize\n| noop\n| noredraw\n| noslowopen\n| noslow\n| nosourceany\n| novice\n| now1200\n| now300\n| now9600\n| open\n| optimize\n| op\n| redraw\n| slowopen\n| slow\n| sourceany\n| w1200\n| w300\n| w9600\n) \\b"},"vimFTCmd":{"name":"support.function.vimFTCmd.viml","match":"(?x) \\b\n( filet\n| filetype\n) \\b"},"vimFTOption":{"name":"support.function.vimFTOption.viml","match":"(?x) \\b\n( detect\n| indent\n| off\n| on\n| plugin\n) \\b"},"vimFgBgAttrib":{"name":"support.constant.attribute.viml","match":"(?x) \\b\n( background\n| bg\n| fg\n| foreground\n| none\n) \\b"},"vimFuncKey":{"name":"support.function.vimFuncKey.viml","match":"(?x) \\b\n( def\n| fu\n| function\n) \\b"},"vimFuncName":{"name":"support.function.viml","match":"(?x) \\b\n( abs\n| acos\n| add\n| and\n| appendbufline\n| append\n| argc\n| argidx\n| arglistid\n| argv\n| asin\n| assert_beeps\n| assert_equalfile\n| assert_equal\n| assert_exception\n| assert_fails\n| assert_false\n| assert_inrange\n| assert_match\n| assert_nobeep\n| assert_notequal\n| assert_notmatch\n| assert_report\n| assert_true\n| atan2\n| atan\n| balloon_gettext\n| balloon_show\n| balloon_split\n| browsedir\n| browse\n| bufadd\n| bufexists\n| buflisted\n| bufloaded\n| bufload\n| bufname\n| bufnr\n| bufwinid\n| bufwinnr\n| byte2line\n| byteidxcomp\n| byteidx\n| call\n| ceil\n| ch_canread\n| ch_close_in\n| ch_close\n| ch_evalexpr\n| ch_evalraw\n| ch_getbufnr\n| ch_getjob\n| ch_info\n| ch_logfile\n| ch_log\n| ch_open\n| ch_readblob\n| ch_readraw\n| ch_read\n| ch_sendexpr\n| ch_sendraw\n| ch_setoptions\n| ch_status\n| changenr\n| char2nr\n| charclass\n| charcol\n| charidx\n| chdir\n| cindent\n| clearmatches\n| col\n| complete_add\n| complete_check\n| complete_info\n| complete\n| confirm\n| copy\n| cosh\n| cos\n| count\n| cscope_connection\n| cursor\n| debugbreak\n| deepcopy\n| deletebufline\n| delete\n| did_filetype\n| diff_filler\n| diff_hlID\n| echoraw\n| empty\n| environ\n| escape\n| eval\n| eventhandler\n| executable\n| execute\n| exepath\n| exists\n| expandcmd\n| expand\n| exp\n| extendnew\n| extend\n| feedkeys\n| filereadable\n| filewritable\n| filter\n| finddir\n| findfile\n| flattennew\n| flatten\n| float2nr\n| floor\n| fmod\n| fnameescape\n| fnamemodify\n| foldclosedend\n| foldclosed\n| foldlevel\n| foldtextresult\n| foldtext\n| foreground\n| fullcommand\n| funcref\n| function\n| garbagecollect\n| getbufinfo\n| getbufline\n| getbufvar\n| getchangelist\n| getcharmod\n| getcharpos\n| getcharsearch\n| getchar\n| getcmdline\n| getcmdpos\n| getcmdtype\n| getcmdwintype\n| getcompletion\n| getcurpos\n| getcursorcharpos\n| getcwd\n| getenv\n| getfontname\n| getfperm\n| getfsize\n| getftime\n| getftype\n| getimstatus\n| getjumplist\n| getline\n| getloclist\n| getmarklist\n| getmatches\n| getmousepos\n| getpid\n| getpos\n| getqflist\n| getreginfo\n| getregtype\n| getreg\n| gettabinfo\n| gettabvar\n| gettabwinvar\n| gettagstack\n| gettext\n| getwininfo\n| getwinposx\n| getwinposy\n| getwinpos\n| getwinvar\n| get\n| glob2regpat\n| globpath\n| glob\n| has_key\n| haslocaldir\n| hasmapto\n| has\n| histadd\n| histdel\n| histget\n| histnr\n| hlID\n| hlexists\n| hostname\n| iconv\n| indent\n| index\n| inputdialog\n| inputlist\n| inputrestore\n| inputsave\n| inputsecret\n| input\n| insert\n| interrupt\n| invert\n| isdirectory\n| isinf\n| islocked\n| isnan\n| items\n| job_getchannel\n| job_info\n| job_setoptions\n| job_start\n| job_status\n| job_stop\n| join\n| js_decode\n| js_encode\n| json_decode\n| json_encode\n| keys\n| len\n| libcallnr\n| libcall\n| line2byte\n| line\n| lispindent\n| list2str\n| listener_add\n| listener_flush\n| listener_remove\n| localtime\n| log10\n| log\n| luaeval\n| maparg\n| mapcheck\n| mapnew\n| mapset\n| map\n| matchaddpos\n| matchadd\n| matcharg\n| matchdelete\n| matchend\n| matchfuzzypos\n| matchfuzzy\n| matchlist\n| matchstrpos\n| matchstr\n| match\n| max\n| menu_info\n| min\n| mkdir\n| mode\n| mzeval\n| nextnonblank\n| nr2char\n| or\n| pathshorten\n| perleval\n| popup_atcursor\n| popup_beval\n| popup_clear\n| popup_close\n| popup_create\n| popup_dialog\n| popup_filter_menu\n| popup_filter_yesno\n| popup_findinfo\n| popup_findpreview\n| popup_getoptions\n| popup_getpos\n| popup_hide\n| popup_list\n| popup_locate\n| popup_menu\n| popup_move\n| popup_notification\n| popup_setoptions\n| popup_settext\n| popup_show\n| pow\n| prevnonblank\n| printf\n| prompt_getprompt\n| prompt_setcallback\n| prompt_setinterrupt\n| prompt_setprompt\n| prop_add\n| prop_clear\n| prop_find\n| prop_list\n| prop_remove\n| prop_type_add\n| prop_type_change\n| prop_type_delete\n| prop_type_get\n| prop_type_list\n| pum_getpos\n| pumvisible\n| py3eval\n| pyeval\n| pyxeval\n| rand\n| range\n| readblob\n| readdirex\n| readdir\n| readfile\n| reduce\n| reg_executing\n| reg_recording\n| reltimefloat\n| reltimestr\n| reltime\n| remote_expr\n| remote_foreground\n| remote_peek\n| remote_read\n| remote_send\n| remote_startserver\n| remove\n| rename\n| repeat\n| resolve\n| reverse\n| round\n| rubyeval\n| screenattr\n| screenchars\n| screenchar\n| screencol\n| screenpos\n| screenrow\n| screenstring\n| searchcount\n| searchdecl\n| searchpairpos\n| searchpair\n| searchpos\n| search\n| server2client\n| serverlist\n| setbufline\n| setbufvar\n| setcellwidths\n| setcharpos\n| setcharsearch\n| setcmdpos\n| setcursorcharpos\n| setenv\n| setfperm\n| setline\n| setloclist\n| setmatches\n| setpos\n| setqflist\n| setreg\n| settabvar\n| settabwinvar\n| settagstack\n| setwinvar\n| sha256\n| shellescape\n| shiftwidth\n| sign_define\n| sign_getdefined\n| sign_getplaced\n| sign_jump\n| sign_placelist\n| sign_place\n| sign_undefine\n| sign_unplacelist\n| sign_unplace\n| simplify\n| sinh\n| sin\n| slice\n| sort\n| sound_clear\n| sound_playevent\n| sound_playfile\n| sound_stop\n| soundfold\n| spellbadword\n| spellsuggest\n| split\n| sqrt\n| srand\n| state\n| str2float\n| str2list\n| str2nr\n| strcharlen\n| strcharpart\n| strchars\n| strdisplaywidth\n| strftime\n| strgetchar\n| stridx\n| string\n| strlen\n| strpart\n| strptime\n| strridx\n| strtrans\n| strwidth\n| submatch\n| substitute\n| swapinfo\n| swapname\n| synIDattr\n| synIDtrans\n| synID\n| synconcealed\n| synstack\n| systemlist\n| system\n| tabpagebuflist\n| tabpagenr\n| tabpagewinnr\n| tagfiles\n| taglist\n| tanh\n| tan\n| tempname\n| term_dumpdiff\n| term_dumpload\n| term_dumpwrite\n| term_getaltscreen\n| term_getansicolors\n| term_getattr\n| term_getcursor\n| term_getjob\n| term_getline\n| term_getscrolled\n| term_getsize\n| term_getstatus\n| term_gettitle\n| term_gettty\n| term_list\n| term_scrape\n| term_sendkeys\n| term_setansicolors\n| term_setapi\n| term_setkill\n| term_setrestore\n| term_setsize\n| term_start\n| term_wait\n| terminalprops\n| test_alloc_fail\n| test_autochdir\n| test_feedinput\n| test_garbagecollect_now\n| test_garbagecollect_soon\n| test_getvalue\n| test_ignore_error\n| test_null_blob\n| test_null_channel\n| test_null_dict\n| test_null_function\n| test_null_job\n| test_null_list\n| test_null_partial\n| test_null_string\n| test_option_not_set\n| test_override\n| test_refcount\n| test_scrollbar\n| test_setmouse\n| test_settime\n| test_srand_seed\n| test_unknown\n| test_void\n| timer_info\n| timer_pause\n| timer_start\n| timer_stopall\n| timer_stop\n| tolower\n| toupper\n| trim\n| trunc\n| tr\n| typename\n| type\n| undofile\n| undotree\n| uniq\n| values\n| virtcol\n| visualmode\n| wildmenumode\n| win_execute\n| win_findbuf\n| win_getid\n| win_gettype\n| win_gotoid\n| win_id2tabwin\n| win_id2win\n| win_screenpos\n| win_splitmove\n| winbufnr\n| wincol\n| windowsversion\n| winheight\n| winlayout\n| winline\n| winnr\n| winrestcmd\n| winrestview\n| winsaveview\n| winwidth\n| wordcount\n| writefile\n| xor\n) \\b"},"vimGroup":{"name":"support.type.group.viml","match":"(?xi) \\b\n( Boolean\n| Character\n| Comment\n| Conditional\n| Constant\n| Debug\n| Define\n| Delimiter\n| Error\n| Exception\n| Float\n| Function\n| Identifier\n| Ignore\n| Include\n| Keyword\n| Label\n| Macro\n| Number\n| Operator\n| PreCondit\n| PreProc\n| Repeat\n| SpecialChar\n| SpecialComment\n| Special\n| Statement\n| StorageClass\n| String\n| Structure\n| Tag\n| Todo\n| Typedef\n| Type\n| Underlined\n) \\b"},"vimGroupSpecial":{"name":"support.function.vimGroupSpecial.viml","match":"(?x) \\b\n( ALLBUT\n| ALL\n| CONTAINED\n| TOP\n) \\b"},"vimHLGroup":{"name":"support.type.highlight-group.viml","match":"(?xi) \\b\n( ColorColumn\n| CursorColumn\n| CursorIM\n| CursorLineNr\n| CursorLine\n| Cursor\n| DiffAdd\n| DiffChange\n| DiffDelete\n| DiffText\n| Directory\n| EndOfBuffer\n| ErrorMsg\n| FoldColumn\n| Folded\n| IncSearch\n| LineNrAbove\n| LineNrBelow\n| LineNr\n| MatchParen\n| Menu\n| ModeMsg\n| MoreMsg\n| NonText\n| Normal\n| PmenuSbar\n| PmenuSel\n| PmenuThumb\n| Pmenu\n| Question\n| QuickFixLine\n| Scrollbar\n| Search\n| SignColumn\n| SpecialKey\n| SpellBad\n| SpellCap\n| SpellLocal\n| SpellRare\n| StatusLineNC\n| StatusLineTerm\n| StatusLine\n| TabLineFill\n| TabLineSel\n| TabLine\n| Terminal\n| Title\n| Tooltip\n| VertSplit\n| VisualNOS\n| Visual\n| WarningMsg\n| WildMenu\n) \\b"},"vimHiAttrib":{"name":"support.function.vimHiAttrib.viml","match":"(?x) \\b\n( bold\n| inverse\n| italic\n| nocombine\n| none\n| reverse\n| standout\n| strikethrough\n| undercurl\n| underline\n) \\b"},"vimHiClear":{"name":"support.function.vimHiClear.viml","match":"(?x) \\b\n( clear\n) \\b"},"vimHiCtermColor":{"name":"support.constant.colour.color.$1.viml","match":"(?x) \\b\n( black\n| blue\n| brown\n| cyan\n| darkblue\n| darkcyan\n| darkgray\n| darkgreen\n| darkgrey\n| darkmagenta\n| darkred\n| darkyellow\n| gray\n| green\n| grey40\n| grey50\n| grey90\n| grey\n| lightblue\n| lightcyan\n| lightgray\n| lightgreen\n| lightgrey\n| lightmagenta\n| lightred\n| lightyellow\n| magenta\n| red\n| seagreen\n| white\n| yellow\n) \\b"},"vimMapModKey":{"name":"support.function.vimMapModKey.viml","match":"(?x) \\b\n( buffer\n| expr\n| leader\n| localleader\n| nowait\n| plug\n| script\n| sid\n| silent\n| unique\n) \\b"},"vimOption":{"name":"support.variable.option.viml","match":"(?x) \\b\n( acd\n| ai\n| akm\n| aleph\n| allowrevins\n| altkeymap\n| al\n| ambiwidth\n| ambw\n| antialias\n| anti\n| arabicshape\n| arabic\n| arab\n| ari\n| arshape\n| ar\n| asd\n| autochdir\n| autoindent\n| autoread\n| autoshelldir\n| autowriteall\n| autowrite\n| awa\n| aw\n| background\n| backspace\n| backupcopy\n| backupdir\n| backupext\n| backupskip\n| backup\n| balloondelay\n| balloonevalterm\n| ballooneval\n| balloonexpr\n| bdir\n| bdlay\n| belloff\n| bevalterm\n| beval\n| bexpr\n| bex\n| bg\n| bh\n| binary\n| bin\n| bkc\n| bk\n| bl\n| bomb\n| bo\n| breakat\n| breakindentopt\n| breakindent\n| briopt\n| bri\n| brk\n| browsedir\n| bsdir\n| bsk\n| bs\n| bt\n| bufhidden\n| buflisted\n| buftype\n| casemap\n| cb\n| ccv\n| cc\n| cdpath\n| cd\n| cedit\n| cfu\n| cf\n| charconvert\n| ch\n| cindent\n| cinkeys\n| cink\n| cinoptions\n| cino\n| cinwords\n| cinw\n| cin\n| ci\n| clipboard\n| cmdheight\n| cmdwinheight\n| cmp\n| cms\n| cm\n| cocu\n| cole\n| colorcolumn\n| columns\n| commentstring\n| comments\n| compatible\n| completefunc\n| completeopt\n| completepopup\n| completeslash\n| complete\n| com\n| confirm\n| copyindent\n| cot\n| co\n| cpoptions\n| cpo\n| cpp\n| cpt\n| cp\n| crb\n| cryptmethod\n| cscopepathcomp\n| cscopeprg\n| cscopequickfix\n| cscoperelative\n| cscopetagorder\n| cscopetag\n| cscopeverbose\n| csl\n| cspc\n| csprg\n| csqf\n| csre\n| csto\n| cst\n| csverb\n| cuc\n| culopt\n| cul\n| cursorbind\n| cursorcolumn\n| cursorlineopt\n| cursorline\n| cursor\n| cwh\n| debug\n| deco\n| define\n| def\n| delcombine\n| dex\n| dg\n| dictionary\n| dict\n| diffexpr\n| diffopt\n| diff\n| digraph\n| dip\n| directory\n| dir\n| display\n| dy\n| eadirection\n| ead\n| ea\n| eb\n| edcompatible\n| ed\n| efm\n| ef\n| ei\n| ek\n| emoji\n| emo\n| encoding\n| enc\n| endofline\n| eol\n| ep\n| equalalways\n| equalprg\n| errorbells\n| errorfile\n| errorformat\n| esckeys\n| et\n| eventignore\n| expandtab\n| exrc\n| ex\n| fcl\n| fcs\n| fdc\n| fde\n| fdi\n| fdls\n| fdl\n| fdm\n| fdn\n| fdo\n| fdt\n| fencs\n| fenc\n| fen\n| fex\n| ffs\n| ff\n| fic\n| fileencodings\n| fileencoding\n| fileformats\n| fileformat\n| fileignorecase\n| filetype\n| fillchars\n| fixendofline\n| fixeol\n| fkmap\n| fk\n| flp\n| fml\n| fmr\n| foldclose\n| foldcolumn\n| foldenable\n| foldexpr\n| foldignore\n| foldlevelstart\n| foldlevel\n| foldmarker\n| foldmethod\n| foldminlines\n| foldnestmax\n| foldopen\n| foldtext\n| formatexpr\n| formatlistpat\n| formatoptions\n| formatprg\n| fo\n| fp\n| fsync\n| fs\n| ft\n| gcr\n| gdefault\n| gd\n| gfm\n| gfn\n| gfs\n| gfw\n| ghr\n| go\n| gp\n| grepformat\n| grepprg\n| gtl\n| gtt\n| guicursor\n| guifontset\n| guifontwide\n| guifont\n| guiheadroom\n| guioptions\n| guipty\n| guitablabel\n| guitabtooltip\n| helpfile\n| helpheight\n| helplang\n| hf\n| hh\n| hidden\n| hid\n| highlight\n| history\n| hi\n| hkmapp\n| hkmap\n| hkp\n| hk\n| hlg\n| hlsearch\n| hls\n| hl\n| iconstring\n| icon\n| ic\n| ignorecase\n| imactivatefunc\n| imactivatekey\n| imaf\n| imak\n| imcmdline\n| imc\n| imdisable\n| imd\n| iminsert\n| imi\n| imsearch\n| imsf\n| imstatusfunc\n| imstyle\n| imst\n| ims\n| im\n| includeexpr\n| include\n| incsearch\n| inc\n| indentexpr\n| indentkeys\n| inde\n| indk\n| inex\n| infercase\n| inf\n| insertmode\n| invacd\n| invai\n| invakm\n| invallowrevins\n| invaltkeymap\n| invantialias\n| invanti\n| invarabicshape\n| invarabic\n| invarab\n| invari\n| invarshape\n| invar\n| invasd\n| invautochdir\n| invautoindent\n| invautoread\n| invautoshelldir\n| invautowriteall\n| invautowrite\n| invawa\n| invaw\n| invbackup\n| invballoonevalterm\n| invballooneval\n| invbevalterm\n| invbeval\n| invbinary\n| invbin\n| invbk\n| invbl\n| invbomb\n| invbreakindent\n| invbri\n| invbuflisted\n| invcf\n| invcindent\n| invcin\n| invci\n| invcompatible\n| invconfirm\n| invcopyindent\n| invcp\n| invcrb\n| invcscoperelative\n| invcscopetag\n| invcscopeverbose\n| invcsre\n| invcst\n| invcsverb\n| invcuc\n| invcul\n| invcursorbind\n| invcursorcolumn\n| invcursorline\n| invdeco\n| invdelcombine\n| invdg\n| invdiff\n| invdigraph\n| invea\n| inveb\n| invedcompatible\n| inved\n| invek\n| invemoji\n| invemo\n| invendofline\n| inveol\n| invequalalways\n| inverrorbells\n| invesckeys\n| invet\n| invexpandtab\n| invexrc\n| invex\n| invfen\n| invfic\n| invfileignorecase\n| invfixendofline\n| invfixeol\n| invfkmap\n| invfk\n| invfoldenable\n| invfsync\n| invfs\n| invgdefault\n| invgd\n| invguipty\n| invhidden\n| invhid\n| invhkmapp\n| invhkmap\n| invhkp\n| invhk\n| invhlsearch\n| invhls\n| invicon\n| invic\n| invignorecase\n| invimcmdline\n| invimc\n| invimdisable\n| invimd\n| invim\n| invincsearch\n| invinfercase\n| invinf\n| invinsertmode\n| invis\n| invjoinspaces\n| invjs\n| invlangnoremap\n| invlangremap\n| invlazyredraw\n| invlbr\n| invlinebreak\n| invlisp\n| invlist\n| invlnr\n| invloadplugins\n| invlpl\n| invlrm\n| invlz\n| invmacatsui\n| invmagic\n| invma\n| invmh\n| invmle\n| invml\n| invmodelineexpr\n| invmodeline\n| invmodifiable\n| invmodified\n| invmod\n| invmore\n| invmousefocus\n| invmousef\n| invmousehide\n| invnumber\n| invnu\n| invodev\n| invopendevice\n| invpaste\n| invpi\n| invpreserveindent\n| invpreviewwindow\n| invprompt\n| invpvw\n| invreadonly\n| invrelativenumber\n| invremap\n| invrestorescreen\n| invrevins\n| invrightleft\n| invri\n| invrl\n| invrnu\n| invro\n| invrs\n| invruler\n| invru\n| invsb\n| invscb\n| invscf\n| invscrollbind\n| invscrollfocus\n| invscs\n| invsc\n| invsecure\n| invsft\n| invshellslash\n| invshelltemp\n| invshiftround\n| invshortname\n| invshowcmd\n| invshowfulltag\n| invshowmatch\n| invshowmode\n| invsi\n| invsmartcase\n| invsmartindent\n| invsmarttab\n| invsmd\n| invsm\n| invsn\n| invsol\n| invspell\n| invsplitbelow\n| invsplitright\n| invspr\n| invsr\n| invssl\n| invstartofline\n| invsta\n| invstmp\n| invswapfile\n| invswf\n| invtagbsearch\n| invtagrelative\n| invtagstack\n| invta\n| invtbidi\n| invtbi\n| invtbs\n| invtermbidi\n| invterse\n| invtextauto\n| invtextmode\n| invtf\n| invtgst\n| invtildeop\n| invtimeout\n| invtitle\n| invtop\n| invto\n| invtr\n| invttimeout\n| invttybuiltin\n| invttyfast\n| invtx\n| invudf\n| invundofile\n| invvb\n| invvisualbell\n| invwarn\n| invwa\n| invwb\n| invweirdinvert\n| invwfh\n| invwfw\n| invwic\n| invwildignorecase\n| invwildmenu\n| invwinfixheight\n| invwinfixwidth\n| invwiv\n| invwmnu\n| invwrapscan\n| invwrap\n| invwriteany\n| invwritebackup\n| invwrite\n| invws\n| isfname\n| isf\n| isident\n| isi\n| iskeyword\n| isk\n| isprint\n| isp\n| is\n| joinspaces\n| js\n| keymap\n| keymodel\n| keywordprg\n| key\n| kmp\n| km\n| kp\n| langmap\n| langmenu\n| langnoremap\n| langremap\n| laststatus\n| lazyredraw\n| lbr\n| lcs\n| level\n| linebreak\n| linespace\n| lines\n| lispwords\n| lisp\n| listchars\n| list\n| lmap\n| lm\n| lnr\n| loadplugins\n| lpl\n| lrm\n| lsp\n| ls\n| luadll\n| lw\n| lz\n| macatsui\n| magic\n| makeef\n| makeencoding\n| makeprg\n| matchpairs\n| matchtime\n| mat\n| maxcombine\n| maxfuncdepth\n| maxmapdepth\n| maxmempattern\n| maxmemtot\n| maxmem\n| ma\n| mco\n| mef\n| menc\n| menuitems\n| mfd\n| mh\n| mis\n| mkspellmem\n| mle\n| mls\n| ml\n| mmd\n| mmp\n| mmt\n| mm\n| modelineexpr\n| modelines\n| modeline\n| modifiable\n| modified\n| mod\n| more\n| mousefocus\n| mousef\n| mousehide\n| mousemodel\n| mousem\n| mouseshape\n| mouses\n| mousetime\n| mouset\n| mouse\n| mps\n| mp\n| msm\n| mzquantum\n| mzq\n| mzschemedll\n| mzschemegcdll\n| nf\n| noacd\n| noai\n| noakm\n| noallowrevins\n| noaltkeymap\n| noantialias\n| noanti\n| noarabicshape\n| noarabic\n| noarab\n| noari\n| noarshape\n| noar\n| noasd\n| noautochdir\n| noautoindent\n| noautoread\n| noautoshelldir\n| noautowriteall\n| noautowrite\n| noawa\n| noaw\n| nobackup\n| noballoonevalterm\n| noballooneval\n| nobevalterm\n| nobeval\n| nobinary\n| nobin\n| nobk\n| nobl\n| nobomb\n| nobreakindent\n| nobri\n| nobuflisted\n| nocf\n| nocindent\n| nocin\n| noci\n| nocompatible\n| noconfirm\n| nocopyindent\n| nocp\n| nocrb\n| nocscoperelative\n| nocscopetag\n| nocscopeverbose\n| nocsre\n| nocst\n| nocsverb\n| nocuc\n| nocul\n| nocursorbind\n| nocursorcolumn\n| nocursorline\n| nodeco\n| nodelcombine\n| nodg\n| nodiff\n| nodigraph\n| noea\n| noeb\n| noedcompatible\n| noed\n| noek\n| noemoji\n| noemo\n| noendofline\n| noeol\n| noequalalways\n| noerrorbells\n| noesckeys\n| noet\n| noexpandtab\n| noexrc\n| noex\n| nofen\n| nofic\n| nofileignorecase\n| nofixendofline\n| nofixeol\n| nofkmap\n| nofk\n| nofoldenable\n| nofsync\n| nofs\n| nogdefault\n| nogd\n| noguipty\n| nohidden\n| nohid\n| nohkmapp\n| nohkmap\n| nohkp\n| nohk\n| nohlsearch\n| nohls\n| noicon\n| noic\n| noignorecase\n| noimcmdline\n| noimc\n| noimdisable\n| noimd\n| noim\n| noincsearch\n| noinfercase\n| noinf\n| noinsertmode\n| nois\n| nojoinspaces\n| nojs\n| nolangnoremap\n| nolangremap\n| nolazyredraw\n| nolbr\n| nolinebreak\n| nolisp\n| nolist\n| nolnr\n| noloadplugins\n| nolpl\n| nolrm\n| nolz\n| nomacatsui\n| nomagic\n| noma\n| nomh\n| nomle\n| noml\n| nomodelineexpr\n| nomodeline\n| nomodifiable\n| nomodified\n| nomod\n| nomore\n| nomousefocus\n| nomousef\n| nomousehide\n| nonumber\n| nonu\n| noodev\n| noopendevice\n| nopaste\n| nopi\n| nopreserveindent\n| nopreviewwindow\n| noprompt\n| nopvw\n| noreadonly\n| norelativenumber\n| noremap\n| norestorescreen\n| norevins\n| norightleft\n| nori\n| norl\n| nornu\n| noro\n| nors\n| noruler\n| noru\n| nosb\n| noscb\n| noscf\n| noscrollbind\n| noscrollfocus\n| noscs\n| nosc\n| nosecure\n| nosft\n| noshellslash\n| noshelltemp\n| noshiftround\n| noshortname\n| noshowcmd\n| noshowfulltag\n| noshowmatch\n| noshowmode\n| nosi\n| nosmartcase\n| nosmartindent\n| nosmarttab\n| nosmd\n| nosm\n| nosn\n| nosol\n| nospell\n| nosplitbelow\n| nosplitright\n| nospr\n| nosr\n| nossl\n| nostartofline\n| nosta\n| nostmp\n| noswapfile\n| noswf\n| notagbsearch\n| notagrelative\n| notagstack\n| nota\n| notbidi\n| notbi\n| notbs\n| notermbidi\n| noterse\n| notextauto\n| notextmode\n| notf\n| notgst\n| notildeop\n| notimeout\n| notitle\n| notop\n| noto\n| notr\n| nottimeout\n| nottybuiltin\n| nottyfast\n| notx\n| noudf\n| noundofile\n| novb\n| novisualbell\n| nowarn\n| nowa\n| nowb\n| noweirdinvert\n| nowfh\n| nowfw\n| nowic\n| nowildignorecase\n| nowildmenu\n| nowinfixheight\n| nowinfixwidth\n| nowiv\n| nowmnu\n| nowrapscan\n| nowrap\n| nowriteany\n| nowritebackup\n| nowrite\n| nows\n| nrformats\n| numberwidth\n| number\n| nuw\n| nu\n| odev\n| oft\n| ofu\n| omnifunc\n| opendevice\n| operatorfunc\n| opfunc\n| osfiletype\n| packpath\n| paragraphs\n| para\n| pastetoggle\n| paste\n| patchexpr\n| patchmode\n| path\n| pa\n| pdev\n| penc\n| perldll\n| pexpr\n| pex\n| pfn\n| pheader\n| ph\n| pi\n| pmbcs\n| pmbfn\n| pm\n| popt\n| pp\n| preserveindent\n| previewheight\n| previewpopup\n| previewwindow\n| printdevice\n| printencoding\n| printexpr\n| printfont\n| printheader\n| printmbcharset\n| printmbfont\n| printoptions\n| prompt\n| pt\n| pumheight\n| pumwidth\n| pvh\n| pvp\n| pvw\n| pw\n| pythondll\n| pythonhome\n| pythonthreedll\n| pythonthreehome\n| pyxversion\n| pyx\n| qe\n| qftf\n| quickfixtextfunc\n| quoteescape\n| rdt\n| readonly\n| redrawtime\n| regexpengine\n| relativenumber\n| remap\n| renderoptions\n| report\n| restorescreen\n| revins\n| re\n| rightleftcmd\n| rightleft\n| ri\n| rlc\n| rl\n| rnu\n| rop\n| ro\n| rs\n| rtp\n| rubydll\n| ruf\n| rulerformat\n| ruler\n| runtimepath\n| ru\n| sbo\n| sbr\n| sb\n| scb\n| scf\n| scl\n| scrollbind\n| scrollfocus\n| scrolljump\n| scrolloff\n| scrollopt\n| scroll\n| scr\n| scs\n| sc\n| sections\n| sect\n| secure\n| selection\n| selectmode\n| sel\n| sessionoptions\n| sft\n| shcf\n| shellcmdflag\n| shellpipe\n| shellquote\n| shellredir\n| shellslash\n| shelltemp\n| shelltype\n| shellxescape\n| shellxquote\n| shell\n| shiftround\n| shiftwidth\n| shm\n| shortmess\n| shortname\n| showbreak\n| showcmd\n| showfulltag\n| showmatch\n| showmode\n| showtabline\n| shq\n| sh\n| sidescrolloff\n| sidescroll\n| signcolumn\n| siso\n| si\n| sj\n| slm\n| smartcase\n| smartindent\n| smarttab\n| smc\n| smd\n| sm\n| sn\n| softtabstop\n| sol\n| so\n| spc\n| spellcapcheck\n| spellfile\n| spelllang\n| spelloptions\n| spellsuggest\n| spell\n| spf\n| splitbelow\n| splitright\n| spl\n| spo\n| spr\n| sps\n| sp\n| srr\n| sr\n| ssl\n| ssop\n| ss\n| stal\n| startofline\n| statusline\n| sta\n| stl\n| stmp\n| sts\n| st\n| sua\n| suffixesadd\n| suffixes\n| su\n| swapfile\n| swapsync\n| swb\n| swf\n| switchbuf\n| sws\n| sw\n| sxe\n| sxq\n| synmaxcol\n| syntax\n| syn\n| t_8b\n| t_8f\n| t_8u\n| t_AB\n| t_AF\n| t_AL\n| t_AU\n| t_BD\n| t_BE\n| t_CS\n| t_CV\n| t_Ce\n| t_Co\n| t_Cs\n| t_DL\n| t_EC\n| t_EI\n| t_F1\n| t_F2\n| t_F3\n| t_F4\n| t_F5\n| t_F6\n| t_F7\n| t_F8\n| t_F9\n| t_GP\n| t_IE\n| t_IS\n| t_K1\n| t_K3\n| t_K4\n| t_K5\n| t_K6\n| t_K7\n| t_K8\n| t_K9\n| t_KA\n| t_KB\n| t_KC\n| t_KD\n| t_KE\n| t_KF\n| t_KG\n| t_KH\n| t_KI\n| t_KJ\n| t_KK\n| t_KL\n| t_PE\n| t_PS\n| t_RB\n| t_RC\n| t_RF\n| t_RI\n| t_RS\n| t_RT\n| t_RV\n| t_Ri\n| t_SC\n| t_SH\n| t_SI\n| t_SR\n| t_ST\n| t_Sb\n| t_Sf\n| t_Si\n| t_TE\n| t_TI\n| t_Te\n| t_Ts\n| t_VS\n| t_WP\n| t_WS\n| t_ZH\n| t_ZR\n| t_al\n| t_bc\n| t_cd\n| t_ce\n| t_cl\n| t_cm\n| t_cs\n| t_da\n| t_db\n| t_dl\n| t_fd\n| t_fe\n| t_fs\n| t_k1\n| t_k2\n| t_k3\n| t_k4\n| t_k5\n| t_k6\n| t_k7\n| t_k8\n| t_k9\n| t_kB\n| t_kD\n| t_kI\n| t_kN\n| t_kP\n| t_kb\n| t_kd\n| t_ke\n| t_kh\n| t_kl\n| t_kr\n| t_ks\n| t_ku\n| t_le\n| t_mb\n| t_md\n| t_me\n| t_mr\n| t_ms\n| t_nd\n| t_op\n| t_se\n| t_so\n| t_sr\n| t_te\n| t_ti\n| t_ts\n| t_u7\n| t_ue\n| t_us\n| t_ut\n| t_vb\n| t_ve\n| t_vi\n| t_vs\n| t_xn\n| t_xs\n| tabline\n| tabpagemax\n| tabstop\n| tagbsearch\n| tagcase\n| tagfunc\n| taglength\n| tagrelative\n| tagstack\n| tags\n| tag\n| tal\n| ta\n| tbidi\n| tbis\n| tbi\n| tbs\n| tb\n| tcldll\n| tc\n| tenc\n| termbidi\n| termencoding\n| termguicolors\n| termwinkey\n| termwinscroll\n| termwinsize\n| termwintype\n| term\n| terse\n| textauto\n| textmode\n| textwidth\n| tfu\n| tf\n| tgc\n| tgst\n| thesaurus\n| tildeop\n| timeoutlen\n| timeout\n| titlelen\n| titleold\n| titlestring\n| title\n| tl\n| tm\n| toolbariconsize\n| toolbar\n| top\n| to\n| tpm\n| tr\n| tsl\n| tsr\n| ts\n| ttimeoutlen\n| ttimeout\n| ttm\n| ttybuiltin\n| ttyfast\n| ttymouse\n| ttym\n| ttyscroll\n| ttytype\n| tty\n| twk\n| twsl\n| tws\n| twt\n| tw\n| tx\n| uc\n| udf\n| udir\n| ul\n| undodir\n| undofile\n| undolevels\n| undoreload\n| updatecount\n| updatetime\n| ur\n| ut\n| varsofttabstop\n| vartabstop\n| vbs\n| vb\n| vdir\n| verbosefile\n| verbose\n| ve\n| vfile\n| viewdir\n| viewoptions\n| vif\n| viminfofile\n| viminfo\n| virtualedit\n| visualbell\n| vi\n| vop\n| vsts\n| vts\n| wak\n| warn\n| wa\n| wb\n| wcm\n| wcr\n| wc\n| wd\n| weirdinvert\n| wfh\n| wfw\n| whichwrap\n| wh\n| wic\n| wig\n| wildcharm\n| wildchar\n| wildignorecase\n| wildignore\n| wildmenu\n| wildmode\n| wildoptions\n| wim\n| winaltkeys\n| wincolor\n| window\n| winfixheight\n| winfixwidth\n| winheight\n| winminheight\n| winminwidth\n| winptydll\n| winwidth\n| wiv\n| wiw\n| wi\n| wmh\n| wmnu\n| wmw\n| wm\n| wop\n| wrapmargin\n| wrapscan\n| wrap\n| writeany\n| writebackup\n| writedelay\n| write\n| ws\n| ww\n) \\b"},"vimPattern":{"name":"support.function.vimPattern.viml","match":"(?x) \\b\n( end\n| skip\n| start\n) \\b"},"vimStdPlugin":{"name":"support.class.stdplugin.viml","match":"(?x) \\b\n( Arguments\n| Asm\n| Break\n| Cfilter\n| Clear\n| Continue\n| DiffOrig\n| Evaluate\n| Finish\n| Gdb\n| Lfilter\n| Man\n| N\n| Next\n| Over\n| P\n| Print\n| Program\n| Run\n| Source\n| Step\n| Stop\n| S\n| TOhtml\n| TermdebugCommand\n| Termdebug\n| Winbar\n| XMLent\n| XMLns\n) \\b"},"vimSynCase":{"name":"support.function.vimSynCase.viml","match":"(?x) \\b\n( ignore\n| match\n) \\b"},"vimSynType":{"name":"support.function.vimSynType.viml","match":"(?x) \\b\n( case\n| clear\n| cluster\n| enable\n| include\n| iskeyword\n| keyword\n| list\n| manual\n| match\n| off\n| on\n| region\n| reset\n| sync\n) \\b"},"vimSyncC":{"name":"support.function.vimSyncC.viml","match":"(?x) \\b\n( ccomment\n| clear\n| fromstart\n) \\b"},"vimSyncLinecont":{"name":"support.function.vimSyncLinecont.viml","match":"(?x) \\b\n( linecont\n) \\b"},"vimSyncMatch":{"name":"support.function.vimSyncMatch.viml","match":"(?x) \\b\n( match\n) \\b"},"vimSyncNone":{"name":"support.function.vimSyncNone.viml","match":"(?x) \\b\n( NONE\n) \\b"},"vimSyncRegion":{"name":"support.function.vimSyncRegion.viml","match":"(?x) \\b\n( region\n) \\b"},"vimTodo":{"name":"support.constant.${1:/downcase}.viml","match":"(?x) \\b\n( COMBAK\n| FIXME\n| TODO\n| XXX\n) \\b"},"vimUserAttrbCmplt":{"name":"support.function.vimUserAttrbCmplt.viml","match":"(?x) \\b\n( augroup\n| behave\n| buffer\n| color\n| command\n| compiler\n| cscope\n| customlist\n| custom\n| dir\n| environment\n| event\n| expression\n| file_in_path\n| filetype\n| file\n| function\n| help\n| highlight\n| history\n| locale\n| mapping\n| menu\n| option\n| packadd\n| shellcmd\n| sign\n| syntax\n| syntime\n| tag_listfiles\n| tag\n| user\n| var\n) \\b"},"vimUserAttrbKey":{"name":"support.function.vimUserAttrbKey.viml","match":"(?x) \\b\n( bang?\n| bar\n| com\n| complete\n| cou\n| count\n| n\n| nargs\n| ra\n| range\n| re\n| register\n) \\b"},"vimUserCommand":{"name":"support.function.vimUserCommand.viml","match":"(?x) \\b\n( com\n| command\n) \\b"}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"WebAssembly","scopeName":"source.webassembly","patterns":[{"name":"comment.line.hashbang.webassembly","begin":"\\A(#!)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.hashbang.webassembly"}}},{"include":"#main"}],"repository":{"comment-block":{"name":"comment.block.semicolon.webassembly","begin":"\\(;","end":";\\)","patterns":[{"include":"#comment-block"}],"beginCaptures":{"0":{"name":"punctuation.section.comment.begin.webassembly"}},"endCaptures":{"0":{"name":"punctuation.section.comment.end.webassembly"}}},"comment-line":{"name":"comment.line.semicolon.webassembly","begin":";;","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.webassembly"}}},"expression":{"patterns":[{"name":"meta.expression.
|
1
|
+
{"name":"WebAssembly","scopeName":"source.webassembly","patterns":[{"name":"comment.line.hashbang.webassembly","begin":"\\A(#!)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.hashbang.webassembly"}}},{"include":"#main"}],"repository":{"comment-block":{"name":"comment.block.semicolon.webassembly","begin":"\\(;","end":";\\)","patterns":[{"include":"#comment-block"}],"beginCaptures":{"0":{"name":"punctuation.section.comment.begin.webassembly"}},"endCaptures":{"0":{"name":"punctuation.section.comment.end.webassembly"}}},"comment-line":{"name":"comment.line.semicolon.webassembly","begin":";;","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.webassembly"}}},"expression":{"patterns":[{"name":"meta.expression.$2.webassembly","begin":"(\\()(\\w+)(?=[\\s()]|$|;;)","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.webassembly"},"2":{"patterns":[{"include":"#main"}]}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.webassembly"}}},{"name":"meta.expression.webassembly","begin":"\\(","end":"\\)","patterns":[{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.section.expression.begin.webassembly"}},"endCaptures":{"0":{"name":"punctuation.section.expression.end.webassembly"}}}]},"instructions":{"patterns":[{"name":"keyword.control.instruction.$1.webassembly","match":"(?x) \\b\n( block\n| br(?:_if|_table|_on_(?:cast|data|func|i31|null))?\n| call(?:_indirect|_ref)?\n| catch_all\n| catch\n| delegate\n| else\n| end\n| if\n| loop\n| nop\n| rethrow\n| return(?:_call(?:_indirect|_ref)?)?\n| then\n| throw\n| try\n| unreachable\n| unwind\n) (?=[\\s()]|$|;;)"},{"name":"entity.name.function.instruction.$1.webassembly","match":"(?x) \\b\n(\n\t(f32|f64) \\.\n\t( (?\u003c=f32.) (demote_f64|reinterpret_i32)\n\t| (?\u003c=f64.) (promote_f32|reinterpret_i64)\n\t| abs\n\t| add\n\t| atomic (?:\\.\\w+)++\n\t| ceil\n\t| const\n\t| convert_i(32|64)_[su]\n\t| copysign\n\t| div\n\t| eq\n\t| floor\n\t| [gl][et]\n\t| load\n\t| max\n\t| min\n\t| mul\n\t| nearest\n\t| neg?\n\t| ne\n\t| sqrt\n\t| store\n\t| sub\n\t| trunc\n\t)\n\t|\n\t\n\t(i32|i64) \\.\n\t( (?\u003c=i32.) (reinterpret_f32|wrap_i64)\n\t| (?\u003c=i64.) (extend_i32_[su]|extend32_s|load32_[su]|reinterpret_f64|store32)\n\t| add\n\t| and\n\t| atomic (?:\\.\\w+)++\n\t| clz\n\t| const\n\t| ctz\n\t| div_[su]\n\t| eqz?\n\t| eq\n\t| extend(8|16)_s\n\t| [gl][et]_[su]\n\t| load(8|16)_[su]\n\t| load\n\t| mul\n\t| ne\n\t| x?or\n\t| popcnt\n\t| rem_[su]\n\t| rot[lr]\n\t| shl\n\t| shr_[su]\n\t| store(8|16)?\n\t| sub\n\t| trunc_(sat_)?f(32|64)_[su]\n\t)\n\t|\n\t\n\tv128 \\.\n\t( andnot\n\t| and\n\t| any_true\n\t| atomic (?:\\.\\w+)++\n\t| bitselect\n\t| const\n\t| load((8|16)_lane|(32|64)_(lane|zero)|(8|16|32|64)_splat|(8x8|16x4|32x2)_[su])?\n\t| not\n\t| x?or\n\t| store((8|16|32|64)_lane)?\n\t)\n\t|\n\n\t(f32x4|f64x2) \\.\n\t( (?\u003c=f32x4.) (convert_i32x4_[su]|demote_f64x2_zero)\n\t| (?\u003c=f64x2.) (convert_low_i32x4_[su]|promote_low_f32x4)\n\t| abs\n\t| add\n\t| ceil\n\t| div\n\t| eq\n\t| (extract|replace)_lane\n\t| floor\n\t| [gl][et]\n\t| p?max\n\t| p?min\n\t| mul\n\t| nearest\n\t| neg?\n\t| splat\n\t| sqrt\n\t| sub\n\t| trunc\n\t)\n\t|\n\t\n\ti8x16 \\.\n\t( abs\n\t| (?:add|sub)_sat_[su]\n\t| add\n\t| all_true\n\t| avgr_u\n\t| bitmask\n\t| eq\n\t| extract_lane_[su]\n\t| [gl][et]_[su]\n\t| load_splat\n\t| max_[su]\n\t| min_[su]\n\t| narrow_i16x8_[su]\n\t| neg?\n\t| ne\n\t| popcnt\n\t| replace_lane\n\t| shl\n\t| shr_[su]\n\t| shuffle\n\t| splat\n\t| sub\n\t| swizzle\n\t)\n\t|\n\t\n\ti16x8 \\.\n\t( abs\n\t| (?:add|sub)_sat_[su]\n\t| add\n\t| all_true\n\t| avgr_u\n\t| bitmask\n\t| eq\n\t| ext(add_pairwise|(end|mul)_(high|low))_i8x16_[su]\n\t| extract_lane_[su]\n\t| [gl][et]_[su]\n\t| load8x8_[su]\n\t| load_splat\n\t| max_[su]\n\t| min_[su]\n\t| mul\n\t| narrow_i32x4_[su]\n\t| neg?\n\t| ne\n\t| q15mulr_sat_s\n\t| replace_lane\n\t| shl\n\t| shr_[su]\n\t| splat\n\t| sub\n\t)\n\t|\n\n\ti32x4 \\.\n\t( abs\n\t| add\n\t| all_true\n\t| bitmask\n\t| dot_i16x8_s\n\t| eq\n\t| ext(add_pairwise|(end|mul)_(high|low))_i16x8_[su]\n\t| extract_lane\n\t| [gl][et]_[su]\n\t| load16x4_[su]\n\t| load_splat\n\t| max_[su]\n\t| min_[su]\n\t| mul\n\t| neg?\n\t| ne\n\t| replace_lane\n\t| shl\n\t| shr_[su]\n\t| splat\n\t| sub\n\t| trunc_sat_f32x4_[su]\n\t| trunc_sat_f64x2_[su]_zero\n\t)\n\t|\n\n\ti64x2 \\.\n\t( abs\n\t| add\n\t| all_true\n\t| bitmask\n\t| eq\n\t| ext(end|mul)_(high|low)_i32x4_[su]\n\t| extract_lane\n\t| [gl][et]_s\n\t| load32x2_[su]\n\t| load_splat\n\t| mul\n\t| neg?\n\t| ne\n\t| replace_lane\n\t| shl\n\t| shr_[su]\n\t| splat\n\t| sub\n\t)\n) (?=[\\s()]|$|;;)","captures":{"1":{"patterns":[{"name":"punctuation.separator.method.period.webassembly","match":"\\."}]}}},{"match":"\\b([if](?:32|64)(\\.)\\w+)(/)([if](?:32|64))","captures":{"1":{"name":"entity.name.function.instruction.$1.webassembly"},"2":{"name":"punctuation.separator.method.period.webassembly"},"3":{"name":"punctuation.separator.method.slash.webassembly"},"4":{"patterns":[{"include":"#type"}]}}},{"name":"entity.name.function.instruction.$1.webassembly","match":"(?x) \\b\n( (array|struct) (\\. (len|new(_default)?_with_rtt|get_[su]|[gs]et))?\n| (current|grow)_memory\n| data\\.drop\n| drop\n| elem\\.drop\n| field\n| i31 \\. (new|get_[su])\n| ([gs]et|tee)_(local|global)\n| global\\.[gs]et\n| local\\.([gs]et|tee)\n| memory\\.(atomic\\.(notify|wait32|wait64)|copy|fill|grow|init|size)\n| ref(\\.([ai]s_(data|func|i31|non_null)|cast|eq|func|is_null|null|test))?\n| rtt(\\.(canon|sub))?\n| select\n| table\\.(copy|fill|get|grow|init|set|size)\n) (?=[\\s()]|$|;;)","captures":{"1":{"patterns":[{"name":"punctuation.separator.method.period.webassembly","match":"\\."}]}}},{"name":"storage.type.$1.webassembly","match":"(?x) \\b\n( anyfunc\n| data\n| declare\n| element\n| elem\n| export\n| extern\n| func\n| global\n| import\n| item\n| local\n| memory\n| module\n| mut\n| offset\n| param\n| result\n| start\n| table\n| type\n) (?=[\\s()]|$|;;)"},{"name":"support.function.scripting.webassembly","match":"(?x) \\b\n( assert_exhaustion\n| assert_invalid\n| assert_malformed\n| assert_return (?:_(?:arithmetic|canonical)_nan)?\n| assert_trap\n| assert_unlinkable\n| binary\n| input\n| invoke\n| get\n| output\n| quote\n| ref\\.extern\n| ref\\.host\n| register\n| script\n) (?=[\\s()]|$|;;)","captures":{"1":{"patterns":[{"name":"punctuation.separator.method.period.webassembly","match":"\\."}]}}}]},"main":{"patterns":[{"include":"#comment-line"},{"include":"#comment-block"},{"include":"#expression"},{"include":"#instructions"},{"include":"#type"},{"include":"#number"},{"include":"#name"},{"include":"#string"},{"include":"#optional-immediate"}]},"name":{"name":"variable.other.name.webassembly","match":"(\\$)[-A-Za-z0-9_.+*/\\\\^~=\u003c\u003e!?@#$%\u0026|:'`]+","captures":{"1":{"name":"punctuation.definition.variable.webassembly"}}},"number":{"patterns":[{"name":"constant.language.nan.with-payload.webassembly","match":"(?\u003c!\\w)[-+]?nan(:)(0x(?!_)(?:_?[A-Fa-f0-9])+)","captures":{"1":{"name":"punctuation.separator.payload.colon.webassembly"},"2":{"name":"constant.numeric.int.hex.payload.webassembly"}}},{"name":"constant.language.$1.$2.webassembly","match":"(?\u003c!\\w)[-+]?(inf|nan)(?:(?\u003c=nan):(arithmetic|canonical))?(?!\\w)"},{"name":"constant.numeric.float.hex.webassembly","match":"(?x) (?\u003c!\\w)\n[-+]? 0x (?!_)(?:_? [A-Fa-f0-9])++\n(?: \\. (?!_)(?:_? [A-Fa-f0-9])*+ )?\n(?: [pP][-+]? (?!_)(?:_? [0-9])++ )?"},{"name":"constant.numeric.float.decimal.webassembly","match":"(?x) (?\u003c!\\w)\n[-+]? (?!_)(?:_? \\d)++\n(?: \\. (?!_)(?:_? \\d)*+ )?\n(?: [eE][-+]? (?!_)(?:_? \\d)++ )?"},{"name":"constant.numeric.int.hex.webassembly","match":"(?\u003c!\\w)[-+]?0x(?!_)(?:_?[A-Fa-f0-9])++"},{"name":"constant.numeric.int.decimal.webassembly","match":"(?\u003c!\\w)[-+]?(?!_)(?:_?\\d)++"}]},"optional-immediate":{"match":"(?\u003c!\\w)(align|offset)(=)(?=[-+]?(?:\\d|0x[\\dA-Fa-f]))","captures":{"1":{"name":"variable.parameter.$1.webassembly"},"2":{"name":"keyword.operator.assignment.webassembly"}}},"string":{"name":"string.quoted.double.webassembly","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.newline.webassembly","match":"\\\\n"},{"name":"constant.character.escape.tab.webassembly","match":"\\\\t"},{"name":"constant.character.escape.backslash.webassembly","match":"\\\\{2}"},{"name":"constant.character.escape.quote.single.webassembly","match":"\\\\'"},{"name":"constant.character.escape.quote.double.webassembly","match":"\\\\\""},{"name":"constant.character.escape.hex.unicode.webassembly","match":"\\\\[0-9A-Fa-f]{2}|\\\\u({)[A-Fa-f0-9]+(})","captures":{"1":{"name":"punctuation.definition.unicode-escape.begin.bracket.curly.webassembly"},"2":{"name":"punctuation.definition.unicode-escape.end.bracket.curly.webassembly"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.webassembly"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.webassembly"}}},"type":{"patterns":[{"name":"storage.type.number.$1.webassembly","match":"\\b([if](?:32|64)|v128|i8|i16)(?=[\\s()]|$|;;)"},{"name":"storage.type.simd.$1.webassembly","match":"\\b(f32x4|f64x2|i8x16|i16x8|i32x4|i64x2)(?=[\\s()]|$|;;)"},{"name":"storage.type.reference.$1.webassembly","match":"\\b((?:any|data|eq|extern|func|i31)ref)(?=[\\s()]|$|;;)"}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"WhiteSpace Esolang","scopeName":"source.ws","patterns":[{"name":"markup.ignored.space.ws","match":" "},{"name":"invalid.illegal.tab.ws","match":"\\t"},{"name":"carriage-return.ws","match":"\\r"}]}
|
data/grammars/source.wsd.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Diagram","scopeName":"source.wsd","patterns":[{"name":"diagram.source.wsd","begin":"(?i)^\\s*(@start[a-z]+)((\\s+)(.+?))?\\s*$","end":"(?i)^\\s*(@end[a-z]+)\\s*$","patterns":[{"include":"#Quoted"},{"include":"#Comment"},{"include":"#Style"},{"include":"#Class"},{"include":"#Object"},{"include":"#Activity"},{"include":"#Sequence"},{"include":"#State"},{"include":"#Keywords"},{"include":"#General"}],"beginCaptures":{"1":{"name":"keyword.control.diagram.source.wsd"},"5":{"name":"entity.name.function.diagram.source.wsd"}},"endCaptures":{"1":{"name":"keyword.control.diagram.source.wsd"}}},{"include":"#Quoted"},{"include":"#Comment"},{"include":"#Style"},{"include":"#Class"},{"include":"#Object"},{"include":"#Activity"},{"include":"#Sequence"},{"include":"#State"},{"include":"#Keywords"},{"include":"#General"}],"repository":{"Activity":{"patterns":[{"match":"(?i)^\\s*(else *if|if)\\s?\\((.+?)\\)\\s?(then)(\\s?\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.if.source.wsd"},"2":{"name":"string.quoted.double.activity.if.source.wsd"},"3":{"name":"keyword.other.activity.if.source.wsd"},"5":{"name":"meta.comment.activity.if.source.wsd"}}},{"match":"(?i)^\\s*(else)(\\s?\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.else.source.wsd"},"3":{"name":"meta.comment.activity.else.source.wsd"}}},{"match":"(?i)^\\s*(repeat\\s+)?(while)\\s*\\((.+?)\\)(\\s*(is)(\\s*\\((.+?)\\))?)?\\s*$","captures":{"1":{"name":"keyword.other.activity.while.source.wsd"},"2":{"name":"keyword.other.activity.while.source.wsd"},"3":{"name":"string.quoted.double.activity.while.source.wsd"},"5":{"name":"keyword.other.activity.while.source.wsd"},"7":{"name":"meta.comment.activity.while.source.wsd"}}},{"match":"(?i)^\\s*(end)\\s?(while)(\\s*\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.endwhile.source.wsd"},"2":{"name":"keyword.other.activity.endwhile.source.wsd"},"4":{"name":"meta.comment.activity.endwhile.source.wsd"}}}]},"Class":{"patterns":[{"begin":"(?i)^\\s*(enum|abstract|class|abstract\\s+class)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?(\\s+(as)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?)?(\\s+#(([\\w\\|\\\\\\/\\-]+)))?\\s*\\{\\s*$","end":"^\\s*(?\u003c!\\\\)\\}\\s*$","patterns":[{"match":"(?i)^\\s*([.=_-]{2,})\\s*((.+?)\\s*([.=_-]{2,}))?","captures":{"1":{"name":"meta.comment.class.group.separator.source.wsd"},"3":{"name":"string.quoted.double.class.group.separator.source.wsd"},"4":{"name":"meta.comment.class.group.separator.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)(\\(\\))|([\\p{L}0-9_]+)(\\(\\))\\s*:\\s*([\\p{L}0-9_]+)?)\\s*$","captures":{"1":{"name":"storage.modifier.class.function.source.wsd"},"11":{"name":"support.type.class.function.source.wsd"},"3":{"name":"keyword.other.class.function.source.wsd"},"5":{"name":"support.type.class.function.source.wsd"},"7":{"name":"support.variable.class.function.source.wsd"},"9":{"name":"support.variable.class.function.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)|([\\p{L}0-9_]+)\\s*:\\s*(\\w+)?)\\s*$","captures":{"1":{"name":"storage.modifier.class.fields.source.wsd"},"3":{"name":"keyword.other.class.fields.source.wsd"},"5":{"name":"support.type.class.fields.source.wsd"},"7":{"name":"support.variable.class.fields.source.wsd"},"8":{"name":"support.variable.class.fields.source.wsd"},"9":{"name":"support.type.class.fields.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(.+?)\\s*$","captures":{"1":{"name":"storage.modifier.class.fields.source.wsd"},"3":{"name":"keyword.other.class.fields.source.wsd"},"4":{"name":"string.quoted.double.class.other.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.other.class.group.source.wsd"},"10":{"name":"constant.numeric.class.definition.source.wsd"},"2":{"name":"support.variable.class.group.source.wsd"},"4":{"name":"string.quoted.double.class.definition.source.wsd"},"6":{"name":"keyword.other.class.group.source.wsd"},"7":{"name":"support.variable.class.group.source.wsd"},"9":{"name":"string.quoted.double.class.definition.source.wsd"}}},{"match":"(?i)^\\s*(hide|show)\\s+(([\\w\\d_\\.]+|\"[^\"]+\")|\u003c\u003c.+?\u003e\u003e|Stereotypes|class|interface|enum)(\\s+(empty fields|empty methods|fields|attributes|methods|members|circle))?\\s*$","captures":{"1":{"name":"keyword.other.class.hideshow.source.wsd"},"2":{"name":"support.variable.class.hideshow.source.wsd"},"5":{"name":"constant.numeric.class.hideshow.source.wsd"}}}]},"Comment":{"patterns":[{"name":"comment.line.comment.source.wsd","begin":"(?i)^\\s*(')","end":"(?i)\\n"},{"name":"comment.block.source.wsd","begin":"(?i)^\\s*(/')","end":"(?i)('/)\\s*$"}]},"General":{"patterns":[{"begin":"(?i)^\\s*(title)\\s*$","end":"(?i)^\\s*\\b(end\\s+title)\\b","patterns":[{"match":"(?i)^\\s*(.+?)\\s*$","captures":{"1":{"name":"entity.name.function.title.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.other.title.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.title.source.wsd"}}},{"match":"(?i)^\\s*(title)\\s+(.+?)\\s*$","captures":{"1":{"name":"keyword.other.title.source.wsd"},"2":{"name":"entity.name.function.title.source.wsd"}}},{"name":"keyword.other.scale.source.wsd","match":"(?i)^\\s*(scale)\\s+((max)\\s+)?(\\d+(\\.?\\d+)?)\\s*((([\\*/])\\s*(\\d+\\.?(\\.?\\d+)?))|(width|height))?\\s*$","captures":{"1":{"name":"keyword.other.scale.source.wsd"},"11":{"name":"keyword.other.scale.source.wsd"},"3":{"name":"keyword.other.scale.source.wsd"},"4":{"name":"constant.numeric.scale.source.wsd"},"8":{"name":"keyword.operator.scale.source.wsd"},"9":{"name":"constant.numeric.scale.source.wsd"}}},{"match":"(?i)^\\s*(caption)\\s+(.+)\\s*$","captures":{"1":{"name":"keyword.other.note.source.wsd"},"2":{"name":"constant.numeric.caption.source.wsd"}}},{"match":"(?i)^\\s*(note\\s(left|right))\\s*:\\s*(.+)\\s*$","captures":{"1":{"name":"keyword.other.note.source.wsd"},"3":{"name":"meta.comment.note.source.wsd"}}},{"begin":"(?i)^\\s*(note\\s(left|right))\\s*$","end":"(?i)^\\s*(end\\s*note)","patterns":[{"name":"meta.comment.multiple.note.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.note.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.note.source.wsd"}}},{"match":"(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*:\\s*(.+)$","captures":{"1":{"name":"keyword.other.noteof.source.wsd"},"2":{"name":"constant.numeric.noteof.source.wsd"},"3":{"name":"keyword.other.noteof.source.wsd"},"4":{"name":"support.variable.noteof.source.wsd"},"5":{"name":"support.variable.noteof.source.wsd"},"6":{"name":"support.variable.noteof.source.wsd"},"7":{"name":"keyword.other.noteof.source.wsd"},"8":{"name":"constant.numeric.noteof.source.wsd"},"9":{"name":"meta.comment.noteof.source.wsd"}}},{"begin":"(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*$","end":"(?i)^\\s*(end\\s*[rh]?note)","patterns":[{"name":"meta.comment.multline.noteof.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.noteof.source.wsd"},"2":{"name":"constant.numeric.noteof.source.wsd"},"3":{"name":"keyword.other.noteof.source.wsd"},"4":{"name":"support.variable.noteof.source.wsd"},"5":{"name":"support.variable.noteof.source.wsd"},"6":{"name":"support.variable.noteof.source.wsd"},"7":{"name":"keyword.other.noteof.source.wsd"},"8":{"name":"constant.numeric.noteof.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.multline.noteof.source.wsd"}}},{"match":"(?i)^\\s*(note)\\s+(\".+?\")\\s+(as)\\s+([\\w\\d]+)\\s*$","captures":{"1":{"name":"keyword.other.noteas.source.wsd"},"2":{"name":"meta.comment.noteas.source.wsd"},"3":{"name":"keyword.other.noteas.source.wsd"},"4":{"name":"support.variable.noteas.source.wsd"}}},{"begin":"(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s*\\n","end":"(?i)^\\s*(end\\s?(header|legend|footer))","patterns":[{"name":"meta.comment.header_legend_footer.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"constant.numeric.header_legend_footer.source.wsd"},"2":{"name":"keyword.other.header_legend_footer.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.header_legend_footer.source.wsd"}}},{"match":"(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s+(.+?)\\s*$","captures":{"1":{"name":"constant.numeric.header_legend_footer.source.wsd"},"2":{"name":"keyword.other.header_legend_footer.source.wsd"},"3":{"name":"meta.comment.header_legend_footer.source.wsd"}}},{"name":"support.class.preprocessings.source.wsd","match":"(?i)(!includesub|!include|!enddefinelong|!definelong|!define|!startsub|!endsub|!ifdef|!else|!endif|!ifndef)"},{"begin":"(?i)((?:(?:(?:\\s+[ox]|[+*])?(?:\u003c\u003c|\u003c\\|?|\\\\\\\\|\\\\|//|\\}|\\^|#|0|0\\))?)(?=[-.~=]))[-.~=]+(\\[(?:\\#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)(?:[-\\\\/](?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+))?\\b)\\])?(?:(left|right|up|down)(?:[-.~=]))?[-.]*(?:(?:\u003e\u003e|\\|?\u003e|\\\\\\\\|\\\\|//|\\{|\\^|#|0|\\(0)?(?:[ox]\\s+|[+*])?))","end":"$","patterns":[{"include":"#General"},{"match":"(?i):([^:]+):\\s*:(.+)$","captures":{"1":{"name":"support.variable.actor.link.source.wsd"},"2":{"name":"meta.comment.message.link.source.wsd"}}},{"match":"(?i):(.+)$","captures":{"1":{"name":"meta.comment.message.link.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.control.note.source.wsd"},"2":{"name":"constant.numeric.link.color.source.wsd"},"3":{"name":"constant.language.link.source.wsd"}}},{"name":"constant.numeric.colors.source.wsd","match":"(?i)#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)"},{"name":"support.variable.source.wsd","match":"\\b[\\w_]+"}]},"Keywords":{"patterns":[{"name":"keyword.other.linebegin.source.wsd","match":"(?i)^\\s*(usecase|actor|object|participant|boundary|control|entity|database|create|component|interface|package|node|folder|frame|cloud|annotation|enum|abstract|class|abstract\\s+class|state|autonumber(\\s+stop|resume)?|activate|deactivate|return|destroy|newpage|alt|else|opt|loop|par|break|critical|group|box|rectangle|namespace|partition)\\b"},{"name":"keyword.other.wholeline.source.wsd","match":"(?i)^\\s*(split( again)?|endif|repeat|start|stop|end|end\\s+fork|end\\s+split|fork( again)?|detach|end\\s+box|top\\s+to\\s+bottom\\s+direction|left\\s+to\\s+right\\s+direction)\\s*$"},{"name":"keyword.other.other.source.wsd","match":"(?i)\\b(as|{(static|abstract)\\})\\b"}]},"Object":{"patterns":[{"match":"(?i)^\\s*([\\w\\d_]+)\\s+:\\s+s*$","captures":{"1":{"name":"support.variable.object.addfields.source.wsd"},"2":{"name":"meta.comment.object.addfields.source.wsd"}}}]},"Quoted":{"patterns":[{"name":"support.variable.definitions.source.wsd","begin":"(?i)^\\s*(:)","end":"(?i)(:)|[\\];|\u003c\u003e/}]?\\s*$"},{"name":"string.quoted.double.source.wsd","begin":"\"","end":"\""}]},"Sequence":{"patterns":[{"match":"(?i)^\\s*(={2,})\\s*(.+?)\\s*(={2,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.divider.source.wsd"},"2":{"name":"string.quoted.double.sequence.divider.source.wsd"},"3":{"name":"keyword.operator.sequence.divider.source.wsd"}}},{"match":"(?i)^\\s*(\\.{3,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.omission.source.wsd"}}},{"match":"(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*:\\s*(.+)\\s*$","captures":{"1":{"name":"keyword.other.sequence.ref.source.wsd"},"2":{"name":"support.variable.sequence.ref.source.wsd"},"3":{"name":"meta.comment.sequence.ref.source.wsd"}}},{"begin":"(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*$","end":"(?i)end\\s+ref","patterns":[{"name":"meta.comment.sequence.ref.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.sequence.ref.source.wsd"},"2":{"name":"support.variable.sequence.ref.source.wsd"}},"endCaptures":{"0":{"name":"keyword.other.sequence.ref.source.wsd"}}},{"match":"(?i)^\\s*(\\.{3,})\\s*(.+)\\s*(\\.{3,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.delay.source.wsd"},"2":{"name":"meta.comment.sequence.delay.source.wsd"},"3":{"name":"keyword.operator.sequence.delay.source.wsd"}}},{"match":"(?i)(\\|{2,})(\\d+)?(\\|{1,})","captures":{"1":{"name":"keyword.operator.sequence.space.source.wsd"},"2":{"name":"constant.numeric.sequence.space.source.wsd"},"3":{"name":"keyword.operator.sequence.space.source.wsd"}}}]},"State":{"patterns":[{"match":"(?i)^\\s*(-{2,})\\s*$","captures":{"1":{"name":"keyword.other.state.concurrent.source.wsd"}}}]},"Style":{"patterns":[{"match":"(?i)^\\s*(skinparam)\\s+(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$","captures":{"1":{"name":"keyword.other.skinparam.source.wsd"},"2":{"name":"keyword.other.skinparam.keyword.source.wsd"},"3":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"4":{"name":"string.quoted.double.skinparam.value.source.wsd"}}},{"begin":"(?i)^\\s*(?:(skinparam)(?:\\s+(\\w+?)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)?|(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)\\s*\\{\\s*$","end":"^\\s*(?\u003c!\\\\)\\}\\s*$","patterns":[{"match":"(?i)^\\s*(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$","captures":{"1":{"name":"keyword.other.skinparam.keyword.source.wsd"},"2":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"3":{"name":"string.quoted.double.skinparam.value.source.wsd"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.skinparam.source.wsd"},"2":{"name":"keyword.other.skinparam.keyword.source.wsd"},"3":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"4":{"name":"keyword.other.skinparam.keyword.source.wsd"},"5":{"name":"constant.numeric.skinparam.keyword.source.wsd"}}}]}}}
|
1
|
+
{"name":"Diagram","scopeName":"source.wsd","patterns":[{"name":"diagram.source.wsd","begin":"(?i)^\\s*(@start[a-z]+)((\\s+)(.+?))?\\s*$","end":"(?i)^\\s*(@end[a-z]+)\\s*$","patterns":[{"include":"#Quoted"},{"include":"#Comment"},{"include":"#Style"},{"include":"#Class"},{"include":"#Object"},{"include":"#Activity"},{"include":"#Sequence"},{"include":"#State"},{"include":"#Keywords"},{"include":"#General"}],"beginCaptures":{"1":{"name":"keyword.control.diagram.source.wsd"},"5":{"name":"entity.name.function.diagram.source.wsd"}},"endCaptures":{"1":{"name":"keyword.control.diagram.source.wsd"}}},{"include":"#Quoted"},{"include":"#Comment"},{"include":"#Style"},{"include":"#Class"},{"include":"#Object"},{"include":"#Activity"},{"include":"#Sequence"},{"include":"#State"},{"include":"#Keywords"},{"include":"#General"}],"repository":{"Activity":{"patterns":[{"match":"(?i)^\\s*(else *if|if)\\s?\\((.+?)\\)\\s?(then)(\\s?\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.if.source.wsd"},"2":{"name":"string.quoted.double.activity.if.source.wsd"},"3":{"name":"keyword.other.activity.if.source.wsd"},"5":{"name":"meta.comment.activity.if.source.wsd"}}},{"match":"(?i)^\\s*(else)(\\s?\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.else.source.wsd"},"3":{"name":"meta.comment.activity.else.source.wsd"}}},{"match":"(?i)^\\s*(repeat\\s+)?(while)\\s*\\((.+?)\\)(\\s*(is)(\\s*\\((.+?)\\))?)?\\s*$","captures":{"1":{"name":"keyword.other.activity.while.source.wsd"},"2":{"name":"keyword.other.activity.while.source.wsd"},"3":{"name":"string.quoted.double.activity.while.source.wsd"},"5":{"name":"keyword.other.activity.while.source.wsd"},"7":{"name":"meta.comment.activity.while.source.wsd"}}},{"match":"(?i)^\\s*(end)\\s?(while)(\\s*\\((.+?)\\))?\\s*$","captures":{"1":{"name":"keyword.other.activity.endwhile.source.wsd"},"2":{"name":"keyword.other.activity.endwhile.source.wsd"},"4":{"name":"meta.comment.activity.endwhile.source.wsd"}}}]},"Class":{"patterns":[{"begin":"(?i)^\\s*(enum|abstract\\s+class|abstract|class)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?(\\s+(as)\\s+([\\w\\d_\\.]+|\"[^\"]+\")(\\s*(\u003c\u003c.+?\u003e\u003e))?)?(\\s+#(([\\w\\|\\\\\\/\\-]+)))?\\s*\\{\\s*$","end":"^\\s*(?\u003c!\\\\)\\}\\s*$","patterns":[{"match":"(?i)^\\s*([.=_-]{2,})\\s*((.+?)\\s*([.=_-]{2,}))?","captures":{"1":{"name":"meta.comment.class.group.separator.source.wsd"},"3":{"name":"string.quoted.double.class.group.separator.source.wsd"},"4":{"name":"meta.comment.class.group.separator.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)(\\(\\))|([\\p{L}0-9_]+)(\\(\\))\\s*:\\s*([\\p{L}0-9_]+)?)\\s*$","captures":{"1":{"name":"storage.modifier.class.function.source.wsd"},"11":{"name":"support.type.class.function.source.wsd"},"3":{"name":"keyword.other.class.function.source.wsd"},"5":{"name":"support.type.class.function.source.wsd"},"7":{"name":"support.variable.class.function.source.wsd"},"9":{"name":"support.variable.class.function.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(([\\p{L}0-9_]+(\\[\\])?\\s+)?([\\p{L}0-9_]+)|([\\p{L}0-9_]+)\\s*:\\s*(\\w+)?)\\s*$","captures":{"1":{"name":"storage.modifier.class.fields.source.wsd"},"3":{"name":"keyword.other.class.fields.source.wsd"},"5":{"name":"support.type.class.fields.source.wsd"},"7":{"name":"support.variable.class.fields.source.wsd"},"8":{"name":"support.variable.class.fields.source.wsd"},"9":{"name":"support.type.class.fields.source.wsd"}}},{"match":"(?i)^\\s*(\\s*\\{(static|abstract)\\}\\s*)?(\\s*[~#+-]\\s*)?(.+?)\\s*$","captures":{"1":{"name":"storage.modifier.class.fields.source.wsd"},"3":{"name":"keyword.other.class.fields.source.wsd"},"4":{"name":"string.quoted.double.class.other.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.other.class.group.source.wsd"},"10":{"name":"constant.numeric.class.definition.source.wsd"},"2":{"name":"support.variable.class.group.source.wsd"},"4":{"name":"string.quoted.double.class.definition.source.wsd"},"6":{"name":"keyword.other.class.group.source.wsd"},"7":{"name":"support.variable.class.group.source.wsd"},"9":{"name":"string.quoted.double.class.definition.source.wsd"}}},{"match":"(?i)^\\s*(hide|show)\\s+(([\\w\\d_\\.]+|\"[^\"]+\")|\u003c\u003c.+?\u003e\u003e|Stereotypes|class|interface|enum)(\\s+(empty fields|empty methods|fields|attributes|methods|members|circle))?\\s*$","captures":{"1":{"name":"keyword.other.class.hideshow.source.wsd"},"2":{"name":"support.variable.class.hideshow.source.wsd"},"5":{"name":"constant.numeric.class.hideshow.source.wsd"}}}]},"Comment":{"patterns":[{"name":"comment.line.comment.source.wsd","begin":"(?i)^\\s*(')","end":"(?i)\\n"},{"name":"comment.block.source.wsd","begin":"(?i)\\s*(/')","end":"(?i)('/)\\s*"}]},"General":{"patterns":[{"begin":"(?i)^\\s*(title)\\s*$","end":"(?i)^\\s*\\b(end\\s+title)\\b","patterns":[{"match":"(?i)^\\s*(.+?)\\s*$","captures":{"1":{"name":"entity.name.function.title.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.other.title.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.title.source.wsd"}}},{"match":"(?i)^\\s*(title)\\s+(.+?)\\s*$","captures":{"1":{"name":"keyword.other.title.source.wsd"},"2":{"name":"entity.name.function.title.source.wsd"}}},{"name":"keyword.other.scale.source.wsd","match":"(?i)^\\s*(scale)\\s+((max)\\s+)?(\\d+(\\.?\\d+)?)\\s*((([\\*/])\\s*(\\d+\\.?(\\.?\\d+)?))|(width|height))?\\s*$","captures":{"1":{"name":"keyword.other.scale.source.wsd"},"11":{"name":"keyword.other.scale.source.wsd"},"3":{"name":"keyword.other.scale.source.wsd"},"4":{"name":"constant.numeric.scale.source.wsd"},"8":{"name":"keyword.operator.scale.source.wsd"},"9":{"name":"constant.numeric.scale.source.wsd"}}},{"match":"(?i)^\\s*(caption)\\s+(.+)\\s*$","captures":{"1":{"name":"keyword.other.note.source.wsd"},"2":{"name":"constant.numeric.caption.source.wsd"}}},{"match":"(?i)^\\s*(note\\s(left|right))\\s*:\\s*(.+)\\s*$","captures":{"1":{"name":"keyword.other.note.source.wsd"},"3":{"name":"meta.comment.note.source.wsd"}}},{"begin":"(?i)^\\s*(note\\s(left|right))\\s*$","end":"(?i)^\\s*(end\\s*note)","patterns":[{"name":"meta.comment.multiple.note.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.note.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.note.source.wsd"}}},{"match":"(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*:\\s*(.+)$","captures":{"1":{"name":"keyword.other.noteof.source.wsd"},"2":{"name":"constant.numeric.noteof.source.wsd"},"3":{"name":"keyword.other.noteof.source.wsd"},"4":{"name":"support.variable.noteof.source.wsd"},"5":{"name":"support.variable.noteof.source.wsd"},"6":{"name":"support.variable.noteof.source.wsd"},"7":{"name":"keyword.other.noteof.source.wsd"},"8":{"name":"constant.numeric.noteof.source.wsd"},"9":{"name":"meta.comment.noteof.source.wsd"}}},{"begin":"(?i)^\\s*([rh]?note)(?:\\s+(right|left|top|bottom))?\\s+(?:(?:(of|over)\\s*(?:[^\\s\\w\\d]([\\w\\s]+)[^\\s\\w\\d]|(?:(\".+?\"|\\w+)(?:,\\s*(\".+?\"|\\w+))*)))|(on\\s+link))\\s*(#\\w+)?\\s*$","end":"(?i)^\\s*(end\\s*[rh]?note)","patterns":[{"name":"meta.comment.multline.noteof.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.noteof.source.wsd"},"2":{"name":"constant.numeric.noteof.source.wsd"},"3":{"name":"keyword.other.noteof.source.wsd"},"4":{"name":"support.variable.noteof.source.wsd"},"5":{"name":"support.variable.noteof.source.wsd"},"6":{"name":"support.variable.noteof.source.wsd"},"7":{"name":"keyword.other.noteof.source.wsd"},"8":{"name":"constant.numeric.noteof.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.multline.noteof.source.wsd"}}},{"match":"(?i)^\\s*(note)\\s+(\".+?\")\\s+(as)\\s+([\\w\\d]+)\\s*$","captures":{"1":{"name":"keyword.other.noteas.source.wsd"},"2":{"name":"meta.comment.noteas.source.wsd"},"3":{"name":"keyword.other.noteas.source.wsd"},"4":{"name":"support.variable.noteas.source.wsd"}}},{"begin":"(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s*\\n","end":"(?i)^\\s*(end\\s?(header|legend|footer))","patterns":[{"name":"meta.comment.header_legend_footer.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"constant.numeric.header_legend_footer.source.wsd"},"2":{"name":"keyword.other.header_legend_footer.source.wsd"}},"endCaptures":{"1":{"name":"keyword.other.header_legend_footer.source.wsd"}}},{"match":"(?i)^\\s*(?:(center|left|right)\\s+)?(header|legend|footer)\\s+(.+?)\\s*$","captures":{"1":{"name":"constant.numeric.header_legend_footer.source.wsd"},"2":{"name":"keyword.other.header_legend_footer.source.wsd"},"3":{"name":"meta.comment.header_legend_footer.source.wsd"}}},{"name":"entity.name.function.preprocessings.source.wsd","match":"(?i)(!includesub|!include|!enddefinelong|!definelong|!define|!startsub|!endsub|!ifdef|!else|!endif|!ifndef|!if|!elseif|!endif|!while|!endwhile|!(unquoted\\s|final\\s)*procedure|!(unquoted\\s|final\\s)*function|!end\\s*(function|procedure)|!return|!import|!includedef|!includeurl|!include_many|!include_once|!log|!dump_memory|!theme)"},{"begin":"(?i)((?:(?:(?:\\s+[ox]|[+*])?(?:\u003c\u003c|\u003c\\|?|\\\\\\\\|\\\\|//|\\}|\\^|#|0|0\\))?)(?=[-.~=]))[-.~=]+(\\[(?:\\#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)(?:[-\\\\/](?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+))?\\b)\\])?(?:(left|right|up|down)(?:[-.~=]))?[-.]*(?:(?:\u003e\u003e|\\|?\u003e|\\\\\\\\|\\\\|//|\\{|\\^|#|0|\\(0)?(?:[ox]\\s+|[+*])?))","end":"$","patterns":[{"include":"#General"},{"match":"(?i):([^:]+):\\s*:(.+)$","captures":{"1":{"name":"support.variable.actor.link.source.wsd"},"2":{"name":"meta.comment.message.link.source.wsd"}}},{"match":"(?i):(.+)$","captures":{"1":{"name":"meta.comment.message.link.source.wsd"}}}],"beginCaptures":{"1":{"name":"keyword.control.note.source.wsd"},"2":{"name":"constant.numeric.link.color.source.wsd"},"3":{"name":"constant.language.link.source.wsd"}}},{"name":"constant.numeric.colors.source.wsd","match":"(?i)#(?:[0-9a-f]{6}|[0-9a-f]{3}|\\w+)"},{"name":"support.variable.source.wsd","match":"\\b[\\w_]+"}]},"Keywords":{"patterns":[{"name":"keyword.other.linebegin.source.wsd","match":"(?i)^\\s*(usecase|actor|object|participant|boundary|control|entity|database|create|component|interface|package|node|folder|frame|cloud|annotation|enum|abstract\\s+class|abstract|class|state|autonumber(\\s+stop|resume)?|activate|deactivate|return|destroy|newpage|alt|else|opt|loop|par|break|critical|group|box|rectangle|namespace|partition|agent|artifact|card|circle|collections|file|hexagon|label|person|queue|stack|storage|mainframe|map|repeat|backward|diamond)\\b"},{"name":"keyword.other.wholeline.source.wsd","match":"(?i)^\\s*(split( again)?|endif|repeat|start|stop|end|end\\s+fork|end\\s+split|fork( again)?|detach|end\\s+box|top\\s+to\\s+bottom\\s+direction|left\\s+to\\s+right\\s+direction|kill|end\\s+merge)\\s*$"},{"name":"keyword.other.other.source.wsd","match":"(?i)\\b(as|{(static|abstract)\\})\\b"}]},"Object":{"patterns":[{"match":"(?i)^\\s*([\\w\\d_]+)\\s+:\\s+s*$","captures":{"1":{"name":"support.variable.object.addfields.source.wsd"},"2":{"name":"meta.comment.object.addfields.source.wsd"}}}]},"Quoted":{"patterns":[{"name":"support.variable.definitions.source.wsd","begin":"(?i)^\\s*(:)","end":"(?i)(:)|[\\];|\u003c\u003e/}]?\\s*$"},{"name":"string.quoted.double.source.wsd","begin":"\"","end":"\""}]},"Sequence":{"patterns":[{"match":"(?i)^\\s*(={2,})\\s*(.+?)\\s*(={2,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.divider.source.wsd"},"2":{"name":"string.quoted.double.sequence.divider.source.wsd"},"3":{"name":"keyword.operator.sequence.divider.source.wsd"}}},{"match":"(?i)^\\s*(\\.{3,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.omission.source.wsd"}}},{"match":"(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*:\\s*(.+)\\s*$","captures":{"1":{"name":"keyword.other.sequence.ref.source.wsd"},"2":{"name":"support.variable.sequence.ref.source.wsd"},"3":{"name":"meta.comment.sequence.ref.source.wsd"}}},{"begin":"(?i)^\\s*(ref\\s+over)\\s+(.+?)\\s*$","end":"(?i)end\\s+ref","patterns":[{"name":"meta.comment.sequence.ref.source.wsd","match":".+?"}],"beginCaptures":{"1":{"name":"keyword.other.sequence.ref.source.wsd"},"2":{"name":"support.variable.sequence.ref.source.wsd"}},"endCaptures":{"0":{"name":"keyword.other.sequence.ref.source.wsd"}}},{"match":"(?i)^\\s*(\\.{3,})\\s*(.+)\\s*(\\.{3,})\\s*$","captures":{"1":{"name":"keyword.operator.sequence.delay.source.wsd"},"2":{"name":"meta.comment.sequence.delay.source.wsd"},"3":{"name":"keyword.operator.sequence.delay.source.wsd"}}},{"match":"(?i)(\\|{2,})(\\d+)?(\\|{1,})","captures":{"1":{"name":"keyword.operator.sequence.space.source.wsd"},"2":{"name":"constant.numeric.sequence.space.source.wsd"},"3":{"name":"keyword.operator.sequence.space.source.wsd"}}}]},"State":{"patterns":[{"match":"(?i)^\\s*(-{2,})\\s*$","captures":{"1":{"name":"keyword.other.state.concurrent.source.wsd"}}}]},"Style":{"patterns":[{"match":"(?i)^\\s*(skinparam)\\s+(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$","captures":{"1":{"name":"keyword.other.skinparam.source.wsd"},"2":{"name":"keyword.other.skinparam.keyword.source.wsd"},"3":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"4":{"name":"string.quoted.double.skinparam.value.source.wsd"}}},{"begin":"(?i)^\\s*(?:(skinparam)(?:\\s+(\\w+?)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)?|(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?)\\s*\\{\\s*$","end":"^\\s*(?\u003c!\\\\)\\}\\s*$","patterns":[{"match":"(?i)^\\s*(\\w+)(\u003c\u003c\\s*.+?\\s*\u003e\u003e)?\\s+([^\\{\\}]+?)\\s*$","captures":{"1":{"name":"keyword.other.skinparam.keyword.source.wsd"},"2":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"3":{"name":"string.quoted.double.skinparam.value.source.wsd"}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.other.skinparam.source.wsd"},"2":{"name":"keyword.other.skinparam.keyword.source.wsd"},"3":{"name":"constant.numeric.skinparam.keyword.source.wsd"},"4":{"name":"keyword.other.skinparam.keyword.source.wsd"},"5":{"name":"constant.numeric.skinparam.keyword.source.wsd"}}}]}}}
|