github-linguist 7.20.0 → 7.22.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +584 -498
- data/ext/linguist/lex.linguist_yy.h +2 -3
- data/ext/linguist/tokenizer.l +52 -15
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.bms.json +1 -1
- data/grammars/source.brs.json +1 -0
- data/grammars/source.cairo.json +1 -1
- data/grammars/source.cds.json +1 -0
- data/grammars/source.clarion.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.css.json +1 -1
- data/grammars/source.csswg.json +1 -0
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.denizenscript.json +1 -1
- data/grammars/source.ditroff.json +1 -1
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gcode.json +1 -1
- data/grammars/source.gdresource.json +1 -0
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gdshader.json +1 -0
- data/grammars/source.git-revlist.json +1 -0
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hlasm.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.icurry.json +1 -1
- data/grammars/source.jsligo.json +1 -0
- data/grammars/source.json.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.livescript.json +1 -1
- data/grammars/source.miniyaml.json +1 -1
- data/grammars/source.mlir.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.move.json +1 -0
- data/grammars/source.nix.json +1 -1
- data/grammars/source.pony.json +1 -1
- data/grammars/source.portugol.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.rpgle.json +1 -1
- data/grammars/source.rsc.json +1 -0
- data/grammars/source.scala.json +1 -1
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.star.json +1 -0
- data/grammars/source.stl.json +1 -0
- data/grammars/source.svelte.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.v.json +1 -1
- data/grammars/source.velocity.html.json +1 -0
- data/grammars/source.velocity.json +1 -0
- data/grammars/source.whiley.json +1 -0
- data/grammars/source.wren.json +1 -0
- data/grammars/source.wsd.json +1 -1
- data/grammars/source.yul.json +1 -0
- data/grammars/text.hash-commented.json +1 -0
- data/grammars/text.html.statamic.json +1 -0
- data/grammars/text.srt.json +1 -1
- data/grammars/text.vtt.json +1 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +2 -2
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +22 -1
- data/lib/linguist/language.rb +3 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +218 -4
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/vendor.yml +4 -1
- metadata +30 -13
- data/grammars/source.brightauthorproject.json +0 -1
- data/grammars/source.brightscript.json +0 -1
- data/grammars/source.vtt.json +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"name":"LiveScript","scopeName":"source.livescript","patterns":[{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t!?[~-]{1,2}\u003e\\*?\n\t\t\t\t|\u003c[~-]{1,2}!?\n\t\t\t\t|\\(\\s* (?= instanceof[\\s)]|and[\\s)]|or[\\s)]|is[\\s)]|isnt[\\s)]|in[\\s)]|import[\\s)]|import\\ all[\\s)] |\\.|[-+/*%^\u0026\u003c\u003e=|][\\b\\s)\\w$]|\\*\\*|\\%\\%)\n\t\t\t\t| (?\u003c=[\\s(]instanceof|[\\s(]and|[\\s(]or|[\\s(]is|[\\s(]isnt|[\\s(]in|[\\s(]import|[\\s(]import\\ all|[\\s(]do|\\.|\\*\\*|\\%\\%|[\\b\\s(\\w$][-+/*%^\u0026\u003c\u003e=|]) \\s*\\)\n\t\t\t"},{"name":"comment.block.livescript","begin":"\\/\\*","end":"\\*\\/","patterns":[{"name":"storage.type.annotation.livescriptscript","match":"@\\w*"}],"captures":{"0":{"name":"punctuation.definition.comment.livescript"}}},{"name":"comment.line.number-sign.livescript","match":"(#)(?!\\{).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}},{"match":"((?:!|~|!~|~!)?function\\*?)\\s+([$\\w\\-]*[$\\w]+)","captures":{"1":{"name":"storage.type.function.livescript"},"2":{"name":"entity.name.function.livescript"}}},{"match":"(new)\\s+(\\w+(?:\\.\\w*)*)","captures":{"1":{"name":"keyword.operator.new.livescript"},"2":{"name":"entity.name.type.instance.livescript"}}},{"name":"keyword.illegal.livescript","match":"\\b(package|private|protected|public|interface|enum|static)(?!-)\\b"},{"name":"string.quoted.heredoc.livescript","begin":"'''","end":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.double.heredoc.livescript","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\."},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.script.livescript","begin":"``","end":"``","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.array-literal.livescript","begin":"\u003c\\[","end":"\\]\u003e"},{"name":"string.regexp.livescript","match":"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{"name":"string.regexp.livescript","begin":"/{2}\\n","end":"/{2}[imgy]{0,4}","patterns":[{"include":"#embedded_spaced_comment"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","begin":"/{2}","end":"/{2}[imgy]{0,4}","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","match":"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(\n\t\t\t\t\tinstanceof|new|delete|typeof|and|or|is|isnt|not\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"\u003c\\||\\|\u003e"},{"name":"keyword.control.livescript","match":"=\u003e"},{"name":"keyword.control.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\treturn|break|continue|throw\n\t\t\t\t|try|if|while|for|for\\s+own|switch|unless|until\n\t\t\t\t|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then\n\t\t\t\t|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\tand=|or=|%|\u0026|\\^|\\*|\\/|(?\u003c![a-zA-Z$_])(\\-)?\\-(?!\\-?\u003e)|\\+\\+|\\+|\n\t\t\t\t~(?!~?\u003e)|==|=|!=|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\n\t\t\t\t\u003e\u003e\u003e=|\u003c\u003e|\u003c(?!\\[)|(?\u003c!\\])\u003e|(?\u003c!\\w)!(?!([~\\-]+)?\u003e)|\u0026\u0026|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\|\\||\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\.=|\u0026=\n\t\t\t\t|\\^=\n\t\t\t"},{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tfunction\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.other.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tthis|throw|then|try|typeof!?|til|to\n\t\t\t\t|continue|const|case|catch|class\n\t\t\t\t|in|instanceof|import|import\\s+all|implements|if|is\n\t\t\t\t|default|delete|debugger|do\n\t\t\t\t|for|for\\s+own|finally|function|from|fallthrough\n\t\t\t\t|super|switch\n\t\t\t\t|else|nobreak|extends|export|eval\n\t\t\t\t|and|arguments\n\t\t\t\t|new|not\n\t\t\t\t|unless|until\n\t\t\t\t|while|with|when\n\t\t\t\t|of|or|otherwise\n\t\t\t\t|let|var|loop\n\t\t\t\t|match\n\t\t\t\t|by|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"match":"([a-zA-Z\\$_](?:[\\w$.-])*)\\s*(?!\\::)((:)|(=(?!\u003e)))\\s*(?!(\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))","captures":{"1":{"name":"variable.assignment.livescript"},"3":{"name":"punctuation.separator.key-value, keyword.operator.livescript"},"4":{"name":"keyword.operator.livescript"}}},{"name":"meta.variable.assignment.destructured.livescript","begin":"(?\u003c=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])","end":"([\\]\\}]\\s*[:=])","patterns":[{"include":"#variable_name"},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"}],"beginCaptures":{"0":{"name":"keyword.operator.livescript"}},"endCaptures":{"0":{"name":"keyword.operator.livescript"}}},{"name":"meta.function.livescript","match":"(?x)\n\t\t\t\t(\\s*)\n\t\t\t\t(?=[a-zA-Z\\$_])\n\t\t\t\t([a-zA-Z\\$_]([\\w$.:-])*)\\s*\n\t\t\t\t(?=[:=](\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))\n\t\t\t","captures":{"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"variable.parameter.function.livescript"},"5":{"name":"storage.type.function.livescript"}}},{"name":"constant.language.boolean.true.livescript","match":"\\b(?\u003c!\\.)(true|on|yes)(?!\\s*:)\\b"},{"name":"constant.language.boolean.false.livescript","match":"\\b(?\u003c!\\.)(false|off|no)(?!\\s*:)\\b"},{"name":"constant.language.null.livescript","match":"\\b(?\u003c!\\.)(null|void)(?!\\s*:)\\b"},{"name":"variable.language.livescript","match":"\\b(?\u003c!\\.)(super|this|extends)(?!\\s*:)\\b"},{"name":"meta.class.livescript","match":"(class\\b)\\s+(@?[a-zA-Z$_][\\w$.-]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z$_][\\w$.-]*))?","captures":{"1":{"name":"storage.type.class.livescript"},"2":{"name":"entity.name.type.class.livescript"},"3":{"name":"keyword.control.inheritance.livescript"},"4":{"name":"entity.other.inherited-class.livescript"}}},{"name":"keyword.other.livescript","match":"\\b(debugger|\\\\)\\b"},{"name":"support.class.livescript","match":"(?x)\\b(\n\t\t\t\tArray|ArrayBuffer|Blob|Boolean|Date|document|event|Function|\n\t\t\t\tInt(8|16|32|64)Array|Math|Map|Number|\n\t\t\t\tObject|Proxy|RegExp|Set|String|WeakMap|\n\t\t\t\twindow|Uint(8|16|32|64)Array|XMLHttpRequest\n\t\t\t)\\b"},{"name":"entity.name.type.object.livescript","match":"\\b(console)\\b"},{"name":"constant.language.livescript","match":"\\b(Infinity|NaN|undefined)\\b"},{"name":"punctuation.terminator.statement.livescript","match":"\\;"},{"name":"meta.delimiter.object.comma.livescript","match":",[ |\\t]*"},{"name":"meta.delimiter.method.period.livescript","match":"\\."},{"name":"meta.brace.curly.livescript","match":"\\{|\\}"},{"name":"meta.brace.round.livescript","match":"\\(|\\)"},{"name":"meta.brace.square.livescript","match":"\\[|\\]\\s*"},{"include":"#instance_variable"},{"include":"#backslash_string"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)\\s*(`)","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"name":"keyword.operator.livescript","match":"`"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)(?:(\\??\\!)|[(])","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"match":"(@|@@|[$\\w\\-]*[$\\w]+)(\\?)? (?!\\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\\b)|[=:.*\\/+\\-%\\^\u003c\u003e][ =)]|[`}%*)]|/(?!.*?/)|\u0026\u0026|[.][^.]|=\u003e|\\/ +|\\||\\|\\||\\-\\-|\\+\\+|\\|\u003e|\u003c|\\||$|\\n|\\#|/\\*))","captures":{"1":{"name":"meta.function-call.livescript"},"2":{"name":"keyword.operator.livescript"}}},{"name":"keyword.control.livescript","match":"\\| _"},{"name":"keyword.control.livescript","match":"\\|(?![.])"},{"name":"keyword.operator.livescript","match":"\\|"},{"name":"support.function.console.livescript","match":"((?\u003c=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{"name":"support.function.livescript","match":"(?x)\\b(\n\t\t\t\tdecodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require\n\t\t\t)\\b"},{"name":"support.function.prelude.livescript","match":"(?x)(?\u003c![.-])\\b(\n\t\t\t\tmap|filter|reject|partition|find|each|head|tail|last|initial|empty|\n\t\t\t\tvalues|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n\t\t\t\tand(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n\t\t\t\tconcat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n\t\t\t\tsplit(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n\t\t\t\tbreak(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n\t\t\t\tpairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n\t\t\t\tzip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n\t\t\t\tsort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n\t\t\t\tdifference|intersection|union|average|flatten|chars|unchars|repeat|\n\t\t\t\tlines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n\t\t\t\trecip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n\t\t\t\tround|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n\t\t\t)\\b(?![.-])"},{"name":"support.function.semireserved.livescript","match":"(?x)(?\u003c![.-])\\b(that|it|e|_)\\b"},{"name":"support.function.method.array.livescript","match":"(?x)((?\u003c=(\\.|\\]|\\)))(\n\t\t\t\tapply|call|concat|every|filter|for(Each|-each)|\n\t\t\t\tfrom|has(Own|-own)(Property|-property)|index(Of|-of)|\n\t\t\t\tis(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n\t\t\t\tmap|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n\t\t\t\treduce(Right|-right)?|reverse|shift|slice|some|sort|\n\t\t\t\tsplice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n\t\t\t))\\b(?!-) "},{"name":"support.function.static.array.livescript","match":"(?x)((?\u003c=Array\\.)(\n\t\t\t\tisArray\n\t\t\t))\\b"},{"name":"support.function.static.object.livescript","match":"(?x)((?\u003c=Object\\.)(\n\t\t\t\tcreate|define(Propert|-propert)(ies|y)|freeze|\n\t\t\t\tget(Own|-own)(Property|-property)(Descriptors?|Names)|\n\t\t\t\tget(Property|-property)(Descriptor|Names)|getPrototypeOf|\n\t\t\t\tis((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n\t\t\t\tkeys|prevent(Extensions|-extensions)|seal\n\t\t\t))\\b"},{"name":"support.function.static.math.livescript","match":"(?x)((?\u003c=Math\\.)(\n\t\t\t\tabs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n\t\t\t\thypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n\t\t\t\ttan|tanh|trunc\n\t\t\t))\\b"},{"name":"support.function.static.number.livescript","match":"(?x)((?\u003c=Number\\.)(\n\t\t\t\tis(Finite|Integer|NaN)|to(Integer|-integer)\n\t\t\t))\\b"},{"name":"variable.other.livescript","match":"[\\$\\w][\\w-]*"}],"repository":{"backslash_string":{"patterns":[{"contentName":"string.quoted.single.livescript","begin":"\\\\([\\\\)\\s,\\};\\]])?","end":"([\\\\)\\s,\\};\\]])","beginCaptures":{"0":{"name":"string.quoted.single.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"constructor_variable":{"patterns":[{"name":"variable.other.readwrite.constructor.livescript","match":"([a-zA-Z$_][\\w$-]*)(@{2})([a-zA-Z$_][\\w$-]*)?"}]},"double_quoted_string":{"patterns":[{"name":"string.quoted.double.livescript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"embedded_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"embedded_spaced_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#\\s).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"instance_variable":{"patterns":[{"name":"variable.other.readwrite.instance.livescript","match":"(?\u003c![$\\w\\-])(@)"}]},"interpolated_livescript":{"patterns":[{"name":"source.livescript.embedded.source","begin":"\\#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.livescript"}}},{"name":"source.livescript.embedded.source.simple","match":"#([a-zA-Z$_-]+|@)","begin":"\\#","patterns":[{"include":"$self"}]}]},"numeric":{"patterns":[{"name":"constant.numeric.livescript","match":"(?\u003c![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9]+[0-9_]*)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z0-9]*)"}]},"single_quoted_string":{"patterns":[{"name":"string.quoted.single.livescript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"variable_name":{"patterns":[{"name":"variable.assignment.livescript","match":"([a-zA-Z\\$_][\\w$-]*(\\.\\w+)*)(?!\\-)","captures":{"1":{"name":"variable.assignment.livescript"}}}]}}}
|
1
|
+
{"name":"LiveScript","scopeName":"source.livescript","patterns":[{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t!?[~-]{1,2}\u003e\\*?\n\t\t\t\t|\u003c[~-]{1,2}!?\n\t\t\t\t|\\(\\s* (?= instanceof[\\s)]|and[\\s)]|or[\\s)]|is[\\s)]|isnt[\\s)]|in[\\s)]|import[\\s)]|import\\ all[\\s)] |\\.|[-+/*%^\u0026\u003c\u003e=|][\\b\\s)\\w$]|\\*\\*|\\%\\%)\n\t\t\t\t| (?\u003c=[\\s(]instanceof|[\\s(]and|[\\s(]or|[\\s(]is|[\\s(]isnt|[\\s(]in|[\\s(]import|[\\s(]import\\ all|[\\s(]do|\\.|\\*\\*|\\%\\%|[\\b\\s(\\w$][-+/*%^\u0026\u003c\u003e=|]) \\s*\\)\n\t\t\t"},{"name":"comment.block.livescript","begin":"\\/\\*","end":"\\*\\/","patterns":[{"name":"storage.type.annotation.livescriptscript","match":"@\\w*"}],"captures":{"0":{"name":"punctuation.definition.comment.livescript"}}},{"name":"comment.line.number-sign.livescript","match":"(#)(?!\\{).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}},{"match":"((?:!|~|!~|~!)?function\\*?)\\s+([$\\w\\-]*[$\\w]+)","captures":{"1":{"name":"storage.type.function.livescript"},"2":{"name":"entity.name.function.livescript"}}},{"match":"(new)\\s+(\\w+(?:\\.\\w*)*)","captures":{"1":{"name":"keyword.operator.new.livescript"},"2":{"name":"entity.name.type.instance.livescript"}}},{"name":"keyword.illegal.livescript","match":"\\b(package|private|protected|public|interface|enum|static)(?!-)\\b"},{"name":"string.quoted.heredoc.livescript","begin":"'''","end":"'''","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.double.heredoc.livescript","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\."},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.quoted.script.livescript","begin":"``","end":"``","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}},{"name":"string.array-literal.livescript","begin":"\u003c\\[","end":"\\]\u003e"},{"name":"string.regexp.livescript","match":"/{2}(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])/{2}"},{"name":"string.regexp.livescript","begin":"/{2}\\n","end":"/{2}[imgy]{0,4}","patterns":[{"include":"#embedded_spaced_comment"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","begin":"/{2}","end":"/{2}[imgy]{0,4}","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}]},{"name":"string.regexp.livescript","match":"/(?![\\s=/*+{}?]).*?[^\\\\]/[igmy]{0,4}(?![a-zA-Z0-9])"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(\n\t\t\t\t\tinstanceof|new|delete|typeof|and|or|is|isnt|not\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"\u003c\\||\\|\u003e"},{"name":"keyword.control.livescript","match":"=\u003e"},{"name":"keyword.control.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\treturn|break|continue|throw\n\t\t\t\t|try|if|while|for|for\\s+own|switch|unless|until\n\t\t\t\t|catch|finally|else|nobreak|case|default|fallthrough|when|otherwise|then\n\t\t\t\t|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.operator.livescript","match":"(?x)\n\t\t\t\tand=|or=|%|\u0026|\\^|\\*|\\/|(?\u003c![a-zA-Z$_])(\\-)?\\-(?!\\-?\u003e)|\\+\\+|\\+|\n\t\t\t\t~(?!~?\u003e)|==|=|!=|\u003c=|\u003e=|\u003c\u003c=|\u003e\u003e=|\n\t\t\t\t\u003e\u003e\u003e=|\u003c\u003e|\u003c(?!\\[)|(?\u003c!\\])\u003e|(?\u003c!\\w)!(?!([~\\-]+)?\u003e)|\u0026\u0026|\\.\\.(\\.)?|\\s\\.\\s|\\?|\\|\\||\\:|\\*=|(?\u003c!\\()/=|%=|\\+=|\\-=|\\.=|\u0026=\n\t\t\t\t|\\^=\n\t\t\t"},{"name":"storage.type.function.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tfunction\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"name":"keyword.other.livescript","match":"(?x)\n\t\t\t\t\\b(?\u003c![\\.\\$\\-@])(?:\n\t\t\t\tthis|throw|then|try|typeof!?|til|to\n\t\t\t\t|continue|const|case|catch|class\n\t\t\t\t|in|instanceof|import|import\\s+all|implements|if|is\n\t\t\t\t|default|delete|debugger|do\n\t\t\t\t|for|for\\s+own|finally|function|from|fallthrough\n\t\t\t\t|super|switch\n\t\t\t\t|else|nobreak|extends|export|eval\n\t\t\t\t|and|arguments\n\t\t\t\t|new|not\n\t\t\t\t|unless|until\n\t\t\t\t|while|with|when\n\t\t\t\t|of|or|otherwise\n\t\t\t\t|let|var|loop\n\t\t\t\t|match\n\t\t\t\t|by|yield\n\t\t\t\t)(?!\\-|\\s*:)\\b\n\t\t\t"},{"match":"([a-zA-Z\\$_](?:[\\w$.-])*)\\s*(?!\\::)((:)|(=(?!\u003e)))\\s*(?!(\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))","captures":{"1":{"name":"variable.assignment.livescript"},"3":{"name":"punctuation.separator.key-value, keyword.operator.livescript"},"4":{"name":"keyword.operator.livescript"}}},{"name":"meta.variable.assignment.destructured.livescript","begin":"(?\u003c=\\s|^)([\\[\\{])(?=.*?[\\]\\}]\\s+[:=])","end":"([\\]\\}]\\s*[:=])","patterns":[{"include":"#variable_name"},{"include":"#instance_variable"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"}],"beginCaptures":{"0":{"name":"keyword.operator.livescript"}},"endCaptures":{"0":{"name":"keyword.operator.livescript"}}},{"name":"meta.function.livescript","match":"(?x)\n\t\t\t\t(\\s*)\n\t\t\t\t(?=[a-zA-Z\\$_])\n\t\t\t\t([a-zA-Z\\$_]([\\w$.:-])*)\\s*\n\t\t\t\t(?=[:=](\\s*!?\\s*\\(.*\\))?\\s*(!?[~-]{1,2}\u003e\\*?))\n\t\t\t","captures":{"2":{"name":"entity.name.function.livescript"},"3":{"name":"entity.name.function.livescript"},"4":{"name":"variable.parameter.function.livescript"},"5":{"name":"storage.type.function.livescript"}}},{"name":"constant.language.boolean.true.livescript","match":"\\b(?\u003c!\\.)(true|on|yes)(?!\\s*:)\\b"},{"name":"constant.language.boolean.false.livescript","match":"\\b(?\u003c!\\.)(false|off|no)(?!\\s*:)\\b"},{"name":"constant.language.null.livescript","match":"\\b(?\u003c!\\.)(null|void)(?!\\s*:)\\b"},{"name":"variable.language.livescript","match":"\\b(?\u003c!\\.)(super|this|extends)(?!\\s*:)\\b"},{"name":"meta.class.livescript","match":"(class\\b)\\s+(@?[a-zA-Z$_][\\w$.-]*)?(?:\\s+(extends)\\s+(@?[a-zA-Z$_][\\w$.-]*))?","captures":{"1":{"name":"storage.type.class.livescript"},"2":{"name":"entity.name.type.class.livescript"},"3":{"name":"keyword.control.inheritance.livescript"},"4":{"name":"entity.other.inherited-class.livescript"}}},{"name":"keyword.other.livescript","match":"\\b(debugger|\\\\)\\b"},{"name":"support.class.livescript","match":"(?x)\\b(\n\t\t\t\tArray|ArrayBuffer|Blob|Boolean|Date|document|event|Function|\n\t\t\t\tInt(8|16|32|64)Array|Math|Map|Number|\n\t\t\t\tObject|Proxy|RegExp|Set|String|WeakMap|\n\t\t\t\twindow|Uint(8|16|32|64)Array|XMLHttpRequest\n\t\t\t)\\b"},{"name":"entity.name.type.object.livescript","match":"\\b(console)\\b"},{"name":"constant.language.livescript","match":"\\b(Infinity|NaN|undefined)\\b"},{"name":"punctuation.terminator.statement.livescript","match":"\\;"},{"name":"meta.delimiter.object.comma.livescript","match":",[ |\\t]*"},{"name":"meta.delimiter.method.period.livescript","match":"\\."},{"name":"meta.brace.curly.livescript","match":"\\{|\\}"},{"name":"meta.brace.round.livescript","match":"\\(|\\)"},{"name":"meta.brace.square.livescript","match":"\\[|\\]\\s*"},{"include":"#instance_variable"},{"include":"#backslash_string"},{"include":"#single_quoted_string"},{"include":"#double_quoted_string"},{"include":"#numeric"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)\\s*(`)","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"name":"keyword.operator.livescript","match":"`"},{"match":"()(@|@@|[$\\w\\-]*[$\\w]+)(?:(\\??\\!)|[(])","captures":{"1":{"name":"keyword.operator.livescript"},"2":{"name":"meta.function-call.livescript"},"3":{"name":"keyword.operator.livescript"}}},{"match":"(@|@@|[$\\w\\-]*[$\\w]+)(\\?)? (?!\\s*(((by|of|and|or|with|when|unless|if|is|isnt|else|nobreak|for|from|not in|in|catch|til|to|then|import|extends|implements|instanceof)\\b)|[=:.*\\/+\\-%\\^\u003c\u003e][ =)]|[`}%*)]|/(?!.*?/)|\u0026\u0026|[.][^.]|=\u003e|\\/ +|\\||\\|\\||\\-\\-|\\+\\+|\\|\u003e|\u003c|\\||$|\\n|\\#|/\\*))","captures":{"1":{"name":"meta.function-call.livescript"},"2":{"name":"keyword.operator.livescript"}}},{"name":"keyword.control.livescript","match":"\\| _"},{"name":"keyword.control.livescript","match":"\\|(?![.])"},{"name":"keyword.operator.livescript","match":"\\|"},{"name":"support.function.console.livescript","match":"((?\u003c=console\\.)(debug|warn|info|log|error|time(End|-end)|assert))\\b"},{"name":"support.function.livescript","match":"(?x)\\b(\n\t\t\t\tdecodeURI(Component)?|encodeURI(Component)?|eval|parse(Float|Int)|require\n\t\t\t)\\b"},{"name":"support.function.prelude.livescript","match":"(?x)(?\u003c![.-])\\b(\n\t\t\t\tmap|filter|reject|partition|find|each|head|tail|last|initial|empty|\n\t\t\t\tvalues|keys|length|cons|append|join|reverse|fold(l|r)?1?|unfoldr|\n\t\t\t\tand(List|-list)|or(List|-list)|any|all|unique|sum|product|mean|compact|\n\t\t\t\tconcat(Map|-map)?|maximum|minimum|scan(l|r)?1?|replicate|slice|apply|\n\t\t\t\tsplit(At|-at)?|take(While|-while)?|drop(While|-while)?|span|first|\n\t\t\t\tbreak(It|-it)|list(ToObj|-to-obj)|obj(ToFunc|-to-func)|\n\t\t\t\tpairs(ToObj|-to-obj)|obj(ToPairs|-to-pairs|ToLists|-to-lists)|\n\t\t\t\tzip(All|-all)?(With|-with)?|compose|curry|partial|flip|fix|\n\t\t\t\tsort(With|-with|By|-by)?|group(By|-by)|break(List|-list|Str|-str)|\n\t\t\t\tdifference|intersection|union|average|flatten|chars|unchars|repeat|\n\t\t\t\tlines|unlines|words|unwords|max|min|negate|abs|signum|quot|rem|div|mod|\n\t\t\t\trecip|pi|tau|exp|sqrt|ln|pow|sin|cos|tan|asin|acos|atan|atan2|truncate|\n\t\t\t\tround|ceiling|floor|is(It|-it)NaN|even|odd|gcd|lcm|disabled__id\n\t\t\t)\\b(?![.-])"},{"name":"support.function.semireserved.livescript","match":"(?x)(?\u003c![.-])\\b(that|it|e|_)\\b"},{"name":"support.function.method.array.livescript","match":"(?x)((?\u003c=(\\.|\\]|\\)))(\n\t\t\t\tapply|call|concat|every|filter|for(Each|-each)|\n\t\t\t\tfrom|has(Own|-own)(Property|-property)|index(Of|-of)|\n\t\t\t\tis(Prototype|-prototype)(Of|-of)|join|last(Index|-index)(Of|-of)|\n\t\t\t\tmap|of|pop|property(Is|-is)(Enumerable|-enumerable)|push|\n\t\t\t\treduce(Right|-right)?|reverse|shift|slice|some|sort|\n\t\t\t\tsplice|to(Locale|-locale)?(String|-string)|unshift|valueOf\n\t\t\t))\\b(?!-) "},{"name":"support.function.static.array.livescript","match":"(?x)((?\u003c=Array\\.)(\n\t\t\t\tisArray\n\t\t\t))\\b"},{"name":"support.function.static.object.livescript","match":"(?x)((?\u003c=Object\\.)(\n\t\t\t\tcreate|define(Propert|-propert)(ies|y)|freeze|\n\t\t\t\tget(Own|-own)(Property|-property)(Descriptors?|Names)|\n\t\t\t\tget(Property|-property)(Descriptor|Names)|getPrototypeOf|\n\t\t\t\tis((Extensible|-extensible)|(Frozen|-frozen)|(Sealed|-sealed))?|\n\t\t\t\tkeys|prevent(Extensions|-extensions)|seal\n\t\t\t))\\b"},{"name":"support.function.static.math.livescript","match":"(?x)((?\u003c=Math\\.)(\n\t\t\t\tabs|acos|acosh|asin|asinh|atan|atan2|atanh|ceil|cos|cosh|exp|expm1|floor|\n\t\t\t\thypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sin|sinh|sqrt|\n\t\t\t\ttan|tanh|trunc\n\t\t\t))\\b"},{"name":"support.function.static.number.livescript","match":"(?x)((?\u003c=Number\\.)(\n\t\t\t\tis(Finite|Integer|NaN)|to(Integer|-integer)\n\t\t\t))\\b"},{"name":"variable.other.livescript","match":"[\\$\\w][\\w-]*"}],"repository":{"backslash_string":{"patterns":[{"contentName":"string.quoted.single.livescript","begin":"\\\\([\\\\)\\s,\\};\\]])?","end":"(?=[\\\\)\\s,\\};\\]])","beginCaptures":{"0":{"name":"string.quoted.single.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"constructor_variable":{"patterns":[{"name":"variable.other.readwrite.constructor.livescript","match":"([a-zA-Z$_][\\w$-]*)(@{2})([a-zA-Z$_][\\w$-]*)?"}]},"double_quoted_string":{"patterns":[{"name":"string.quoted.double.livescript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_livescript"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"embedded_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"embedded_spaced_comment":{"patterns":[{"name":"comment.line.number-sign.livescript","match":"(?\u003c!\\\\)(#\\s).*$\\n","captures":{"1":{"name":"punctuation.definition.comment.livescript"}}}]},"instance_variable":{"patterns":[{"name":"variable.other.readwrite.instance.livescript","match":"(?\u003c![$\\w\\-])(@)"}]},"interpolated_livescript":{"patterns":[{"name":"source.livescript.embedded.source","begin":"\\#\\{","end":"\\}","patterns":[{"include":"$self"}],"captures":{"0":{"name":"punctuation.section.embedded.livescript"}}},{"name":"source.livescript.embedded.source.simple","match":"#([a-zA-Z$_-]+|@)","begin":"\\#","patterns":[{"include":"$self"}]}]},"numeric":{"patterns":[{"name":"constant.numeric.livescript","match":"(?\u003c![\\$@a-zA-Z_])(([0-9]+r[0-9_]+)|((16r|0[xX])[0-9a-fA-F_]+)|([0-9]+(\\.[0-9]+[0-9_]*)?(e[+\\-]?[0-9_]+)?)[_a-zA-Z0-9]*)"}]},"single_quoted_string":{"patterns":[{"name":"string.quoted.single.livescript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.livescript","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.livescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.livescript"}}}]},"variable_name":{"patterns":[{"name":"variable.assignment.livescript","match":"([a-zA-Z\\$_][\\w$-]*(\\.\\w+)*)(?!\\-)","captures":{"1":{"name":"variable.assignment.livescript"}}}]}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"MiniYAML","scopeName":"source.miniyaml","patterns":[{"include":"#comment"},{"
|
1
|
+
{"name":"MiniYAML","scopeName":"source.miniyaml","patterns":[{"include":"#comment"},{"include":"#node"}],"repository":{"block-pair":{"name":"entity.name.tag.yaml","match":"^\\t*(\\S+?)(?=@|:)","patterns":[{"include":"#node-identifier"}]},"comment":{"name":"comment.line.number-sign.yaml","begin":"(?\u003c=^|\\s)#(?!{)","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.yaml"}}},"constants":{"name":"constant.language.yaml","match":"(?::\\s)(true|false|True|False|TRUE|FALSE|~)(?=\\s*$)"},"node":{"patterns":[{"include":"#node-removal"},{"include":"#block-pair"},{"include":"#node-identifier"},{"include":"#scalar-content"}]},"node-identifier":{"name":"support.yaml","match":"(?\u003c=\\S)(@\\S+)(?=:\\s)"},"node-removal":{"name":"entity.yaml","match":"^\\t+(-.+?)(?=@|:\\s)"},"numeric":{"patterns":[{"name":"constant.numeric.integer.yaml","match":"(?::\\s)[-+]?[0-9]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.octal.yaml","match":"(?::\\s)0o[0-7]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.hexadecimal.yaml","match":"(?::\\s)0x[0-9a-fA-F]+(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)[-+]?(.[0-9]+|[0-9]+(.[0-9]*)?)([eE][-+]?[0-9]+)?(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)[-+]?(.inf|.Inf|.INF)(?=\\s*($|#(?!#{)))"},{"name":"constant.numeric.float.yaml","match":"(?::\\s)(.nan|.NaN|.NAN)(?=\\s*($|#(?!#{)))"}]},"scalar-content":{"patterns":[{"include":"#comment"},{"include":"#constants"},{"include":"#numeric"},{"include":"#strings"}]},"strings":{"patterns":[{"name":"string.unquoted.yaml","match":"[^\\s\"'\\n](?!\\s*#(?!{))([^#\\n]|((?\u003c!\\s)#))*"}]}}}
|
data/grammars/source.mlir.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"MLIR","scopeName":"source.mlir","patterns":[{"include":"#comment"},{"include":"#string"},{"
|
1
|
+
{"name":"MLIR","scopeName":"source.mlir","patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#top_level_entity"}],"repository":{"attribute_alias_def":{"match":"^\\s*(\\#\\w+)\\b\\s+\\=","captures":{"1":{"name":"constant.language.mlir"}}},"attribute_dictionary_body":{"patterns":[{"include":"#comment"},{"include":"#string"},{"include":"#attribute_value"},{"name":"variable.other.mlir","match":"(\\%)?\\b([\\w\\.\\-\\$\\:0-9]+)\\b\\s*(?=\\=|\\,|\\})"}]},"attribute_value":{"patterns":[{"include":"#string"},{"include":"#comment"},{"include":"#number"},{"name":"constant.language.mlir","match":"\\b(false|true|unit)\\b"},{"begin":"\\b(affine_map|affine_set)\\s*\\\u003c","end":"\\)\\\u003e","patterns":[{"name":"entity.name.function.mlir","match":"\\b(ceildiv|floordiv|mod|symbol)\\b"},{"name":"variable.mlir","match":"\\b([\\w\\.\\$\\-]+)\\b"},{"include":"#number"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"begin":"\\b(dense|opaque|sparse)\\s*\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"#attribute_value"},{"include":"#operation_body"}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#attribute_dictionary_body"}]},{"name":"entity.name.function.mlir","match":"(\\@[\\w+\\$\\-\\.]*)"},{"begin":"(\\#[\\w\\$\\-\\.]+)\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"constant.language.mlir"}}},{"name":"constant.language.mlir","match":"\\#[\\w\\$\\-\\.]+\\b"},{"include":"#type_value"},{"begin":"\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"include":"#bare_identifier"}]}]},"bare_identifier":{"name":"keyword.other.mlir","match":"\\b([\\w\\.\\$\\-]+)\\b"},"block":{"name":"keyword.control.mlir","match":"\\^[\\w\\d_$\\.-]+"},"comment":{"name":"comment.line.double-slash.mlir","match":"//.*$"},"number":{"patterns":[{"name":"constant.numeric.mlir","match":"(\\W)?([0-9]+\\.[0-9]*)([eE][+-]?[0-9]+)?"},{"match":"([\\W])?(0x[0-9a-zA-Z]+)","captures":{"2":{"name":"constant.numeric.mlir"}}},{"match":"([\\Wx])?([0-9]+)","captures":{"2":{"name":"constant.numeric.mlir"}}}]},"operation":{"patterns":[{"match":"^\\s*(\\%[\\%\\w\\:\\,\\s]+)\\s+\\=\\s+([\\w\\.\\$\\-]+)\\b","captures":{"1":{"patterns":[{"include":"#ssa_value"}]},"2":{"name":"variable.other.enummember.mlir"}}},{"name":"variable.other.enummember.mlir","match":"^\\s*([\\w\\.\\$\\-]+)\\b(?=[^\\\u003c\\:])"}]},"operation_body":{"patterns":[{"include":"#operation"},{"include":"#region_body_or_attr_dict"},{"include":"#comment"},{"include":"#ssa_value"},{"include":"#block"},{"include":"#attribute_value"},{"include":"#bare_identifier"}]},"region_body_or_attr_dict":{"patterns":[{"begin":"\\{\\s*(?=\\%|\\/|\\^)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=[^\\}]*$)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=\\%)","end":"\\}","patterns":[{"include":"#operation_body"}]},{"begin":"\\{\\s*(?=.*$)","end":"\\}","patterns":[{"include":"#attribute_dictionary_body"}]}]},"ssa_value":{"name":"variable.other.mlir","match":"\\%[\\w\\.\\$\\:\\#]+"},"string":{"name":"string.quoted.double.mlir","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.mlir","match":"\\\\[nt\"]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.mlir"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.mlir"}}},"top_level_entity":{"patterns":[{"include":"#attribute_alias_def"},{"include":"#type_alias_def"},{"include":"#operation_body"}]},"type_alias_def":{"match":"^\\s*(\\!\\w+)\\b\\s+\\=","captures":{"1":{"name":"entity.name.type.mlir"}}},"type_value":{"patterns":[{"begin":"(\\![\\w\\$\\-\\.]+)\\\u003c","end":"\\\u003e","patterns":[{"include":"#attribute_value"},{"name":"punctuation.other.mlir","match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"entity.name.type.mlir"}}},{"name":"entity.name.type.mlir","match":"\\![\\w\\$\\-\\.]+\\b"},{"begin":"(complex|memref|tensor|tuple|vector)\\\u003c","end":"\\\u003e","patterns":[{"match":"[\\?x0-9\\[\\]]+","captures":{"0":{"patterns":[{"include":"#number"}]}}},{"include":"#attribute_value"},{"name":"punctuation.other.mlir","match":"\\-\\\u003e|\\\u003e\\="},{"include":"#bare_identifier"}],"beginCaptures":{"1":{"name":"entity.name.type.mlir"}}},{"name":"entity.name.type.mlir","match":"bf16|f16|f32|f64|f80|f128|index|none|(u|s)?i[0-9]+"}]}}}
|
data/grammars/source.mo.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Swift","scopeName":"source.mo","patterns":[{"include":"#shebang-line"},{"include":"#comment"},{"include":"#attribute"},{"include":"#literal"},{"include":"#operator"},{"include":"#declaration"},{"include":"#storage-type"},{"include":"#keyword"},{"include":"#type"},{"include":"#boolean"}],"repository":{"access-level-modifier":{"name":"keyword.other.access-level-modifier.swift","match":"\\b(open|public|internal|fileprivate|private)\\b(?:\\(set\\))?"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.swift","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.swift"},"2":{"name":"punctuation.array.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.array.end.swift"}}},"assignment-operator":{"name":"keyword.operator.assignment.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c|\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"attribute":{"name":"meta.attribute.swift","patterns":[{"contentName":"meta.attribute.arguments.swift","begin":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"},"3":{"name":"punctuation.definition.attribute-arguments.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.swift"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.swift"},"2":{"name":"punctuation.definition.attribute.swift"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c|\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.swift","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.swift"}}},"boolean":{"name":"keyword.constant.boolean.swift","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.swift","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"catch-statement-keyword":{"name":"kewyord.control.catch.swift","match":"\\b(catch|do)\\b"},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.swift"}}},"collection-type":{"patterns":[{"include":"#array-type"},{"include":"#dictionary-type"},{"name":"support.type.swift","match":"\\b(Array|Dictionary)\\b"}]},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.swift","match":"\\b(continue|break|fallthrough|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.swift","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.swift","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.swift","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration":{"name":"meta.declaration.swift","patterns":[{"include":"#import-declaration"},{"include":"#function-declaration"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.swift","match":"\\b(class|object|type|shared|convenience|dynamic|final|lazy|(non)?mutating|optional|override|required|static|unowned((un)?safe)?|weak)\\b"},"dictionary-type":{"name":"meta.dictionary.swift","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.swift"},"2":{"name":"punctuation.dictionary.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.swift"}}},"documentation-comment":{"name":"comment.block.documentation.swift","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.swift"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.swift"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.swift","patterns":[{"match":"\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+\\-]?([0-9][0-9_]*))?\\b"},{"match":"\\b(0x[[:xdigit:]][[[:xdigit:]]_]*)(\\.(0x[[:xdigit:]][[[:xdigit:]]_]*))?([pP][+\\-]?(0x[[:xdigit:]][[[:xdigit:]]_]*))\\b"}]},"function-body":{"name":"meta.function-body.swift","patterns":[{"include":"#code-block"}]},"function-declaration":{"name":"meta.function-declaration.swift","begin":"\\b(func)\\s+(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})","patterns":[{"include":"#generic-parameter-clause"},{"include":"#parameter-clause"},{"include":"#function-result"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"storage.type.function.swift"},"2":{"name":"entity.type.function.swift"}}},"function-result":{"name":"meta.function-result.swift","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"\\s*(?=\\{)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.swift"}}},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.swift","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.swift"}}},"identifier":{"name":"meta.identifier.swift","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.swift","match":"\\b(if|else)\\b"},"import-declaration":{"name":"meta.import.swift","match":"\\b(import)\\s+(?:(class|var|func)\\s+)?((?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)(?:\\.(?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+))*)","captures":{"1":{"name":"keyword.other.import.swift"},"2":{"name":"storage.modifier.swift"},"3":{"name":"support.type.module.import.swift"}}},"in-line-comment":{"name":"comment.line.double-slash.swift","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.swift"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.swift","patterns":[{"name":"constant.numeric.integer.binary.swift","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.swift","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.swift","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.swift","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"integer-type":{"name":"support.type.swift","match":"\\bU?Int(8|16|32|64)?\\b"},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"include":"#access-level-modifier"},{"name":"keyword.declaration.swift","match":"\\b(async|actor|and|class|func|import|let|module|not|or)\\b"},{"name":"keyword.statement.swift","match":"\\b(assert|async|await|break|case|continue|default|debug|debug_show|else|if|in|for|return|switch|while|loop|try|throw|query)\\b"},{"name":"keyword.other.swift","match":"\\b(associativity|didSet|get|infix|inout|left|mutating|none|nonmutating|operator|override|postfix|precedence|prefix|right|set|unowned((un)?safe)?|weak|willSet)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#special-literal"}]},"logical-operator":{"name":"keyword.operator.logical.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.swift","match":"\\b(while|repeat|for|in|loop)\\b"},"nil-literal":{"name":"constant.nil.swift","match":"\\bnil\\b"},"operator":{"patterns":[{"include":"#comparative-operator"},{"include":"#assignment-operator"},{"include":"#logical-operator"},{"include":"#remainder-operator"},{"include":"#increment-decrement-operator"},{"include":"#overflow-operator"},{"include":"#range-operator"},{"include":"#bitwise-operator"},{"include":"#arithmetic-operator"},{"include":"#ternary-operator"},{"include":"#type-casting-operator"},{"include":"#custom-operator"}]},"operator-declaration-modifier":{"name":"keyword.other.operator.swift","match":"\\b(operator|prefix|infix|postfix)\\b"},"optional-type":{"name":"meta.optional.swift","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.swift"},"2":{"name":"punctuation.optional.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.optional.end.swift"}}},"overflow-operator":{"name":"keyword.operator.overflow.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.swift","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.swift"}}},"primitive-type":{"name":"support.type.swift","match":"\\b[A-Z].*?\\b"},"protocol-composition-type":{"name":"meta.protocol.swift","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.swift"},"2":{"name":"punctuation.protocol.begin.swift"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.swift"}}},"range-operator":{"name":"keyword.operator.range.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.swift","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"shebang-line":{"name":"comment.line.shebang.swift","match":"^(#!).*$","captures":{"1":{"name":"punctuation.definition.comment.line.shebang.swift"}}},"special-literal":{"name":"keyword.other.literal.swift","match":"\\b__(FILE|LINE|COLUMN|FUNCTION)__\\b"},"storage-type":{"name":"storage.type.swift","match":"\\b(var|func|let|class|enum)\\b"},"string-literal":{"name":"meta.literal.string.swift","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.swift","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"contentName":"meta.expression.swift","begin":"(\\\\\\()","end":"(\\))","patterns":[{"include":"source.swift"}],"beginCaptures":{"1":{"name":"support.punctuation.expression.begin.swift"}},"endCaptures":{"1":{"name":"support.punctuation.expression.end.swift"}}},{"name":"invalid.illegal.swift","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.swift","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.swift"}},"endCaptures":{"0":{"name":"string.quoted.double.swift"}}},"switch-statement-keyword":{"name":"keyword.control.switch.swift","match":"\\b(switch|case|default|where)\\b"},"ternary-operator":{"name":"keyword.operator.ternary.swift","match":"(?\u003c=[\\s(\\[{,;:])(\\?|:)(?=[\\s)\\]},;:])"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#integer-type"},{"include":"#collection-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]},"type-casting-operator":{"name":"keyword.operator.type-casting.swift","match":"\\b(is\\b|as(\\?\\B|\\b))"}}}
|
1
|
+
{"name":"Motoko","scopeName":"source.mo","patterns":[{"include":"#shebang-line"},{"include":"#comment"},{"include":"#attribute"},{"include":"#literal"},{"include":"#operator"},{"include":"#declaration"},{"include":"#storage-type"},{"include":"#keyword"},{"include":"#type"},{"include":"#boolean"}],"repository":{"access-level-modifier":{"name":"keyword.other.access-level-modifier.motoko","match":"\\b(public|system|private)\\b"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"array-type":{"name":"meta.array.motoko","begin":"\\b(Array)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.array.motoko"},"2":{"name":"punctuation.array.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.array.end.motoko"}}},"assignment-operator":{"name":"keyword.operator.assignment.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+|\\-|\\*|\\/|%|\u003c\u003c|\u003e\u003e|\u0026|\\^|\\||\u0026\u0026|\\|\\|)?=(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"async-await-keyword":{"name":"keyword.async-await.motoko","match":"\\b(async|await)\\b"},"attribute":{"name":"meta.attribute.motoko","patterns":[{"contentName":"meta.attribute.arguments.motoko","begin":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"},"3":{"name":"punctuation.definition.attribute-arguments.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute-arguments.end.motoko"}}},{"match":"((@)(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B))","captures":{"1":{"name":"storage.modifier.attribute.motoko"},"2":{"name":"punctuation.definition.attribute.motoko"}}}]},"bitwise-operator":{"name":"keyword.operator.bitwise.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\u0026|\\||\\^|\u003c\u003c|\u003e\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"block-comment":{"name":"comment.block.motoko","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.motoko"}}},"boolean":{"name":"keyword.constant.boolean.motoko","match":"\\b(true|false)\\b"},"branch-statement-keyword":{"name":"keyword.control.branch.motoko","patterns":[{"include":"#if-statement-keyword"},{"include":"#switch-statement-keyword"}]},"catch-statement-keyword":{"name":"kewyord.control.catch.motoko","match":"\\b(catch|do)\\b"},"code-block":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.code-block.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.code-block.end.motoko"}}},"comment":{"patterns":[{"include":"#documentation-comment"},{"include":"#block-comment"},{"include":"#in-line-comment"}]},"comparative-operator":{"name":"keyword.operator.comparative.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])((=|!)==?|(\u003c|\u003e)=?|~=)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"control-transfer-statement-keyword":{"name":"keyword.control.transfer.motoko","match":"\\b(continue|break|return)\\b"},"custom-operator":{"patterns":[{"name":"keyword.operator.custom.prefix.unary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:])"},{"name":"keyword.operator.custom.postfix.unary.motoko","match":"(?\u003c![\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?![\\s)\\]},;:\\.])"},{"name":"keyword.operator.custom.binary.motoko","match":"(?\u003c=[\\s(\\[{,;:])([/=\\-+!*%\u003c\u003e\u0026|\\^~.]++)(?=[\\s)\\]},;:])"}]},"declaration":{"name":"meta.declaration.motoko","patterns":[{"include":"#import-declaration"}]},"declaration-modifier":{"name":"keyword.other.declaration-modifier.motoko","match":"\\b(class|object|type|shared)\\b"},"dictionary-type":{"name":"meta.dictionary.motoko","begin":"\\b(Dictionary)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.dictionary.motoko"},"2":{"name":"punctuation.dictionary.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.dictionary.end.motoko"}}},"documentation-comment":{"name":"comment.block.documentation.motoko","begin":"/\\*\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.begin.motoko"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.documentation.end.motoko"}}},"floating-point-literal":{"name":"constant.numeric.floating-point.motoko","patterns":[{"match":"\\b([0-9][0-9_]*)(\\.([0-9][0-9_]*))?([eE][+\\-]?([0-9][0-9_]*))?\\b"},{"match":"\\b(0x[[:xdigit:]][[[:xdigit:]]_]*)(\\.(0x[[:xdigit:]][[[:xdigit:]]_]*))?([pP][+\\-]?(0x[[:xdigit:]][[[:xdigit:]]_]*))\\b"}]},"function-body":{"name":"meta.function-body.motoko","patterns":[{"include":"#code-block"}]},"function-declaration":{"name":"meta.function-declaration.motoko","begin":"\\b(func)\\s+(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)\\s*(?=\\(|\u003c)","end":"(?\u003c=\\})","patterns":[{"include":"#generic-parameter-clause"},{"include":"#parameter-clause"},{"include":"#function-result"},{"include":"#function-body"}],"beginCaptures":{"1":{"name":"storage.type.function.motoko"},"2":{"name":"entity.type.function.motoko"}}},"function-result":{"name":"meta.function-result.motoko","begin":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\-\u003e)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\s*","end":"\\s*(?=\\{)","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.function-result.motoko"}}},"generic-parameter-clause":{"name":"meta.generic-parameter-clause.motoko","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.generic-parameter-clause.end.motoko"}}},"identifier":{"name":"meta.identifier.motoko","match":"(\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B)"},"if-statement-keyword":{"name":"keyword.control.if.motoko","match":"\\b(if|else)\\b"},"import-declaration":{"name":"meta.import.motoko","match":"\\b(import)\\s+(?:(class|var|func)\\s+)?((?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+)(?:\\.(?:\\B\\$[0-9]+|\\b[\\w^\\d][\\w\\d]*\\b|\\B`[\\w^\\d][\\w\\d]*`\\B|[/=\\-+!*%\u003c\u003e\u0026|\\^~.]+))*)","captures":{"1":{"name":"keyword.other.import.motoko"},"2":{"name":"storage.modifier.motoko"},"3":{"name":"support.type.module.import.motoko"}}},"in-line-comment":{"name":"comment.line.double-slash.motoko","match":"(//).*","captures":{"1":{"name":"punctuation.definition.comment.line.double-slash.motoko"}}},"increment-decrement-operator":{"name":"keyword.operator.increment-or-decrement.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(\\+\\+|\\-\\-)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"integer-literal":{"name":"constant.numeric.integer.motoko","patterns":[{"name":"constant.numeric.integer.binary.motoko","match":"(\\B\\-|\\b)(0b[01][01_]*)\\b"},{"name":"constant.numeric.integer.octal.motoko","match":"(\\B\\-|\\b)(0o[0-7][0-7_]*)\\b"},{"name":"constant.numeric.integer.decimal.motoko","match":"(\\B\\-|\\b)([0-9][0-9_]*)\\b"},{"name":"constant.numeric.integer.hexadecimal.motoko","match":"(\\B\\-|\\b)(0x[[:xdigit:]][[[:xdigit:]]_]*)\\b"}]},"keyword":{"patterns":[{"include":"#branch-statement-keyword"},{"include":"#control-transfer-statement-keyword"},{"include":"#loop-statement-keyword"},{"include":"#catch-statement-keyword"},{"include":"#async-await-keyword"},{"include":"#operator-declaration-modifier"},{"include":"#declaration-modifier"},{"include":"#access-level-modifier"},{"name":"keyword.declaration.motoko","match":"\\b(actor|and|class|func|import|let|module|not|or)\\b"},{"name":"keyword.statement.motoko","match":"\\b(assert|break|case|continue|default|debug|debug_show|else|if|ignore|in|for|label|return|switch|while|loop|try|throw)\\b"},{"name":"keyword.other.motoko","match":"\\b(flexible|query|stable)\\b"}]},"literal":{"patterns":[{"include":"#integer-literal"},{"include":"#floating-point-literal"},{"include":"#nil-literal"},{"include":"#string-literal"},{"include":"#special-literal"}]},"logical-operator":{"name":"keyword.operator.logical.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])(!|\u0026\u0026|\\|\\|)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"loop-statement-keyword":{"name":"keyword.control.loop.motoko","match":"\\b(while|repeat|for|in|loop)\\b"},"null-literal":{"name":"constant.null.motoko","match":"\\bnull\\b"},"operator":{"patterns":[{"include":"#comparative-operator"},{"include":"#assignment-operator"},{"include":"#logical-operator"},{"include":"#remainder-operator"},{"include":"#increment-decrement-operator"},{"include":"#overflow-operator"},{"include":"#range-operator"},{"include":"#bitwise-operator"},{"include":"#arithmetic-operator"},{"include":"#ternary-operator"},{"include":"#type-casting-operator"},{"include":"#custom-operator"}]},"operator-declaration-modifier":{"name":"keyword.other.operator.motoko","match":"\\b(operator|prefix|infix|postfix)\\b"},"optional-type":{"name":"meta.optional.motoko","match":"\\b(Optional)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.optional.motoko"},"2":{"name":"punctuation.optional.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.optional.end.motoko"}}},"overflow-operator":{"name":"keyword.operator.overflow.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\\u0026(\\+|\\-|\\*|\\/|%)(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"parameter-clause":{"name":"meta.parameter-clause.motoko","begin":"(\\()","end":"(\\))","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.function-arguments.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.definition.function-arguments.end.motoko"}}},"primitive-type":{"name":"support.type.motoko","match":"\\b(Blob|Bool|Char|Float|(Int|Nat)(8|16|32|64)?|Principal|Text|Error)\\b"},"protocol-composition-type":{"name":"meta.protocol.motoko","match":"\\b(protocol)(\u003c)","end":"(\u003e)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"support.type.protocol.motoko"},"2":{"name":"punctuation.protocol.begin.motoko"}},"endCaptures":{"1":{"name":"punctuation.protocol.end.motoko"}}},"range-operator":{"name":"keyword.operator.range.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\.\\.(?:\\.)?(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"remainder-operator":{"name":"keyword.operator.remainder.motoko","match":"(?\u003c![/=\\-+!*%\u003c\u003e\u0026|\\^~.])\\%(?![/=\\-+!*%\u003c\u003e\u0026|\\^~.])"},"resolved-type":{"name":"support.type.motoko","match":"\\b[A-Z].*?\\b"},"shebang-line":{"name":"comment.line.shebang.motoko","match":"^(#!).*$","captures":{"1":{"name":"punctuation.definition.comment.line.shebang.motoko"}}},"special-literal":{"name":"keyword.other.literal.motoko","match":"\\b__(FILE|LINE|COLUMN|FUNCTION)__\\b"},"storage-type":{"name":"storage.type.motoko","match":"\\b(var|func|let|class|enum)\\b"},"string-literal":{"name":"meta.literal.string.motoko","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.motoko","match":"\\\\([0tnr\\\"\\'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"},{"contentName":"meta.expression.motoko","begin":"(\\\\\\()","end":"(\\))","patterns":[{}],"beginCaptures":{"1":{"name":"support.punctuation.expression.begin.motoko"}},"endCaptures":{"1":{"name":"support.punctuation.expression.end.motoko"}}},{"name":"invalid.illegal.motoko","match":"(\\\"|\\\\)"},{"name":"string.quoted.double.motoko","match":"(.)"}],"beginCaptures":{"0":{"name":"string.quoted.double.motoko"}},"endCaptures":{"0":{"name":"string.quoted.double.motoko"}}},"switch-statement-keyword":{"name":"keyword.control.switch.motoko","match":"\\b(switch|case|default)\\b"},"type":{"patterns":[{"include":"#primitive-type"},{"include":"#resolved-type"},{"include":"#optional-type"},{"include":"#protocol-composition-type"}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"scopeName":"source.move","patterns":[{"include":"#comments"},{"include":"#module"},{"include":"#script"},{"include":"#macros"}],"repository":{"address_literal":{"patterns":[{"name":"support.constant.diem.address.move","match":"\\b(0x[A-Fa-f0-9][A-Fa-f0-9]{,31})\\b"},{"name":"support.constant.dfinance.address.move","match":"\\b(wallet1\\w{38})"},{"name":"support.constant.named.address.move","match":"\\s([@]\\w+)\\b"}]},"as":{"name":"keyword.control.move","match":"\\b(as)\\b"},"as-import":{"name":"meta.import_as.move","match":"\\b(as)\\b"},"assert":{"name":"support.function.assert.move","match":"\\b(assert)\\b"},"block":{"name":"meta.block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#assert"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#resource_methods"},{"include":"#module_access"},{"include":"#fun_call"},{"include":"#block"}]},"block-comments":{"patterns":[{"name":"comment.block.documentation.move","begin":"/\\*[\\*!](?![\\*/])","end":"\\*/"},{"name":"comment.block.move","begin":"/\\*","end":"\\*/"}]},"comments":{"name":"meta.comments.move","patterns":[{"include":"#line-comments"},{"include":"#block-comments"}]},"const":{"name":"meta.const.move","begin":"\\b(const)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#primitives"},{"include":"#vector"},{"include":"#literals"},{"name":"constant.other.move","match":"\\b([\\w_]+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.const.move"}}},"control":{"name":"keyword.control.move","match":"\\b(return|while|loop|if|else|break|continue|abort)\\b"},"entry_fun":{"name":"meta.entry_fun.move","begin":"\\b(entry)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"storage.modifier.native.move","match":"\\b(native)\\b"},{"name":"storage.modifier.public.move","match":"\\b(public)\\b"},{"include":"#fun"}],"beginCaptures":{"1":{"name":"storage.modifier.entry.move"}}},"friend":{"name":"meta.friend.move","begin":"\\b(friend)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"name":"entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"fun":{"patterns":[{"include":"#fun_signature"},{"include":"#fun_body"}]},"fun_body":{"name":"meta.fun_body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#import"},{"include":"#as"},{"include":"#mut"},{"include":"#let"},{"include":"#types"},{"include":"#assert"},{"include":"#literals"},{"include":"#control"},{"include":"#move_copy"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#fun_call"},{"include":"#block"}]},"fun_call":{"name":"meta.fun_call.move","begin":"\\b(\\w+)\\s*(?:\u003c[\\w\\s,]+\u003e)?\\s*[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#resource_methods"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#move_copy"},{"include":"#literals"},{"include":"#fun_call"},{"include":"#block"},{"include":"#mut"},{"include":"#as"}],"beginCaptures":{"1":{"name":"entity.name.function.call.move"}}},"fun_signature":{"name":"meta.fun_signature.move","begin":"\\b(fun)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#module_access"},{"include":"#types"},{"include":"#mut"},{"name":"meta.function_name.move","begin":"(?\u003c=fun)","end":"(?=[\u003c(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]},{"include":"#type_param"},{"name":"meta.parentheses.move","begin":"[(]","end":"[)]","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#types"},{"include":"#mut"}]},{"name":"storage.modifier","match":"\\b(acquires)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.fun.move"}}},"import":{"name":"meta.import.move","begin":"\\b(use)\\b","end":";","patterns":[{"include":"#comments"},{"include":"#address_literal"},{"include":"#as-import"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#as-import"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"}]},{"name":"entity.name.type.module.move","match":"\\b(\\w+)\\b"}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"let":{"name":"keyword.control.move","match":"\\b(let)\\b"},"line-comments":{"name":"comment.line.double-slash.move","begin":"//","end":"$"},"literals":{"patterns":[{"name":"constant.numeric.hex.move","match":"0x[_a-fA-F0-9]+(?:[iu](?:8|16|32|64|size))?"},{"name":"constant.numeric.move","match":"(?\u003c!(?:\\w|(?:(?\u003c!\\.)\\.)))[0-9][_0-9]*(?:\\.(?!\\.)(?:[0-9][_0-9]*)?)?(?:[eE][+\\-]?[_0-9]+)?(?:[u](?:8|64|128|))?"},{"match":"\\b(?:h)(\"[a-fA-F0-9]+\")","captures":{"1":{"name":"constant.character.move"}}},{"name":"meta.ascii_literal.move","match":"\\b(\"(.*)\")","captures":{"1":{"name":"string.quoted.double.raw.byte.move"}}},{"name":"meta.hex_literal.move","match":"x\"([A-F0-9a-f]+)\"","captures":{"1":{"name":"constant.numeric.hex.move"}}},{"name":"constant.language.boolean.move","match":"\\b(?:true|false)\\b"},{"include":"#address_literal"}]},"macros":{"name":"support.constant.macro.move","match":"#\\[(?:[\\w0-9=_\\(\\)\\s\"]+)\\]"},"module":{"name":"meta.module.move","begin":"\\b(module)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"begin":"(?\u003c=module)","end":"(?={)","patterns":[{"include":"#comments"},{"name":"constant.other.move","begin":"(?\u003c=module)","end":"(?=::)"},{"name":"entity.name.type.move","begin":"(?\u003c=::)","end":"(?={)"}]},{"name":"meta.module_scope.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#macros"},{"include":"#import"},{"include":"#friend"},{"include":"#const"},{"include":"#struct"},{"include":"#entry_fun"},{"include":"#native_fun"},{"include":"#public_fun"},{"include":"#fun"},{"include":"#spec"},{"include":"#block"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"module_access":{"name":"meta.module_access.move","match":"\\b(\\w+)::(\\w+)\\b","captures":{"1":{"name":"entity.name.type.module.move"},"2":{"name":"entity.name.function.call.move"}}},"move_copy":{"name":"variable.language.move","match":"\\b(move|copy)\\b"},"mut":{"name":"storage.modifier.mut.move","match":"(?\u003c=\u0026)(mut)\\b"},"native_fun":{"name":"meta.native_fun.move","begin":"\\b(native)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"name":"storage.modifier.public.move","match":"\\b(public)\\b"},{"name":"storage.modifier.entry.move","match":"\\b(entry)\\b"},{"include":"#fun_signature"}],"beginCaptures":{"1":{"name":"storage.modifier.native.move"}}},"phantom":{"name":"keyword.control.phantom.move","match":"\\b(phantom)\\b"},"primitives":{"name":"support.type.primitives.move","match":"\\b(u8|u64|u128|address|bool|signer)\\b"},"public_fun":{"name":"meta.public_fun.move","begin":"\\b(public)\\b","end":"(?\u003c=[;}])","patterns":[{"include":"#comments"},{"name":"storage.modifier.native.move","match":"\\b(native)\\b"},{"name":"storage.modifier.entry.move","match":"\\b(entry)\\b"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"storage.modifier.public.script.move","match":"\\b(script|friend)\\b"}]},{"include":"#fun"}],"beginCaptures":{"1":{"name":"storage.modifier.public.move"}}},"resource_methods":{"name":"support.function.typed.move","match":"\\b(borrow_global|borrow_global_mut|exists|move_from|move_to_sender|move_to)\\b"},"script":{"name":"meta.script.move","begin":"\\b(script)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.script_scope.move","begin":"{","end":"}","patterns":[{"include":"#const"},{"include":"#comments"},{"include":"#import"},{"include":"#fun"}]}],"beginCaptures":{"1":{"name":"storage.modifier.script.move"}}},"self_access":{"name":"meta.self_access.move","match":"\\b(Self)::(\\w+)\\b","captures":{"1":{"name":"variable.language.self.move"},"2":{"name":"entity.name.function.call.move"}}},"spec":{"name":"meta.spec.move","begin":"\\b(spec)\\b","end":"(?\u003c=[;}])","patterns":[{"name":"storage.modifier.spec.target.move","match":"\\b(module|schema|struct|fun)"},{"name":"storage.modifier.spec.define.move","match":"\\b(define)"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"},{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#spec_define"},{"include":"#spec_keywords"},{"include":"#control"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#types"},{"include":"#let"}]}],"beginCaptures":{"1":{"name":"storage.modifier.spec.move"}}},"spec_block":{"name":"meta.spec_block.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#spec_block"},{"include":"#spec_types"},{"include":"#fun_call"},{"include":"#literals"},{"include":"#control"},{"include":"#types"},{"include":"#let"}]},"spec_define":{"name":"meta.spec_define.move","begin":"\\b(define)\\b","end":"(?=[;{])","patterns":[{"include":"#comments"},{"include":"#spec_types"},{"include":"#types"},{"begin":"(?\u003c=define)","end":"(?=[(])","patterns":[{"include":"#comments"},{"name":"entity.name.function.move","match":"\\b(\\w+)\\b"}]}],"beginCaptures":{"1":{"name":"keyword.control.move.spec"}}},"spec_keywords":{"name":"keyword.control.move.spec","match":"\\b(global|pack|unpack|pragma|native|include|ensures|requires|invariant|apply|aborts_if|modifies)\\b"},"spec_types":{"name":"support.type.vector.move","match":"\\b(range|num|vector|bool|u8|u64|u128|address)\\b"},"struct":{"name":"meta.struct.move","begin":"\\b(struct)\\b","end":"(?\u003c=})","patterns":[{"include":"#comments"},{"name":"meta.struct_def.move","begin":"(?\u003c=struct)","end":"(?={)","patterns":[{"include":"#comments"},{"name":"keyword.control.ability.has.move","match":"\\b(has)\\b"},{"name":"entity.name.type.ability.move","match":"\\b(store|key|drop|copy)\\b"},{"name":"entity.name.type.move","match":"\\b(\\w+)\\b"},{"include":"#type_param"}]},{"name":"meta.struct_body.move","begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#self_access"},{"include":"#module_access"},{"include":"#types"}]}],"beginCaptures":{"1":{"name":"storage.modifier.type.move"}}},"type_param":{"name":"meta.generic_param.move","begin":"\u003c","end":"\u003e","patterns":[{"include":"#comments"},{"include":"#phantom"},{"include":"#module_access"},{"name":"entity.name.type.kind.move","match":"\\b(store|drop|key|copy)\\b"}]},"types":{"name":"meta.types.move","patterns":[{"include":"#primitives"},{"include":"#vector"},{"name":"entity.name.type","match":"\\b([A-Z][A-Za-z_]+)\\b"},{"name":"constant.other.move","match":"\\b([A-Z_]+)\\b"}]},"vector":{"name":"meta.vector.move","begin":"\\b(vector)\u003c","end":"\u003e","patterns":[{"include":"#primitives"},{"include":"#vector"}],"beginCaptures":{"1":{"name":"support.type.vector.move"}}}}}
|
data/grammars/source.nix.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Nix","scopeName":"source.nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"\\=","end":"\\;","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}}},"attribute-inherit":{"begin":"\\binherit\\b","end":"\\;","patterns":[{"begin":"\\(","end":"(?=\\;)","patterns":[{"begin":"\\)","end":"(?=\\;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}}},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}}},{"begin":"(?=[a-zA-Z\\_])","end":"(?=\\;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}}},"attribute-name":{"patterns":[{"name":"entity.other.attribute-name.multipart.nix","match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*"},{"match":"\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"name":"entity.other.attribute-name.single.nix","match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\{)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#attrset-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}}},{"begin":"(?\u003c=\\})","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?\u003c=\\})","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"\\}","patterns":[{"include":"#attrset-contents"}],"endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}}}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\brec\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\brec\\b","end":"(?=\\{)","patterns":[{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\{\\s*(\\}|[^,?]*(=|;)))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\{","end":"(?=([\\])};]|\\b(else|then)\\b))","patterns":[{"begin":"(?=(\\s*\\}|\\\"|\\binherit\\b|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*(\\s*\\.|\\s*=[^=])|\\$\\{[a-zA-z0-9\\_\\'\\-]+\\}(\\s*\\.|\\s*=[^=])))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\.\\.\\.|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[,?]))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(?=([\\])};]|\\b(else|then)\\b))","patterns":[{"begin":"(?=\\.)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\s*(\\,)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}],"beginCaptures":{"1":{"name":"keyword.operator.nix"}}},{"begin":"(?=\\=)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":"\\,","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}],"beginCaptures":{"0":{"name":"keyword.operator.nix"}}}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}}},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}}},"bad-reserved":{"name":"invalid.illegal.reserved.nix","match":"(?\u003c![\\w'-])(if|then|else|assert|with|let|in|rec|inherit)(?![\\w'-])"},"comment":{"patterns":[{"name":"comment.block.nix","begin":"/\\*([^*]|\\*[^\\/])*","end":"\\*\\/","patterns":[{"include":"#comment-remark"}]},{"name":"comment.line.number-sign.nix","begin":"\\#","end":"$","patterns":[{"include":"#comment-remark"}]}]},"comment-remark":{"match":"(TODO|FIXME|BUG|\\!\\!\\!):?","captures":{"1":{"name":"markup.bold.comment.nix"}}},"constants":{"patterns":[{"begin":"\\b(builtins|true|false|null)\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"constant.language.nix"}}},{"begin":"\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"support.function.nix"}}},{"begin":"\\b[0-9]+\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"constant.numeric.nix"}}}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"name":"keyword.operator.nix","match":"(\\bor\\b|\\.|==|!=|!|\\\u003c\\=|\\\u003c|\\\u003e\\=|\\\u003e|\u0026\u0026|\\|\\||-\\\u003e|//|\\?|\\+\\+|-|\\*|/(?=([^*]|$))|\\+)"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\s*([a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)\\s*)?(\\:)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(\\:)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}}},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=\\:)","patterns":[{"begin":"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)","end":"(?=\\:)","patterns":[{"begin":"\\@","end":"(?=\\:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}}},{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=\\:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=\\})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[:@]|\\{[^}]*\\}\\s*:|\\{[^#}\"'/=]*[,\\?]))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"\\}","end":"(?=\\:)","patterns":[{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}}},"function-header-close-brace-with-arg":{"begin":"\\}","end":"(?=\\:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}}},"function-header-open-brace":{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#function-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}}},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=\\:)","patterns":[{"begin":"\\@","end":"(?=\\:)","patterns":[{"name":"variable.parameter.function.3.nix","begin":"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)","end":"(?=\\:)"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"name":"keyword.operator.nix","begin":"(\\.\\.\\.)","end":"(,|(?=\\}))","patterns":[{"include":"#others"}]},{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(,|(?=\\}))","patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"endCaptures":{"0":{"name":"keyword.operator.nix"}}},{"include":"#others"}]},"function-parameter-default":{"begin":"\\?","end":"(?=[,}])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.nix"}}},"if":{"begin":"(?=\\bif\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\bif\\b","end":"\\bth(?=en\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"(?\u003c=th)en\\b","end":"\\bel(?=se\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"(?\u003c=el)se\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}}]},"illegal":{"name":"invalid.illegal","match":"."},"interpolation":{"name":"markup.italic","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}}},"let":{"begin":"(?=\\blet\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\blet\\b","end":"(?=([\\])};,]|\\b(in|else|then)\\b))","patterns":[{"begin":"(?=\\{)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?\u003c=\\}))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"\\bin\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}}]},"list":{"begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.list.nix"}}},"list-and-cont":{"begin":"(?=\\[)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-unary":{"name":"keyword.operator.unary.nix","match":"(!|-)"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","captures":{"0":{"name":"variable.parameter.name.nix"}}},"parameter-name-and-cont":{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"variable.parameter.name.nix"}}},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}}},"parens-and-cont":{"begin":"(?=\\()","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\\'\\')","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"name":"string.quoted.other.nix","begin":"\\'\\'","end":"\\'\\'(?!\\$|\\'|\\\\.)","patterns":[{"name":"constant.character.escape.nix","match":"\\'\\'(\\$|\\'|\\\\.)"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}}},{"include":"#expression-cont"}]},{"begin":"(?=\\\")","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[a-zA-Z0-9\\.\\_\\-\\+]*(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)+)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.path.nix"}}},{"begin":"(\\\u003c[a-zA-Z0-9\\.\\_\\-\\+]+(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)*\\\u003e)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}}},{"begin":"([a-zA-Z][a-zA-Z0-9\\+\\-\\.]*\\:[a-zA-Z0-9\\%\\/\\?\\:\\@\\\u0026\\=\\+\\$\\,\\-\\_\\.\\!\\~\\*\\']+)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.url.nix"}}}]},"string-quoted":{"name":"string.quoted.double.nix","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.nix","match":"\\\\."},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}}},"whitespace":{"match":"\\s+"},"with-assert":{"begin":"(?\u003c![\\w'-])(with|assert)(?![\\w'-])","end":"\\;","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}}}}
|
1
|
+
{"name":"Nix","scopeName":"source.nix","patterns":[{"include":"#expression"}],"repository":{"attribute-bind":{"patterns":[{"include":"#attribute-name"},{"include":"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{"begin":"\\=","end":"\\;","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.bind.nix"}},"endCaptures":{"0":{"name":"punctuation.terminator.bind.nix"}}},"attribute-inherit":{"begin":"\\binherit\\b","end":"\\;","patterns":[{"begin":"\\(","end":"(?=\\;)","patterns":[{"begin":"\\)","end":"(?=\\;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}}},{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.function.arguments.nix"}}},{"begin":"(?=[a-zA-Z\\_])","end":"(?=\\;)","patterns":[{"include":"#bad-reserved"},{"include":"#attribute-name-single"},{"include":"#others"}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.inherit.nix"}},"endCaptures":{"0":{"name":"punctuation.terminator.inherit.nix"}}},"attribute-name":{"patterns":[{"name":"entity.other.attribute-name.multipart.nix","match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*"},{"match":"\\."},{"include":"#string-quoted"},{"include":"#interpolation"}]},"attribute-name-single":{"name":"entity.other.attribute-name.single.nix","match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*"},"attrset-contents":{"patterns":[{"include":"#attribute-inherit"},{"include":"#bad-reserved"},{"include":"#attribute-bind"},{"include":"#others"}]},"attrset-definition":{"begin":"(?=\\{)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#attrset-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}}},{"begin":"(?\u003c=\\})","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]}]},"attrset-definition-brace-opened":{"patterns":[{"begin":"(?\u003c=\\})","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]},{"begin":"(?=.?)","end":"\\}","patterns":[{"include":"#attrset-contents"}],"endCaptures":{"0":{"name":"punctuation.definition.attrset.nix"}}}]},"attrset-for-sure":{"patterns":[{"begin":"(?=\\brec\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\brec\\b","end":"(?=\\{)","patterns":[{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}},{"include":"#attrset-definition"},{"include":"#others"}]},{"begin":"(?=\\{\\s*(\\}|[^,?]*(=|;)))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition"},{"include":"#others"}]}]},"attrset-or-function":{"begin":"\\{","end":"(?=([\\])};]|\\b(else|then)\\b))","patterns":[{"begin":"(?=(\\s*\\}|\\\"|\\binherit\\b|\\$\\{|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*(\\s*\\.|\\s*=[^=])))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=(\\.\\.\\.|\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[,?]))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}]},{"include":"#bad-reserved"},{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(?=([\\])};]|\\b(else|then)\\b))","patterns":[{"begin":"(?=\\.)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attrset-definition-brace-opened"}]},{"begin":"\\s*(\\,)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}],"beginCaptures":{"1":{"name":"keyword.operator.nix"}}},{"begin":"(?=\\=)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#attribute-bind-from-equals"},{"include":"#attrset-definition-brace-opened"}]},{"begin":"(?=\\?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-parameter-default"},{"begin":"\\,","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition-brace-opened"}],"beginCaptures":{"0":{"name":"keyword.operator.nix"}}}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"variable.parameter.function.maybe.nix"}}},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.attrset-or-function.nix"}}},"bad-reserved":{"name":"invalid.illegal.reserved.nix","match":"(?\u003c![\\w'-])(if|then|else|assert|with|let|in|rec|inherit)(?![\\w'-])"},"comment":{"patterns":[{"name":"comment.block.nix","begin":"/\\*([^*]|\\*[^\\/])*","end":"\\*\\/","patterns":[{"include":"#comment-remark"}]},{"name":"comment.line.number-sign.nix","begin":"\\#","end":"$","patterns":[{"include":"#comment-remark"}]}]},"comment-remark":{"match":"(TODO|FIXME|BUG|\\!\\!\\!):?","captures":{"1":{"name":"markup.bold.comment.nix"}}},"constants":{"patterns":[{"begin":"\\b(builtins|true|false|null)\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"constant.language.nix"}}},{"begin":"\\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"support.function.nix"}}},{"begin":"\\b[0-9]+\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"constant.numeric.nix"}}}]},"expression":{"patterns":[{"include":"#parens-and-cont"},{"include":"#list-and-cont"},{"include":"#string"},{"include":"#interpolation"},{"include":"#with-assert"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"include":"#let"},{"include":"#if"},{"include":"#operator-unary"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name-and-cont"},{"include":"#others"}]},"expression-cont":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#parens"},{"include":"#list"},{"include":"#string"},{"include":"#interpolation"},{"include":"#function-for-sure"},{"include":"#attrset-for-sure"},{"include":"#attrset-or-function"},{"name":"keyword.operator.nix","match":"(\\bor\\b|\\.|==|!=|!|\\\u003c\\=|\\\u003c|\\\u003e\\=|\\\u003e|\u0026\u0026|\\|\\||-\\\u003e|//|\\?|\\+\\+|-|\\*|/(?=([^*]|$))|\\+)"},{"include":"#constants"},{"include":"#bad-reserved"},{"include":"#parameter-name"},{"include":"#others"}]},"function-body":{"begin":"(@\\s*([a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)\\s*)?(\\:)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}]},"function-body-from-colon":{"begin":"(\\:)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.function.nix"}}},"function-contents":{"patterns":[{"include":"#bad-reserved"},{"include":"#function-parameter"},{"include":"#others"}]},"function-definition":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=\\:)","patterns":[{"begin":"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)","end":"(?=\\:)","patterns":[{"begin":"\\@","end":"(?=\\:)","patterns":[{"include":"#function-header-until-colon-no-arg"},{"include":"#others"}]},{"include":"#others"}],"beginCaptures":{"0":{"name":"variable.parameter.function.4.nix"}}},{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-until-colon-with-arg"}]}]},{"include":"#others"}]},"function-definition-brace-opened":{"begin":"(?=.?)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-body-from-colon"},{"begin":"(?=.?)","end":"(?=\\:)","patterns":[{"include":"#function-header-close-brace-with-arg"},{"begin":"(?=.?)","end":"(?=\\})","patterns":[{"include":"#function-contents"}]}]},{"include":"#others"}]},"function-for-sure":{"patterns":[{"begin":"(?=(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*\\s*[:@]|\\{[^}]*\\}\\s*:|\\{[^#}\"'/=]*[,\\?]))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#function-definition"}]}]},"function-header-close-brace-no-arg":{"begin":"\\}","end":"(?=\\:)","patterns":[{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}}},"function-header-close-brace-with-arg":{"begin":"\\}","end":"(?=\\:)","patterns":[{"include":"#function-header-terminal-arg"},{"include":"#others"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.nix"}}},"function-header-open-brace":{"begin":"\\{","end":"(?=\\})","patterns":[{"include":"#function-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.entity.function.2.nix"}}},"function-header-terminal-arg":{"begin":"(?=@)","end":"(?=\\:)","patterns":[{"begin":"\\@","end":"(?=\\:)","patterns":[{"name":"variable.parameter.function.3.nix","begin":"(\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*)","end":"(?=\\:)"},{"include":"#others"}]},{"include":"#others"}]},"function-header-until-colon-no-arg":{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{"begin":"(?=\\{)","end":"(?=\\:)","patterns":[{"include":"#function-header-open-brace"},{"include":"#function-header-close-brace-with-arg"}]},"function-parameter":{"patterns":[{"name":"keyword.operator.nix","begin":"(\\.\\.\\.)","end":"(,|(?=\\}))","patterns":[{"include":"#others"}]},{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(,|(?=\\}))","patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#function-parameter-default"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"variable.parameter.function.1.nix"}},"endCaptures":{"0":{"name":"keyword.operator.nix"}}},{"include":"#others"}]},"function-parameter-default":{"begin":"\\?","end":"(?=[,}])","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.operator.nix"}}},"if":{"begin":"(?=\\bif\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\bif\\b","end":"\\bth(?=en\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"(?\u003c=th)en\\b","end":"\\bel(?=se\\b)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"(?\u003c=el)se\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}},"endCaptures":{"0":{"name":"keyword.other.nix"}}}]},"illegal":{"name":"invalid.illegal","match":"."},"interpolation":{"name":"meta.embedded","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.nix"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.nix"}}},"let":{"begin":"(?=\\blet\\b)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\blet\\b","end":"(?=([\\])};,]|\\b(in|else|then)\\b))","patterns":[{"begin":"(?=\\{)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"#attrset-contents"}]},{"begin":"(^|(?\u003c=\\}))","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}]},{"include":"#others"}]},{"include":"#attrset-contents"},{"include":"#others"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}},{"begin":"\\bin\\b","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}}]},"list":{"begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.list.nix"}}},"list-and-cont":{"begin":"(?=\\[)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#list"},{"include":"#expression-cont"}]},"operator-unary":{"name":"keyword.operator.unary.nix","match":"(!|-)"},"others":{"patterns":[{"include":"#whitespace"},{"include":"#comment"},{"include":"#illegal"}]},"parameter-name":{"match":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","captures":{"0":{"name":"variable.parameter.name.nix"}}},"parameter-name-and-cont":{"begin":"\\b[a-zA-Z\\_][a-zA-Z0-9\\_\\'\\-]*","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"variable.parameter.name.nix"}}},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.expression.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.expression.nix"}}},"parens-and-cont":{"begin":"(?=\\()","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#parens"},{"include":"#expression-cont"}]},"string":{"patterns":[{"begin":"(?=\\'\\')","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"name":"string.quoted.other.nix","begin":"\\'\\'","end":"\\'\\'(?!\\$|\\'|\\\\.)","patterns":[{"name":"constant.character.escape.nix","match":"\\'\\'(\\$|\\'|\\\\.)"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.other.start.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.string.other.end.nix"}}},{"include":"#expression-cont"}]},{"begin":"(?=\\\")","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#string-quoted"},{"include":"#expression-cont"}]},{"begin":"(~?[a-zA-Z0-9\\.\\_\\-\\+]*(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)+)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.path.nix"}}},{"begin":"(\\\u003c[a-zA-Z0-9\\.\\_\\-\\+]+(\\/[a-zA-Z0-9\\.\\_\\-\\+]+)*\\\u003e)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.spath.nix"}}},{"begin":"([a-zA-Z][a-zA-Z0-9\\+\\-\\.]*\\:[a-zA-Z0-9\\%\\/\\?\\:\\@\\\u0026\\=\\+\\$\\,\\-\\_\\.\\!\\~\\*\\']+)","end":"(?=([\\])};,]|\\b(else|then)\\b))","patterns":[{"include":"#expression-cont"}],"beginCaptures":{"0":{"name":"string.unquoted.url.nix"}}}]},"string-quoted":{"name":"string.quoted.double.nix","begin":"\\\"","end":"\\\"","patterns":[{"name":"constant.character.escape.nix","match":"\\\\."},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.double.start.nix"}},"endCaptures":{"0":{"name":"punctuation.definition.string.double.end.nix"}}},"whitespace":{"match":"\\s+"},"with-assert":{"begin":"(?\u003c![\\w'-])(with|assert)(?![\\w'-])","end":"\\;","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"keyword.other.nix"}}}}}
|
data/grammars/source.pony.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Pony","scopeName":"source.pony","patterns":[{"include":"#block-comments"},{"include":"#line-comments"},{"include":"#typedeclarations"},{"include":"#methoddeclarations"},{"include":"#keywords"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#strings"}],"repository":{"block-comments":{"name":"comment.block.pony","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},"constants":{"patterns":[{"name":"constant.other.pony","match":"\\b(this)\\b"},{"name":"constant.language.pony","match":"\\b(true|false)\\b"},{"name":"constant.numeric.pony","match":"\\b((0b[0-1_]*)|(0x[0-9a-fA-F_]*)|([0-9][0-9_]*(\\.[0-9][0-9_]*)?((e|E)(\\+|-)?[0-9_]+)?))\\b"}]},"identifiers":{"patterns":[{"match":"\\b([_a-z][_a-zA-Z0-9]*)\\b(\\(|\\[)","captures":{"1":{"name":"support.function.pony"}}},{"match":"\\.\\s*([_a-z][_a-zA-Z0-9]*)\\b[^\\(\\[]","captures":{"1":{"name":"variable.parameter.pony"}}},{"match":"@\\s*([_a-zA-z][_a-zA-Z0-9]*)\\s*(\\(|\\[)","captures":{"1":{"name":"support.function.pony"}}},{"name":"entity.name.class.pony","match":"\\b(_*[A-Z][_a-zA-Z0-9]*)\\b"},{"match":"\\b(_*[a-z][_a-zA-Z0-9']*)"}]},"keywords":{"patterns":[{"name":"keyword.other.intrinsic.pony","match":"\\b(compile_intrinsic|compile_error)\\b"},{"name":"keyword.other.import.pony","match":"\\b(use)\\b"},{"name":"keyword.other.declaration.pony","match":"\\b(var|let|embed
|
1
|
+
{"name":"Pony","scopeName":"source.pony","patterns":[{"include":"#block-comments"},{"include":"#line-comments"},{"include":"#typedeclarations"},{"include":"#methoddeclarations"},{"include":"#keywords"},{"include":"#constants"},{"include":"#identifiers"},{"include":"#strings"}],"repository":{"block-comments":{"name":"comment.block.pony","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},"constants":{"patterns":[{"name":"constant.other.pony","match":"\\b(this)\\b"},{"name":"constant.language.pony","match":"\\b(true|false)\\b"},{"name":"constant.numeric.pony","match":"\\b((0b[0-1_]*)|(0x[0-9a-fA-F_]*)|([0-9][0-9_]*(\\.[0-9][0-9_]*)?((e|E)(\\+|-)?[0-9_]+)?))\\b"}]},"identifiers":{"patterns":[{"match":"\\b([_a-z][_a-zA-Z0-9]*)\\b(\\(|\\[)","captures":{"1":{"name":"support.function.pony"}}},{"match":"\\.\\s*([_a-z][_a-zA-Z0-9]*)\\b[^\\(\\[]","captures":{"1":{"name":"variable.parameter.pony"}}},{"match":"@\\s*([_a-zA-z][_a-zA-Z0-9]*)\\s*(\\(|\\[)","captures":{"1":{"name":"support.function.pony"}}},{"name":"entity.name.class.pony","match":"\\b(_*[A-Z][_a-zA-Z0-9]*)\\b"},{"match":"\\b(_*[a-z][_a-zA-Z0-9']*)"}]},"keywords":{"patterns":[{"name":"keyword.other.intrinsic.pony","match":"\\b(compile_intrinsic|compile_error)\\b"},{"name":"keyword.other.import.pony","match":"\\b(use)\\b"},{"name":"keyword.other.declaration.pony","match":"\\b(var|let|embed)\\b"},{"name":"entity.other.attribute-name.pony","match":"\\b(iso|trn|ref|val|box|tag)\\b"},{"name":"keyword.control.jump.pony","match":"\\b(break|continue|return|error)\\b"},{"name":"keyword.control.pony","match":"\\b(if|ifdef|then|elseif|else|end|match|where|try|with|as|recover|consume|object|digestof)\\b"},{"name":"keyword.control.loop.pony","match":"\\b(while|do|repeat|until|for|in)\\b"},{"match":"(\\?|[-=]\u003e)"},{"match":"(\\-|\\+|\\*|/(?![/*])|%|\u003c\u003c|\u003e\u003e)"},{"match":"(==|!=|\u003c=|\u003e=|\u003c|\u003e)"},{"match":"\\b(is|isnt|not|and|or|xor)\\b"},{"match":"="},{"match":"(\\||\\\u0026|\\,|\\^)"}]},"line-comments":{"name":"comment.line.double-slash.pony","begin":"//","end":"\\n"},"methoddeclarations":{"match":"\\b(new|be|fun)\\s+(\\\\[_a-z][_a-zA-Z0-9]*\\\\)?\\s*(iso|trn|ref|val|box|tag)?\\b\\s*([_a-z][_a-zA-Z0-9]*)","captures":{"1":{"name":"keyword.declaration.pony"},"2":{"name":"support.other.annotation.pony"},"3":{"name":"keyword.other.capability.pony"},"4":{"name":"entity.name.function.pony"}}},"strings":{"patterns":[{"name":"constant.character.pony","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.pony","match":"\\\\(?:[abfnrtv\\\\\"0]|x[0-9A-Fa-f]{2})"},{"name":"invalid.illegal.pony","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.pony"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.pony"}}},{"name":"variable.parameter.pony","begin":"\"\"\"","end":"\"\"\"(?!\")","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pony"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pony"}}},{"name":"string.quoted.double.pony","begin":"\"","end":"\"","patterns":[{"name":"constant.string.escape.pony","match":"\\\\(?:[abfnrtv\\\\\"0]|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{6})"},{"name":"invalid.illegal.pony","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pony"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.pony"}}}]},"typedeclarations":{"match":"\\b(type|interface|trait|primitive|struct|class|actor)\\s+(\\\\[_a-z][_a-zA-Z0-9]*\\\\)?\\s*(iso|trn|ref|val|box|tag)?@?\\s*([_A-Z][_a-zA-Z0-9]*)","captures":{"1":{"name":"keyword.declaration.pony"},"2":{"name":"support.other.annotation.pony"},"3":{"name":"keyword.other.capability.pony"},"4":{"name":"entity.name.type.pony"}}}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Portugol","scopeName":"source.portugol","patterns":[{"name":"comment.block.portugol","begin":"/\\*","end":"\\*/"},{"name":"comment.double-slash.portugol","match":"//.*"},{"name":"string.quoted.double.portugol","begin":"\"","end":"\""},{"name":"string.quoted.single.portugol","begin":"'","end":"'"},{"name":"keyword.control.portugol","match":"\\b(para|caso|continue|senao|para|se|escolha|enquanto|e|ou)\\b"},{"name":"keyword.other.portugol","match":"\\b(inclua|biblioteca|programa)\\b"},{"name":"keyword.operator.new.portugol","match":"\\b(=|!|\u003c|\u003e|\u0026|\\+|raiz|sen|cos|mod|div|-|\\^|\\*|\\/|\\|)\\b"},{"name":"constant.numeric.portugol","match":"\\b(\\d+|\\d+.?(f)?)\\b"},{"name":"constant.rgb-value.portugol","match":"(#)([0-9a-fA-F]{3}|[0-9a-fA-F]{6})\\b(?!.*?(?\u003c!@){)"},{"name":"constant.language.portugol","match":"\\b(falso|NULL|verdadeiro)\\b"},{"name":"storage.type.portugol","match":"\\b(enum|struct|state|array)\\b"},{"name":"variable.language.portugol","match":"\\b(this|parent|super)\\b"},{"begin":"(funcao)\\s*(\\/\\*.*\\*\\/)?\\s*(\\w+)\\s*\\(","end":"\\)(\\s*:\\s*(array\\s*\u003c\\s*\\w+\\s*\u003e|\\w*))?","patterns":[{"match":"\\s*(out|optional)?\\s*(\\w+)\\s*:\\s*(array\\s*\u003c\\s*\\w+\\s*\u003e|\\w*|),?","captures":{"1":{"name":"keyword.other.portugol"},"2":{"name":"support.variable.portugol"},"3":{"patterns":[{"include":"#witcherscript-var-types"}]}}}],"beginCaptures":{"1":{"name":"support.type.portugol"},"2":{"name":"comment.block.portugol"},"3":{"name":"support.function.portugol"}},"endCaptures":{"2":{"patterns":[{"include":"#witcherscript-var-types"}]}}},{"begin":"\\b(variavel)\\b\\s*","end":":\\s*(array\\s*\u003c\\s*\\w+\\s*\u003e|\\w*)\\s*;","patterns":[{"name":"support.variable.portugol","match":"(\\w+)\\s*,?"}],"beginCaptures":{"1":{"name":"storage.type.portugol"}},"endCaptures":{"1":{"patterns":[{"include":"#witcherscript-var-types"}]}}},{"match":"(default)\\s*(\\w+)","captures":{"1":{"name":"keyword.control.portugol"},"2":{"name":"support.variable"}}},{"match":"(escreva|leia)\\s*(\\w*)","captures":{"1":{"name":"keyword.other.portugol"},"2":{"name":"support.class.portugol"}}},{"match":"\\(\\s*(\\s*[A-Z]\\w+\\s*)\\s*\\)\\s*\\(","captures":{"1":{"name":"support.class.portugol"}}},{"match":"\\(\\s*\\(\\s*([A-Z]\\w+)\\s*\\)","captures":{"1":{"name":"support.class.portugol"}}},{"match":"(novo|nova)\\s*(\\w+)\\s*(in)\\s*(this)","captures":{"1":{"name":"variable.language.portugol"},"2":{"name":"support.class.portugol"},"3":{"name":"variable.language.portugol"},"4":{"name":"variable.language.portugol"}}},{"include":"#witcherscript-data-types"}],"repository":{"witcherscript-data-types":{"patterns":[{"name":"storage.type.portugol","match":"\\b(cadeia|inteiro|caractere|logico|real)\\b"}]},"witcherscript-object-types":{"patterns":[{"name":"support.class.portugol","match":"[A-Z]\\w+"}]},"witcherscript-var-types":{"patterns":[{"include":"#witcherscript-object-types"},{"match":"(array)\\s*\u003c\\s*(\\w+)\\s*\u003e","captures":{"1":{"name":"storage.type.portugol"},"2":{"patterns":[{"include":"#witcherscript-object-types"},{"include":"#witcherscript-data-types"}]}}},{"include":"#witcherscript-data-types"}]}}}
|
data/grammars/source.rego.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#operator"},{"include":"#head"},{"include":"#term"}],"repository":{"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"head":{"name":"meta.function.rego","begin":"^([[:alpha:]_][[:alnum:]_]*)","end":"(=|{|\\n)","patterns":[{"include":"#term"}],"beginCaptures":{"1":{"name":"entity.name.function.declaration"}}},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every))\\s+"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"operator":{"patterns":[{"name":"keyword.operator.comparison.rego","match":"\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="}]},"string":{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"},{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
|
1
|
+
{"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#operator"},{"include":"#head"},{"include":"#term"}],"repository":{"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"head":{"name":"meta.function.rego","begin":"^([[:alpha:]_][[:alnum:]_]*)","end":"(=|{|\\n)","patterns":[{"include":"#term"}],"beginCaptures":{"1":{"name":"entity.name.function.declaration"}}},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every|if|contains))\\s+"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"operator":{"patterns":[{"name":"keyword.operator.comparison.rego","match":"\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="}]},"string":{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"},{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
|