github-linguist 7.20.0 → 7.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/source.abl.json +1 -1
- data/grammars/source.astro.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.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.miniyaml.json +1 -1
- data/grammars/source.mlir.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.p4.json +1 -1
- data/grammars/source.portugol.json +1 -0
- data/grammars/source.renpy.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- 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.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.v.json +1 -1
- data/grammars/source.whiley.json +1 -0
- 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/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +21 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +167 -4
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/vendor.yml +3 -0
- metadata +17 -5
- data/grammars/source.brightauthorproject.json +0 -1
- data/grammars/source.brightscript.json +0 -1
- data/grammars/source.vtt.json +0 -1
data/grammars/source.hlasm.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"hlasm","scopeName":"source.hlasm","patterns":[{"include":"#comment.full"},{"include":"#line"},{"include":"#the_line"}],"repository":{"branch_instructions":{"patterns":[{"name":"keyword.control","match":"(^|\\b)(?i:b|bct|be|ber|bh|bhr|bl|blr|bm|bmr|bne|bner|bnh|bnhr|bnl|bnlr|bnm|bnmr|bno|bnor|bnp|bnpr|bnz|bnzr|bo|bor|bor|bp|bpr|br|bz|bz|bzr|nop|nopr)\\b"}]},"char.def.strings":{"name":"string.character","match":"(([cC][lL]([0-9]+))|([cC]([0-9]+))|([cC][uU])([0-9]+))"},"char.ln.strings":{"name":"string.character","match":"(([0-9]*)([cC][lL])|([cC][uU][lL]))([0-9]*)'.*'"},"char.strings":{"name":"string.character","match":"(([cC])|([cC][uU]))'.*'"},"comment":{"patterns":[{"name":"comment","match":"^(\\*.{,70})|(^\\.\\*.{,69})"}]},"comment.full":{"patterns":[{"name":"comment","match":"^(\\*.*$)|(^\\.\\*.*$)"}]},"constants":{"patterns":[{"include":"#char.strings"},{"include":"#char.ln.strings"},{"include":"#char.def.strings"},{"include":"#hex.strings"},{"include":"#hex.ln.strings"},{"include":"#hex.strings.invalid"},{"include":"#double.strings"},{"include":"#single.strings"}]},"directives":{"patterns":[{"name":"keyword.other.directives","match":"\\b(?i:amode|com|copy|csect|dc|dsect|ds|drop|eject|end|entry|equ|ltorg|macro|mend|mexit|mnote|org|print|rmode|space|start|title|using)\\b"}]},"double.strings":{"name":"string.quoted.double","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"general_instructions":{"patterns":[{"name":"keyword","match":"(^|\\b)(?i:a|ahi|ah|al|alr|ap|ar|axr|bal|balr|bas|basm|bassm|bc|bcr|bctr|bsm|bxh|bxle|c|cds|chi|ch|cl|clc|clcl|cli|clm|clr|cp|cr|cs|cvb|cvd|cxr|d|dp|dr|ed|edmk|ex|ic|icm|ipm|l|la|lcr|lhi|lh|lm|lnr|lpr|lr|lx|ltr|m|mh|mp|mr|mvc|mvcin|mvcl|mvi|mvn|mvo|mvz|n|nc|ni|nr|o|oc|oi|or|pack|s|sh|sl|sla|slda|sldl|sll|slr|sp|sr|sra|srda|srdl|srl|srp|st|stb|stc|spm|stcm|sth|stm|svc|tm|tr|trt|unpk|x|xc|xi|xr|zap)\\b"}]},"hex.ln.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[xX][lL]))([0-9]*)'[[:xdigit:]]*'"},"hex.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[fF]))'[[:xdigit:]]*'"},"hex.strings.invalid":{"name":"invalid.illegal.hexadecimal","match":"([xX])'.*'"},"instructions":{"patterns":[{"include":"#general_instructions"},{"include":"#branch_instructions"}]},"label":{"patterns":[{"name":"entity.name.function","match":"(^[0-9a-z@A-Z$#_\\$]+)"}]},"line":{"patterns":[{"match":"^(.{71,71})[ xX]([0-9]*$)","captures":{"1":{"patterns":[{"include":"#the_line"}]},"2":{"name":"comment.line.identification.sequence.field"}}}]},"macros":{"patterns":[{"name":"entity.name.function","match":"(^|\\b|\\s+)(?i:actr|ago|aif|anop|chau|close|dcb|gbla|gblb|gblc|get|lcla|lclb|lclc|open|ppio|put|read|seta|setb|setc|snap|write|wto|wtor|wtorpc)\\b"}]},"operators":{"patterns":[{"name":"keyword.operator","match":"\\b(?i:and:eq:ge:gt:le:lt:ne:not:or)\\b"}]},"parameters":{"patterns":[{"name":"variable.parameter","match":"\\b(?i:blksize|dcb|ddname|dsorg|eodad|gen|id|lrecl|lv|macrf|nogen|pdata|recfm|record|ru|storage|synad)\\b"}]},"single.strings":{"name":"string","match":"\\s('.*')"},"start_with_label":{"match":"^([0-9a-z@A-Z$#_\\$]+)\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#label"}]},"2":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"start_with_no_label":{"match":"^\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"the_line":{"patterns":[{"include":"#comment"},{"include":"#start_with_label"},{"include":"#start_with_no_label"},{"include":"#operators"},{"include":"#parameters"},{"include":"#constants"}]}}}
|
1
|
+
{"name":"hlasm","scopeName":"source.hlasm","patterns":[{"include":"#comment.full"},{"include":"#line"},{"include":"#the_line"}],"repository":{"branch_instructions":{"patterns":[{"name":"keyword.control","match":"(^|\\b)(?i:b|bct|be|ber|bh|bhr|bl|blr|bm|bmr|bne|bner|bnh|bnhr|bnl|bnlr|bnm|bnmr|bno|bnor|bnp|bnpr|bnz|bnzr|bo|bor|bor|bp|bpr|br|bz|bz|bzr|nop|nopr|abend)\\b"}]},"char.def.strings":{"name":"string.character","match":"([0-9]*)(([cC][lL]([0-9]+))|([cC]([0-9]+))|([cC][uU])([0-9]+))"},"char.ln.strings":{"name":"string.character","match":"(([0-9]*)([cC][lL])|([cC][uU][lL]))([0-9]*)'.*'"},"char.strings":{"name":"string.character","match":"(([cC])|([cC][uU]))'.*'"},"comment":{"patterns":[{"name":"comment","match":"^(\\*.{,70})|(^\\.\\*.{,69})"}]},"comment.full":{"patterns":[{"name":"comment","match":"^(\\*.*$)|(^\\.\\*.*$)"}]},"constants":{"patterns":[{"include":"#char.strings"},{"include":"#char.ln.strings"},{"include":"#char.def.strings"},{"include":"#hex.strings"},{"include":"#hex.ln.strings"},{"include":"#hex.strings.invalid"},{"include":"#double.strings"},{"include":"#single.strings"}]},"directives":{"patterns":[{"name":"keyword.other.directives","match":"\\b(?i:amode|com|copy|csect|dc|dsect|ds|drop|eject|end|entry|equ|ltorg|macro|mend|mexit|mnote|org|print|rmode|space|start|title|using)\\b"}]},"double.strings":{"name":"string.quoted.double","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"general_instructions":{"patterns":[{"name":"keyword","match":"(^|\\b)(?i:a|ahi|ah|al|alr|ap|ar|axr|bal|balr|bas|basm|bassm|bc|bcr|bctr|bsm|bxh|bxle|c|cds|chi|ch|cl|clc|clcl|cli|clm|clr|cp|cr|cs|cvb|cvd|cxr|d|dp|dr|ed|edmk|ex|ic|icm|ipm|l|la|lcr|lhi|lh|lm|lnr|lpr|lr|lx|ltr|m|mh|mp|mr|mvc|mvcin|mvcl|mvi|mvn|mvo|mvz|n|nc|ni|nr|o|oc|oi|or|pack|s|sh|sl|sla|slda|sldl|sll|slr|sp|sr|sra|srda|srdl|srl|srp|st|stb|stc|spm|stcm|sth|stm|svc|tm|tr|trt|unpk|x|xc|xi|xr|zap|save|return|equregs|t)\\b"}]},"hex.ln.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[xX][lL]))([0-9]*)'[[:xdigit:]]*'"},"hex.strings":{"name":"constant.numeric.integer.hexadecimal","match":"([0-9]*([xX]|[fF]))'[[:xdigit:]]*'"},"hex.strings.invalid":{"name":"invalid.illegal.hexadecimal","match":"([xX])'.*'"},"instructions":{"patterns":[{"include":"#general_instructions"},{"include":"#branch_instructions"}]},"label":{"patterns":[{"name":"entity.name.function","match":"(^[0-9a-z@A-Z$#_\\$]+)"}]},"line":{"patterns":[{"match":"^(.{71,71})[ xX]([0-9]*$)","captures":{"1":{"patterns":[{"include":"#the_line"}]},"2":{"name":"comment.line.identification.sequence.field"}}}]},"macros":{"patterns":[{"name":"entity.name.function","match":"(^|\\b|\\s+)(?i:actr|ago|aif|anop|chau|close|dcb|gbla|gblb|gblc|get|lcla|lclb|lclc|open|ppio|put|read|seta|setb|setc|snap|write|wto|wtor|wtorpc)\\b"}]},"operators":{"patterns":[{"name":"keyword.operator","match":"\\b(?i:and:eq:ge:gt:le:lt:ne:not:or)\\b"}]},"parameters":{"patterns":[{"name":"variable.parameter","match":"\\b(?i:blksize|dcb|ddname|dsorg|eodad|gen|id|lrecl|lv|macrf|nogen|pdata|recfm|record|ru|storage|synad)\\b"}]},"single.strings":{"name":"string","match":"\\s('.*')"},"start_with_label":{"match":"^([0-9a-z@A-Z$#_\\$]+)\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#label"}]},"2":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"start_with_no_label":{"match":"^\\s+(\\w+)","captures":{"1":{"patterns":[{"include":"#instructions"},{"include":"#directives"},{"include":"#macros"}]}}},"the_line":{"patterns":[{"include":"#comment"},{"include":"#start_with_label"},{"include":"#start_with_no_label"},{"include":"#operators"},{"include":"#parameters"},{"include":"#constants"}]}}}
|
data/grammars/source.hx.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Haxe","scopeName":"source.hx","patterns":[{"include":"#all"}],"repository":{"abstract":{"name":"meta.abstract.hx","begin":"(?=abstract\\s+[A-Z])","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#abstract-name"},{"include":"#abstract-name-post"},{"include":"#abstract-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"abstract-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#modifiers"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"abstract-name":{"begin":"\\b(abstract)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"abstract-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#global"},{"name":"keyword.other.hx","match":"\\b(from|to)\\b"},{"include":"#type"},{"name":"punctuation.definition.other.hx","match":"[\\(\\)]"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"accessor-method":{"patterns":[{"name":"entity.name.function.hx","match":"\\b(get|set)_[_A-Za-z]\\w*\\b"}]},"all":{"patterns":[{"include":"#global"},{"include":"#package"},{"include":"#import"},{"include":"#using"},{"name":"storage.modifier.hx","match":"\\b(final)\\b(?=\\s+(class|interface|extern|private)\\b)"},{"include":"#abstract"},{"include":"#class"},{"include":"#enum"},{"include":"#interface"},{"include":"#typedef"},{"include":"#block"},{"include":"#block-contents"}]},"array":{"name":"meta.array.literal.hx","begin":"\\[","end":"\\]","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.hx"}}},"arrow-function":{"name":"meta.method.arrow.hx","begin":"(\\()(?=[^(]*?\\)\\s*-\u003e)","end":"(\\))\\s*(-\u003e)","patterns":[{"include":"#arrow-function-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"},"2":{"name":"storage.type.function.arrow.hx"}}},"arrow-function-parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)|,)","patterns":[{"include":"#parameter-name"},{"include":"#arrow-function-parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#punctuation-comma"},{"include":"#global"}]},"arrow-function-parameter-type-hint":{"begin":":","end":"(?=\\)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}}},"block-contents":{"patterns":[{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#new-expr"},{"include":"#for-loop"},{"include":"#keywords"},{"include":"#arrow-function"},{"include":"#method-call"},{"include":"#enum-constructor-call"},{"include":"#punctuation-braces"},{"include":"#macro-reification"},{"include":"#operators"},{"include":"#operator-assignment"},{"include":"#punctuation-terminator"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"},{"include":"#identifiers"}]},"class":{"name":"meta.class.hx","begin":"(?=class)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#class-name"},{"include":"#class-name-post"},{"include":"#class-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"class-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#modifiers"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"class-name":{"name":"meta.class.identifier.hx","begin":"\\b(class)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"class-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#modifiers-inheritance"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"comments":{"patterns":[{"name":"comment.block.documentation.hx","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#javadoc-tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}}},{"name":"comment.block.hx","begin":"/\\*","end":"\\*/","patterns":[{"include":"#javadoc-tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}}},{"name":"comment.line.double-slash.hx","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.hx"}}}]},"conditional-compilation":{"patterns":[{"match":"((#(if|elseif))[\\s!]+([a-zA-Z_][a-zA-Z0-9_]*(\\.[a-zA-Z_][a-zA-Z0-9_]*)*)(?=\\s|/\\*|//))","captures":{"0":{"name":"punctuation.definition.tag"}}},{"name":"punctuation.definition.tag","begin":"((#(if|elseif))[\\s!]*)(?=\\()","end":"(?\u003c=\\)|\\n)","patterns":[{"include":"#conditional-compilation-parens"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag"}},"endCaptures":{"0":{"name":"punctuation.definition.tag"}}},{"name":"punctuation.definition.tag","match":"(#(end|else|error|line))"},{"name":"punctuation.definition.tag","match":"(#([a-zA-Z0-9_]*))\\s"}]},"conditional-compilation-parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#conditional-compilation-parens"}]},"constant-name":{"name":"variable.other.hx","match":"\\b([_A-Z][_A-Z0-9]*)\\b"},"constants":{"patterns":[{"name":"constant.language.hx","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.hex.hx","match":"\\b(0(x|X)[0-9a-fA-F]*)\\b"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(\\.)(?!\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.hx"},"1":{"name":"meta.delimiter.decimal.period.hx"},"2":{"name":"meta.delimiter.decimal.period.hx"},"3":{"name":"meta.delimiter.decimal.period.hx"},"4":{"name":"meta.delimiter.decimal.period.hx"},"5":{"name":"meta.delimiter.decimal.period.hx"},"6":{"name":"meta.delimiter.decimal.period.hx"}}}]},"enum":{"name":"meta.enum.hx","begin":"(?=enum\\s+[A-Z])","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#enum-name"},{"include":"#enum-name-post"},{"include":"#enum-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"enum-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#parameters"},{"include":"#identifiers"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"enum-constructor-call":{"begin":"\\b(?\u003c!\\.)((_*[a-z]\\w*\\.)*)(_*[A-Z]\\w*)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\s*(\\()","end":"(\\))","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"},"4":{"name":"support.package.hx"},"5":{"name":"entity.name.type.hx"},"6":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"enum-name":{"begin":"\\b(enum)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"enum-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"for-loop":{"begin":"\\b(for)\\b\\s*(\\()","end":"(\\))","patterns":[{"name":"keyword.other.in.hx","match":"\\b(in)\\b"},{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"keyword.control.flow-control.hx"},"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"function-type":{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-type-parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.hx"}}},"function-type-parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)|,)","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#operator-optional"},{"include":"#punctuation-comma"},{"include":"#function-type-parameter-name"},{"include":"#function-type-parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#type"},{"include":"#global"}]},"function-type-parameter-name":{"match":"([_a-zA-Z]\\w*)(?=\\s*:)","captures":{"1":{"name":"variable.parameter.hx"}}},"function-type-parameter-type-hint":{"begin":":","end":"(?=\\)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"global":{"patterns":[{"include":"#comments"},{"include":"#conditional-compilation"}]},"identifier-name":{"name":"variable.other.hx","match":"\\b([_A-Za-z]\\w*)\\b"},"identifiers":{"patterns":[{"include":"#constant-name"},{"include":"#type-name"},{"include":"#identifier-name"}]},"import":{"begin":"import\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"name":"keyword.control.as.hx","match":"\\b(as)\\b"},{"name":"keyword.control.in.hx","match":"\\b(in)\\b"},{"name":"constant.language.import-all.hx","match":"\\*"},{"name":"variable.other.hxt","match":"\\b([_A-Za-z]\\w*)\\b(?=\\s*(as|in|$|(;)))"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.control.import.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"interface":{"name":"meta.interface.hx","begin":"(?=interface)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#interface-name"},{"include":"#interface-name-post"},{"include":"#interface-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"interface-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"interface-name":{"begin":"\\b(interface)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"interface-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#global"},{"include":"#modifiers-inheritance"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"javadoc-tags":{"patterns":[{"match":"(@(?:param|exception|throws|event))\\s+([_A-Za-z]\\w*)\\s+","captures":{"1":{"name":"storage.type.class.javadoc"},"2":{"name":"variable.other.javadoc"}}},{"match":"(@since)\\s+([\\w\\.-]+)\\s+","captures":{"1":{"name":"storage.type.class.javadoc"},"2":{"name":"constant.numeric.javadoc"}}},{"match":"@(param|exception|throws|deprecated|returns?|since|default|see|event)","captures":{"0":{"name":"storage.type.class.javadoc"}}}]},"keywords":{"patterns":[{"begin":"(?\u003c=trace|$type|if|while|for|super)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"begin":"(?\u003c=catch)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"},{"include":"#type-check"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"begin":"(?\u003c=cast)\\s*(\\()","end":"\\)","patterns":[{"begin":"(?=,)","end":"(?=\\))","patterns":[{"include":"#type"}]},{"include":"#block-contents"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"name":"keyword.control.catch-exception.hx","match":"\\b(try|catch|throw)\\b"},{"begin":"\\b(case|default)\\b","end":":|(?=if)|$","patterns":[{"include":"#global"},{"include":"#metadata"},{"match":"\\b(var|final)\\b\\s*([_a-zA-Z]\\w*)\\b","captures":{"1":{"name":"storage.type.variable.hx"},"2":{"name":"variable.other.hx"}}},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"name":"meta.brace.round.hx","match":"\\("},{"name":"meta.brace.round.hx","match":"\\)"},{"include":"#macro-reification"},{"name":"keyword.operator.extractor.hx","match":"=\u003e"},{"include":"#operator-assignment"},{"include":"#punctuation-comma"},{"include":"#keywords"},{"include":"#method-call"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.flow-control.hx"}}},{"name":"keyword.control.flow-control.hx","match":"\\b(if|else|return|do|while|for|break|continue|switch|case|default)\\b"},{"name":"keyword.other.untyped.hx","match":"\\b(cast|untyped)\\b"},{"name":"keyword.other.trace.hx","match":"\\btrace\\b"},{"name":"keyword.other.type.hx","match":"\\$type\\b"},{"name":"keyword.other.untyped-property.hx","match":"\\__(global|this)__\\b"},{"name":"variable.language.hx","match":"\\b(this|super)\\b"},{"name":"keyword.operator.new.hx","match":"\\bnew\\b"},{"name":"storage.type.hx","match":"\\b(abstract|class|enum|interface|typedef)\\b"},{"name":"storage.type.function.arrow.hx","match":"-\u003e"},{"include":"#modifiers"},{"include":"#modifiers-inheritance"}]},"keywords-accessor":{"name":"storage.type.property.hx","match":"\\b(default|get|set|dynamic|never|null)\\b"},"macro-reification":{"patterns":[{"match":"(\\$)([eabipv])\\{","captures":{"1":{"name":"punctuation.definition.reification.hx"},"2":{"name":"keyword.reification.hx"}}},{"match":"((\\$)([a-zA-Z]*))","captures":{"2":{"name":"punctuation.definition.reification.hx"},"3":{"name":"variable.reification.hx"}}}]},"metadata":{"patterns":[{"begin":"(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\\b)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"storage.modifier.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"match":"((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\\b))","captures":{"2":{"name":"punctuation.metadata.hx"},"3":{"name":"storage.modifier.metadata.hx"}}},{"begin":"(@)(:?[a-zA-Z_]*)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"match":"(@)(:?)([a-zA-Z_]*(\\.))*([a-zA-Z_]*)?","captures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"variable.metadata.hx"},"4":{"name":"punctuation.accessor.hx"},"5":{"name":"variable.metadata.hx"}}}]},"method":{"name":"meta.method.hx","begin":"(?=\\bfunction\\b)","end":"(?\u003c=[\\};])","patterns":[{"include":"#macro-reification"},{"include":"#method-name"},{"include":"#method-name-post"},{"include":"#method-block"}]},"method-block":{"name":"meta.method.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"method-call":{"begin":"\\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|in|int|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z]\\w*))\\s*(\\()","end":"(\\))","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"keyword.other.untyped-function.hx"},"2":{"name":"entity.name.function.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"method-name":{"begin":"\\b(function)\\b\\s*\\b(?:(new)|([_A-Za-z]\\w*))?\\b","end":"(?=$|\\()","patterns":[{"include":"#macro-reification"},{"include":"#type-parameters"}],"beginCaptures":{"1":{"name":"storage.type.function.hx"},"2":{"name":"storage.type.hx"},"3":{"name":"entity.name.function.hx"}}},"method-name-post":{"begin":"(?\u003c=[\\w\\s\u003e])","end":"(\\{)|(;)","patterns":[{"include":"#parameters"},{"include":"#method-return-type-hint"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"punctuation.terminator.hx"}}},"method-return-type-hint":{"begin":"(?\u003c=\\))\\s*(:)","end":"(?=\\{|;|[a-z0-9])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.hx"}}},"modifiers":{"patterns":[{"name":"storage.type.class","match":"\\b(enum)\\b"},{"name":"storage.modifier.hx","match":"\\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\\b"},{"name":"storage.modifier.hx","match":"\\b(final)\\b(?=\\s+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))"}]},"modifiers-inheritance":{"name":"storage.modifier.hx","match":"\\b(implements|extends)\\b"},"new-expr":{"name":"new.expr.hx","begin":"(?\u003c!\\.)\\b(new)\\b","end":"(?=$|\\()","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.hx"}}},"operator-assignment":{"name":"keyword.operator.assignment.hx","match":"(=)"},"operator-optional":{"name":"keyword.operator.optional.hx","match":"(\\?)(?!\\s)"},"operator-type-hint":{"name":"keyword.operator.type.annotation.hx","match":"(:)"},"operators":{"patterns":[{"name":"keyword.operator.logical.hx","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.hx","match":"(~|\u0026|\\||\\^|\u003e\u003e\u003e|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.comparison.hx","match":"(==|!=|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.logical.hx","match":"(!)"},{"name":"keyword.operator.increment-decrement.hx","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.hx","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.intiterator.hx","match":"\\.\\.\\."},{"name":"keyword.operator.arrow.hx","match":"=\u003e"},{"name":"keyword.other.hx","match":"\\bis\\b(?!\\()"},{"begin":"\\?","end":":","patterns":[{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.hx"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.hx"}}}]},"package":{"begin":"package\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.other.package.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)(?!\\s*-\u003e)|,)","patterns":[{"include":"#parameter-name"},{"include":"#parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#punctuation-comma"},{"include":"#global"}]},"parameter-assign":{"begin":"=","end":"(?=\\)|,)","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}}},"parameter-name":{"begin":"(?\u003c=\\(|,)","end":"([_a-zA-Z]\\w*)","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#operator-optional"}],"endCaptures":{"1":{"name":"variable.parameter.hx"}}},"parameter-type-hint":{"begin":":","end":"(?=\\)(?!\\s*-\u003e)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"parameters":{"name":"meta.parameters.hx","begin":"\\(","end":"\\s*(\\)(?!\\s*-\u003e))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"}}},"punctuation-accessor":{"name":"punctuation.accessor.hx","match":"\\."},"punctuation-braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#keywords"},{"include":"#block"},{"include":"#block-contents"},{"include":"#type-check"}],"beginCaptures":{"0":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},"punctuation-comma":{"name":"punctuation.separator.comma.hx","match":","},"punctuation-terminator":{"name":"punctuation.terminator.hx","match":";"},"regex":{"name":"string.regexp.hx","begin":"(~/)","end":"(/)([gimsu]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.hx"},"2":{"name":"keyword.other.hx"}}},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((\\?:)?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"string-escape-sequences":{"patterns":[{"name":"constant.character.escape.hx","match":"\\\\[0-3][0-9]{2}"},{"name":"constant.character.escape.hx","match":"\\\\x[0-9A-Fa-f]{2}"},{"name":"constant.character.escape.hx","match":"\\\\u[0-9]{4}"},{"name":"constant.character.escape.hx","match":"\\\\u\\{[0-9A-Fa-f]{1,}\\}"},{"name":"constant.character.escape.hx","match":"\\\\[nrt\"'\\\\]"},{"name":"invalid.escape.sequence.hx","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.hx","begin":"\"","end":"\"","patterns":[{"include":"#string-escape-sequences"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hx"}}},{"begin":"(')","end":"(')","patterns":[{"name":"string.quoted.single.hx","begin":"\\$(?=\\$)","end":"\\$","beginCaptures":{"0":{"name":"constant.character.escape.hx"}},"endCaptures":{"0":{"name":"constant.character.escape.hx"}}},{"include":"#string-escape-sequences"},{"begin":"(\\${)","end":"(})","patterns":[{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}}},{"match":"(\\$)([_a-zA-Z]\\w*)","captures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"variable.other.hx"}}},{"name":"constant.character.escape.hx"},{"name":"string.quoted.single.hx","match":"."}],"beginCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.end.hx"}}}]},"type":{"patterns":[{"include":"#global"},{"include":"#macro-reification"},{"include":"#type-name"},{"include":"#type-parameters"},{"name":"keyword.operator.type.function.hx","match":"-\u003e"},{"name":"keyword.operator.type.intersection.hx","match":"\u0026"},{"name":"keyword.operator.optional","match":"\\?(?=\\s*[_A-Z])"},{"name":"punctuation.definition.tag","match":"\\?(?!\\s*[_A-Z])"},{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#typedef-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}}},{"include":"#function-type"}]},"type-check":{"begin":"(?\u003c!macro)(?=:)","end":"(?=\\))","patterns":[{"include":"#operator-type-hint"},{"include":"#type"}]},"type-name":{"patterns":[{"match":"\\b(Any|Array|ArrayAccess|Bool|Class|Date|DateTools|Dynamic|Enum|EnumValue|EReg|Float|IMap|Int|IntIterator|Iterable|Iterator|KeyValueIterator|KeyValueIterable|Lambda|List|ListIterator|ListNode|Map|Math|Null|Reflect|Single|Std|String|StringBuf|StringTools|Sys|Type|UInt|UnicodeString|ValueType|Void|Xml|XmlType)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\b","captures":{"1":{"name":"support.class.builtin.hx"},"2":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"}}},{"match":"\\b(?\u003c![^.]\\.)((_*[a-z]\\w*\\.)*)(_*[A-Z]\\w*)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\b","captures":{"1":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"},"4":{"name":"support.package.hx"},"5":{"name":"entity.name.type.hx"}}}]},"type-parameter-constraint-new":{"name":"keyword.operator.type.annotation.hxt","match":":"},"type-parameter-constraint-old":{"begin":"(:)\\s*(\\()","end":"\\)","patterns":[{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.hx"},"2":{"name":"punctuation.definition.constraint.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.constraint.end.hx"}}},"type-parameters":{"name":"meta.type-parameters.hx","begin":"(\u003c)","end":"(?=$)|(\u003e)","patterns":[{"include":"#type"},{"include":"#type-parameter-constraint-old"},{"include":"#type-parameter-constraint-new"},{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.hx"}}},"type-path":{"patterns":[{"include":"#global"},{"include":"#punctuation-accessor"},{"include":"#type-path-type-name"}]},"type-path-package-name":{"name":"support.package.hx","match":"\\b([_A-Za-z]\\w*)\\b"},"type-path-type-name":{"name":"entity.name.type.hx","match":"\\b(_*[A-Z]\\w*)\\b"},"typedef":{"name":"meta.typedef.hx","begin":"(?=typedef)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#typedef-name"},{"include":"#typedef-name-post"},{"include":"#typedef-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"typedef-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#punctuation-comma"},{"include":"#operator-optional"},{"include":"#typedef-extension"},{"include":"#typedef-simple-field-type-hint"},{"include":"#identifier-name"},{"include":"#strings"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"typedef-extension":{"begin":"\u003e","end":",|$","patterns":[{"include":"#type"}]},"typedef-name":{"begin":"\\b(typedef)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"typedef-name-post":{"begin":"(?\u003c=\\w)","end":"(\\{)|(?=;)","patterns":[{"include":"#global"},{"include":"#punctuation-brackets"},{"include":"#punctuation-separator"},{"include":"#operator-assignment"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"typedef-simple-field-type-hint":{"begin":":","end":"(?=\\}|,|;)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"using":{"begin":"using\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.other.using.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"variable":{"begin":"(?=\\b(var|final)\\b)","end":"(?=$)|(;)","patterns":[{"include":"#variable-name"},{"include":"#variable-name-next"},{"include":"#variable-assign"},{"include":"#variable-name-post"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"variable-accessors":{"name":"meta.parameters.hx","begin":"\\(","end":"\\)","patterns":[{"include":"#global"},{"include":"#keywords-accessor"},{"include":"#accessor-method"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.hx"}}},"variable-assign":{"begin":"=","end":"(?=;|,)","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}}},"variable-name":{"begin":"\\b(var|final)\\b","end":"(?=$)|([_a-zA-Z]\\w*)","patterns":[{"include":"#operator-optional"}],"beginCaptures":{"1":{"name":"storage.type.variable.hx"}},"endCaptures":{"1":{"name":"variable.other.hx"}}},"variable-name-next":{"begin":",","end":"([_a-zA-Z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"0":{"name":"punctuation.separator.comma.hx"}},"endCaptures":{"1":{"name":"variable.other.hx"}}},"variable-name-post":{"begin":"(?\u003c=\\w)","end":"(?=;)|(?==)","patterns":[{"include":"#variable-accessors"},{"include":"#variable-type-hint"},{"include":"#block-contents"}]},"variable-type-hint":{"begin":":","end":"(?=$|;|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}}}}
|
1
|
+
{"name":"Haxe","scopeName":"source.hx","patterns":[{"include":"#all"}],"repository":{"abstract":{"name":"meta.abstract.hx","begin":"(?=abstract\\s+[A-Z])","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#abstract-name"},{"include":"#abstract-name-post"},{"include":"#abstract-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"abstract-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#modifiers"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"abstract-name":{"begin":"\\b(abstract)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"abstract-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#global"},{"name":"keyword.other.hx","match":"\\b(from|to)\\b"},{"include":"#type"},{"name":"punctuation.definition.other.hx","match":"[\\(\\)]"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"accessor-method":{"patterns":[{"name":"entity.name.function.hx","match":"\\b(get|set)_[_A-Za-z]\\w*\\b"}]},"all":{"patterns":[{"include":"#global"},{"include":"#package"},{"include":"#import"},{"include":"#using"},{"name":"storage.modifier.hx","match":"\\b(final)\\b(?=\\s+(class|interface|extern|private)\\b)"},{"include":"#abstract"},{"include":"#class"},{"include":"#enum"},{"include":"#interface"},{"include":"#typedef"},{"include":"#block"},{"include":"#block-contents"}]},"array":{"name":"meta.array.literal.hx","begin":"\\[","end":"\\]","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.hx"}}},"arrow-function":{"name":"meta.method.arrow.hx","begin":"(\\()(?=[^(]*?\\)\\s*-\u003e)","end":"(\\))\\s*(-\u003e)","patterns":[{"include":"#arrow-function-parameter"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"},"2":{"name":"storage.type.function.arrow.hx"}}},"arrow-function-parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)|,)","patterns":[{"include":"#parameter-name"},{"include":"#arrow-function-parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#punctuation-comma"},{"include":"#global"}]},"arrow-function-parameter-type-hint":{"begin":":","end":"(?=\\)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"block":{"begin":"\\{","end":"\\}","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}}},"block-contents":{"patterns":[{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#new-expr"},{"include":"#for-loop"},{"include":"#keywords"},{"include":"#arrow-function"},{"include":"#method-call"},{"include":"#enum-constructor-call"},{"include":"#punctuation-braces"},{"include":"#macro-reification"},{"include":"#operators"},{"include":"#operator-assignment"},{"include":"#punctuation-terminator"},{"include":"#punctuation-comma"},{"include":"#punctuation-accessor"},{"include":"#identifiers"}]},"class":{"name":"meta.class.hx","begin":"(?=class)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#class-name"},{"include":"#class-name-post"},{"include":"#class-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"class-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#modifiers"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"class-name":{"name":"meta.class.identifier.hx","begin":"\\b(class)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"class-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#modifiers-inheritance"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"comments":{"patterns":[{"name":"comment.block.documentation.hx","begin":"/\\*\\*(?!/)","end":"\\*/","patterns":[{"include":"#javadoc-tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}}},{"name":"comment.block.hx","begin":"/\\*","end":"\\*/","patterns":[{"include":"#javadoc-tags"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.hx"}}},{"name":"comment.line.double-slash.hx","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.hx"}}}]},"conditional-compilation":{"patterns":[{"match":"((#(if|elseif))[\\s!]+([a-zA-Z_][a-zA-Z0-9_]*(\\.[a-zA-Z_][a-zA-Z0-9_]*)*)(?=\\s|/\\*|//))","captures":{"0":{"name":"punctuation.definition.tag"}}},{"name":"punctuation.definition.tag","begin":"((#(if|elseif))[\\s!]*)(?=\\()","end":"(?\u003c=\\)|\\n)","patterns":[{"include":"#conditional-compilation-parens"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag"}},"endCaptures":{"0":{"name":"punctuation.definition.tag"}}},{"name":"punctuation.definition.tag","match":"(#(end|else|error|line))"},{"name":"punctuation.definition.tag","match":"(#([a-zA-Z0-9_]*))\\s"}]},"conditional-compilation-parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#conditional-compilation-parens"}]},"constant-name":{"name":"variable.other.hx","match":"\\b([_A-Z][_A-Z0-9]*)\\b"},"constants":{"patterns":[{"name":"constant.language.hx","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.hex.hx","match":"\\b(0(x|X)[0-9a-fA-F]*)\\b"},{"match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+(\\.)[eE][+-]?[0-9]+\\b)| # 1.E+3\n (?:\\B(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # .1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+(\\.)(?!\\.)\\B)| # 1.\n (?:\\B(\\.)[0-9]+\\b)| # .1\n (?:\\b[0-9]+\\b) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.hx"},"1":{"name":"meta.delimiter.decimal.period.hx"},"2":{"name":"meta.delimiter.decimal.period.hx"},"3":{"name":"meta.delimiter.decimal.period.hx"},"4":{"name":"meta.delimiter.decimal.period.hx"},"5":{"name":"meta.delimiter.decimal.period.hx"},"6":{"name":"meta.delimiter.decimal.period.hx"}}}]},"enum":{"name":"meta.enum.hx","begin":"(?=enum\\s+[A-Z])","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#enum-name"},{"include":"#enum-name-post"},{"include":"#enum-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"enum-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#parameters"},{"include":"#identifiers"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"enum-constructor-call":{"begin":"\\b(?\u003c!\\.)((_*[a-z]\\w*\\.)*)(_*[A-Z]\\w*)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\s*(\\()","end":"(\\))","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"},"4":{"name":"support.package.hx"},"5":{"name":"entity.name.type.hx"},"6":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"enum-name":{"begin":"\\b(enum)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"enum-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"for-loop":{"begin":"\\b(for)\\b\\s*(\\()","end":"(\\))","patterns":[{"name":"keyword.other.in.hx","match":"\\b(in)\\b"},{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"keyword.control.flow-control.hx"},"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"function-type":{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-type-parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.hx"}}},"function-type-parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)|,)","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#operator-optional"},{"include":"#punctuation-comma"},{"include":"#function-type-parameter-name"},{"include":"#function-type-parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#type"},{"include":"#global"}]},"function-type-parameter-name":{"match":"([_a-zA-Z]\\w*)(?=\\s*:)","captures":{"1":{"name":"variable.parameter.hx"}}},"function-type-parameter-type-hint":{"begin":":","end":"(?=\\)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"global":{"patterns":[{"include":"#comments"},{"include":"#conditional-compilation"}]},"identifier-name":{"name":"variable.other.hx","match":"\\b([_A-Za-z]\\w*)\\b"},"identifiers":{"patterns":[{"include":"#constant-name"},{"include":"#type-name"},{"include":"#identifier-name"}]},"import":{"begin":"import\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"name":"keyword.control.as.hx","match":"\\b(as)\\b"},{"name":"keyword.control.in.hx","match":"\\b(in)\\b"},{"name":"constant.language.import-all.hx","match":"\\*"},{"name":"variable.other.hxt","match":"\\b([_A-Za-z]\\w*)\\b(?=\\s*(as|in|$|(;)))"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.control.import.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"interface":{"name":"meta.interface.hx","begin":"(?=interface)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#interface-name"},{"include":"#interface-name-post"},{"include":"#interface-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"interface-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#method"},{"include":"#variable"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"interface-name":{"begin":"\\b(interface)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"interface-name-post":{"begin":"(?\u003c=\\w)","end":"([\\{;])","patterns":[{"include":"#global"},{"include":"#modifiers-inheritance"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"javadoc-tags":{"patterns":[{"match":"(@(?:param|exception|throws|event))\\s+([_A-Za-z]\\w*)\\s+","captures":{"1":{"name":"storage.type.class.javadoc"},"2":{"name":"variable.other.javadoc"}}},{"match":"(@since)\\s+([\\w\\.-]+)\\s+","captures":{"1":{"name":"storage.type.class.javadoc"},"2":{"name":"constant.numeric.javadoc"}}},{"match":"@(param|exception|throws|deprecated|returns?|since|default|see|event)","captures":{"0":{"name":"storage.type.class.javadoc"}}}]},"keywords":{"patterns":[{"begin":"(?\u003c=trace|$type|if|while|for|super)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"begin":"(?\u003c=catch)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"},{"include":"#type-check"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"begin":"(?\u003c=cast)\\s*(\\()","end":"\\)","patterns":[{"begin":"(?=,)","end":"(?=\\))","patterns":[{"include":"#type"}]},{"include":"#block-contents"}],"beginCaptures":{"2":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"name":"keyword.control.catch-exception.hx","match":"\\b(try|catch|throw)\\b"},{"begin":"\\b(case|default)\\b","end":":|(?=if)|$","patterns":[{"include":"#global"},{"include":"#metadata"},{"match":"\\b(var|final)\\b\\s*([_a-zA-Z]\\w*)\\b","captures":{"1":{"name":"storage.type.variable.hx"},"2":{"name":"variable.other.hx"}}},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"name":"meta.brace.round.hx","match":"\\("},{"name":"meta.brace.round.hx","match":"\\)"},{"include":"#macro-reification"},{"name":"keyword.operator.extractor.hx","match":"=\u003e"},{"include":"#operator-assignment"},{"include":"#punctuation-comma"},{"include":"#keywords"},{"include":"#method-call"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.flow-control.hx"}}},{"name":"keyword.control.flow-control.hx","match":"\\b(if|else|return|do|while|for|break|continue|switch|case|default)\\b"},{"name":"keyword.other.untyped.hx","match":"\\b(cast|untyped)\\b"},{"name":"keyword.other.trace.hx","match":"\\btrace\\b"},{"name":"keyword.other.type.hx","match":"\\$type\\b"},{"name":"keyword.other.untyped-property.hx","match":"\\__(global|this)__\\b"},{"name":"variable.language.hx","match":"\\b(this|super)\\b"},{"name":"keyword.operator.new.hx","match":"\\bnew\\b"},{"name":"storage.type.hx","match":"\\b(abstract|class|enum|interface|typedef)\\b"},{"name":"storage.type.function.arrow.hx","match":"-\u003e"},{"include":"#modifiers"},{"include":"#modifiers-inheritance"}]},"keywords-accessor":{"name":"storage.type.property.hx","match":"\\b(default|get|set|dynamic|never|null)\\b"},"macro-reification":{"patterns":[{"match":"(\\$)([eabipv])\\{","captures":{"1":{"name":"punctuation.definition.reification.hx"},"2":{"name":"keyword.reification.hx"}}},{"match":"((\\$)([a-zA-Z]*))","captures":{"2":{"name":"punctuation.definition.reification.hx"},"3":{"name":"variable.reification.hx"}}}]},"metadata":{"patterns":[{"begin":"(@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\\b)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"storage.modifier.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"match":"((@)(:(abi|abstract|access|allow|analyzer|annotation|arrayAccess|astSource|autoBuild|bind|bitmap|bridgeProperties|build|buildXml|bypassAccessor|callable|classCode|commutative|compilerGenerated|const|coreApi|coreType|cppFileCode|cppInclude|cppNamespaceCode|cs.assemblyMeta|cs.assemblyStrict|cs.using|dce|debug|decl|delegate|depend|deprecated|eager|enum|event|expose|extern|file|fileXml|final|fixed|flash.property|font|forward.new|forward.variance|forward|forwardStatics|from|functionCode|functionTailCode|generic|genericBuild|genericClassPerMethod|getter|hack|headerClassCode|headerCode|headerInclude|headerNamespaceCode|hlNative|hxGen|ifFeature|include|inheritDoc|inline|internal|isVar|java.native|javaCanonical|jsRequire|jvm.synthetic|keep|keepInit|keepSub|luaDotMethod|luaRequire|macro|markup|mergeBlock|multiReturn|multiType|native|nativeChildren|nativeGen|nativeProperty|nativeStaticExtension|noClosure|noCompletion|noDebug|noDoc|noImportGlobal|noPrivateAccess|noStack|noUsing|nonVirtual|notNull|nullSafety|objc|objcProtocol|op|optional|overload|persistent|phpClassConst|phpGlobal|phpMagic|phpNoConstructor|pos|private|privateAccess|property|protected|publicFields|pure|pythonImport|readOnly|remove|require|resolve|rtti|runtimeValue|scalar|selfCall|semantics|setter|sound|sourceFile|stackOnly|strict|struct|structAccess|structInit|suppressWarnings|templatedCall|throws|to|transient|transitive|unifyMinDynamic|unreflective|unsafe|using|void|volatile)\\b))","captures":{"2":{"name":"punctuation.metadata.hx"},"3":{"name":"storage.modifier.metadata.hx"}}},{"begin":"(@)(:?[a-zA-Z_]*)\\s*(\\()","end":"\\)","patterns":[{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},{"match":"(@)(:?)([a-zA-Z_]*(\\.))*([a-zA-Z_]*)?","captures":{"1":{"name":"punctuation.metadata.hx"},"2":{"name":"variable.metadata.hx"},"3":{"name":"variable.metadata.hx"},"4":{"name":"punctuation.accessor.hx"},"5":{"name":"variable.metadata.hx"}}}]},"method":{"name":"meta.method.hx","begin":"(?=\\bfunction\\b)","end":"(?\u003c=[\\};])","patterns":[{"include":"#macro-reification"},{"include":"#method-name"},{"include":"#method-name-post"},{"include":"#method-block"}]},"method-block":{"name":"meta.method.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"method-call":{"begin":"\\b(?:(__(?:addressOf|as|call|checked|cpp|cs|define_feature|delete|feature|field|fixed|foreach|forin|has_next|hkeys|in|int|is|java|js|keys|lock|lua|lua_table|new|php|physeq|prefix|ptr|resources|rethrow|set|setfield|sizeof|type|typeof|unprotect|unsafe|valueOf|var|vector|vmem_get|vmem_set|vmem_sign|instanceof|strict_eq|strict_neq)__)|([_a-z]\\w*))\\s*(\\()","end":"(\\))","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"1":{"name":"keyword.other.untyped-function.hx"},"2":{"name":"entity.name.function.hx"},"3":{"name":"meta.brace.round.hx"}},"endCaptures":{"1":{"name":"meta.brace.round.hx"}}},"method-name":{"begin":"\\b(function)\\b\\s*\\b(?:(new)|([_A-Za-z]\\w*))?\\b","end":"(?=$|\\()","patterns":[{"include":"#macro-reification"},{"include":"#type-parameters"}],"beginCaptures":{"1":{"name":"storage.type.function.hx"},"2":{"name":"storage.type.hx"},"3":{"name":"entity.name.function.hx"}}},"method-name-post":{"begin":"(?\u003c=[\\w\\s\u003e])","end":"(\\{)|(;)","patterns":[{"include":"#parameters"},{"include":"#method-return-type-hint"},{"include":"#block"},{"include":"#block-contents"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"punctuation.terminator.hx"}}},"method-return-type-hint":{"begin":"(?\u003c=\\))\\s*(:)","end":"(?=\\{|;|[a-z0-9])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.hx"}}},"modifiers":{"patterns":[{"name":"storage.type.class","match":"\\b(enum)\\b"},{"name":"storage.modifier.hx","match":"\\b(public|private|static|dynamic|inline|macro|extern|override|overload|abstract)\\b"},{"name":"storage.modifier.hx","match":"\\b(final)\\b(?=\\s+(public|private|static|dynamic|inline|macro|extern|override|overload|abstract|function))"}]},"modifiers-inheritance":{"name":"storage.modifier.hx","match":"\\b(implements|extends)\\b"},"new-expr":{"name":"new.expr.hx","begin":"(?\u003c!\\.)\\b(new)\\b","end":"(?=$|\\()","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.new.hx"}}},"operator-assignment":{"name":"keyword.operator.assignment.hx","match":"(=)"},"operator-optional":{"name":"keyword.operator.optional.hx","match":"(\\?)(?!\\s)"},"operator-type-hint":{"name":"keyword.operator.type.annotation.hx","match":"(:)"},"operators":{"patterns":[{"name":"keyword.operator.logical.hx","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.bitwise.hx","match":"(~|\u0026|\\||\\^|\u003e\u003e\u003e|\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.comparison.hx","match":"(==|!=|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.logical.hx","match":"(!)"},{"name":"keyword.operator.increment-decrement.hx","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.hx","match":"(\\-|\\+|\\*|\\/|%)"},{"name":"keyword.operator.intiterator.hx","match":"\\.\\.\\."},{"name":"keyword.operator.arrow.hx","match":"=\u003e"},{"name":"keyword.operator.nullcoalescing.hx","match":"\\?\\?"},{"name":"keyword.operator.safenavigation.hx","match":"\\?\\."},{"name":"keyword.other.hx","match":"\\bis\\b(?!\\()"},{"begin":"\\?","end":":","patterns":[{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.hx"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.hx"}}}]},"package":{"begin":"package\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.other.package.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"parameter":{"begin":"(?\u003c=\\(|,)","end":"(?=\\)(?!\\s*-\u003e)|,)","patterns":[{"include":"#parameter-name"},{"include":"#parameter-type-hint"},{"include":"#parameter-assign"},{"include":"#punctuation-comma"},{"include":"#global"}]},"parameter-assign":{"begin":"=","end":"(?=\\)|,)","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}}},"parameter-name":{"begin":"(?\u003c=\\(|,)","end":"([_a-zA-Z]\\w*)","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#operator-optional"}],"endCaptures":{"1":{"name":"variable.parameter.hx"}}},"parameter-type-hint":{"begin":":","end":"(?=\\)(?!\\s*-\u003e)|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"parameters":{"name":"meta.parameters.hx","begin":"\\(","end":"\\s*(\\)(?!\\s*-\u003e))","patterns":[{"include":"#parameter"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.hx"}}},"punctuation-accessor":{"name":"punctuation.accessor.hx","match":"\\."},"punctuation-braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#keywords"},{"include":"#block"},{"include":"#block-contents"},{"include":"#type-check"}],"beginCaptures":{"0":{"name":"meta.brace.round.hx"}},"endCaptures":{"0":{"name":"meta.brace.round.hx"}}},"punctuation-comma":{"name":"punctuation.separator.comma.hx","match":","},"punctuation-terminator":{"name":"punctuation.terminator.hx","match":";"},"regex":{"name":"string.regexp.hx","begin":"(~/)","end":"(/)([gimsu]*)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.hx"},"2":{"name":"keyword.other.hx"}}},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((\\?:)?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"string-escape-sequences":{"patterns":[{"name":"constant.character.escape.hx","match":"\\\\[0-3][0-9]{2}"},{"name":"constant.character.escape.hx","match":"\\\\x[0-9A-Fa-f]{2}"},{"name":"constant.character.escape.hx","match":"\\\\u[0-9]{4}"},{"name":"constant.character.escape.hx","match":"\\\\u\\{[0-9A-Fa-f]{1,}\\}"},{"name":"constant.character.escape.hx","match":"\\\\[nrt\"'\\\\]"},{"name":"invalid.escape.sequence.hx","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.quoted.double.hx","begin":"\"","end":"\"","patterns":[{"include":"#string-escape-sequences"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hx"}}},{"begin":"(')","end":"(')","patterns":[{"name":"string.quoted.single.hx","begin":"\\$(?=\\$)","end":"\\$","beginCaptures":{"0":{"name":"constant.character.escape.hx"}},"endCaptures":{"0":{"name":"constant.character.escape.hx"}}},{"include":"#string-escape-sequences"},{"begin":"(\\${)","end":"(})","patterns":[{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.hx"}}},{"match":"(\\$)([_a-zA-Z]\\w*)","captures":{"1":{"name":"punctuation.definition.block.begin.hx"},"2":{"name":"variable.other.hx"}}},{"name":"constant.character.escape.hx"},{"name":"string.quoted.single.hx","match":"."}],"beginCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.begin.hx"}},"endCaptures":{"0":{"name":"string.quoted.single.hx"},"1":{"name":"punctuation.definition.string.end.hx"}}}]},"type":{"patterns":[{"include":"#global"},{"include":"#macro-reification"},{"include":"#type-name"},{"include":"#type-parameters"},{"name":"keyword.operator.type.function.hx","match":"-\u003e"},{"name":"keyword.operator.type.intersection.hx","match":"\u0026"},{"name":"keyword.operator.optional","match":"\\?(?=\\s*[_A-Z])"},{"name":"punctuation.definition.tag","match":"\\?(?!\\s*[_A-Z])"},{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#typedef-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.hx"}}},{"include":"#function-type"}]},"type-check":{"begin":"(?\u003c!macro)(?=:)","end":"(?=\\))","patterns":[{"include":"#operator-type-hint"},{"include":"#type"}]},"type-name":{"patterns":[{"match":"\\b(Any|Array|ArrayAccess|Bool|Class|Date|DateTools|Dynamic|Enum|EnumValue|EReg|Float|IMap|Int|IntIterator|Iterable|Iterator|KeyValueIterator|KeyValueIterable|Lambda|List|ListIterator|ListNode|Map|Math|Null|Reflect|Single|Std|String|StringBuf|StringTools|Sys|Type|UInt|UnicodeString|ValueType|Void|Xml|XmlType)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\b","captures":{"1":{"name":"support.class.builtin.hx"},"2":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"}}},{"match":"\\b(?\u003c![^.]\\.)((_*[a-z]\\w*\\.)*)(_*[A-Z]\\w*)(?:(\\.)(_*[A-Z]\\w*[a-z]\\w*))*\\b","captures":{"1":{"name":"support.package.hx"},"3":{"name":"entity.name.type.hx"},"4":{"name":"support.package.hx"},"5":{"name":"entity.name.type.hx"}}}]},"type-parameter-constraint-new":{"name":"keyword.operator.type.annotation.hxt","match":":"},"type-parameter-constraint-old":{"begin":"(:)\\s*(\\()","end":"\\)","patterns":[{"include":"#type"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"keyword.operator.type.annotation.hx"},"2":{"name":"punctuation.definition.constraint.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.constraint.end.hx"}}},"type-parameters":{"name":"meta.type-parameters.hx","begin":"(\u003c)","end":"(?=$)|(\u003e)","patterns":[{"include":"#type"},{"include":"#type-parameter-constraint-old"},{"include":"#type-parameter-constraint-new"},{"include":"#global"},{"include":"#regex"},{"include":"#array"},{"include":"#constants"},{"include":"#strings"},{"include":"#metadata"},{"include":"#punctuation-comma"}],"beginCaptures":{"1":{"name":"punctuation.definition.typeparameters.begin.hx"}},"endCaptures":{"1":{"name":"punctuation.definition.typeparameters.end.hx"}}},"type-path":{"patterns":[{"include":"#global"},{"include":"#punctuation-accessor"},{"include":"#type-path-type-name"}]},"type-path-package-name":{"name":"support.package.hx","match":"\\b([_A-Za-z]\\w*)\\b"},"type-path-type-name":{"name":"entity.name.type.hx","match":"\\b(_*[A-Z]\\w*)\\b"},"typedef":{"name":"meta.typedef.hx","begin":"(?=typedef)","end":"(?\u003c=\\})|(;)","patterns":[{"include":"#typedef-name"},{"include":"#typedef-name-post"},{"include":"#typedef-block"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"typedef-block":{"name":"meta.block.hx","begin":"(?\u003c=\\{)","end":"(\\})","patterns":[{"include":"#global"},{"include":"#metadata"},{"include":"#method"},{"include":"#variable"},{"include":"#modifiers"},{"include":"#punctuation-comma"},{"include":"#operator-optional"},{"include":"#typedef-extension"},{"include":"#typedef-simple-field-type-hint"},{"include":"#identifier-name"},{"include":"#strings"}],"endCaptures":{"1":{"name":"punctuation.definition.block.end.hx"}}},"typedef-extension":{"begin":"\u003e","end":",|$","patterns":[{"include":"#type"}]},"typedef-name":{"begin":"\\b(typedef)\\b","end":"([_A-Za-z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"1":{"name":"storage.type.class.hx"}},"endCaptures":{"1":{"name":"entity.name.type.class.hx"}}},"typedef-name-post":{"begin":"(?\u003c=\\w)","end":"(\\{)|(?=;)","patterns":[{"include":"#global"},{"include":"#punctuation-brackets"},{"include":"#punctuation-separator"},{"include":"#operator-assignment"},{"include":"#type"}],"endCaptures":{"1":{"name":"punctuation.definition.block.begin.hx"}}},"typedef-simple-field-type-hint":{"begin":":","end":"(?=\\}|,|;)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}},"using":{"begin":"using\\b","end":"$|(;)","patterns":[{"include":"#type-path"},{"include":"#type-path-package-name"}],"beginCaptures":{"0":{"name":"keyword.other.using.hx"}},"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"variable":{"begin":"(?=\\b(var|final)\\b)","end":"(?=$)|(;)","patterns":[{"include":"#variable-name"},{"include":"#variable-name-next"},{"include":"#variable-assign"},{"include":"#variable-name-post"}],"endCaptures":{"1":{"name":"punctuation.terminator.hx"}}},"variable-accessors":{"name":"meta.parameters.hx","begin":"\\(","end":"\\)","patterns":[{"include":"#global"},{"include":"#keywords-accessor"},{"include":"#accessor-method"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.hx"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.hx"}}},"variable-assign":{"begin":"=","end":"(?=;|,)","patterns":[{"include":"#block"},{"include":"#block-contents"}],"beginCaptures":{"0":{"name":"keyword.operator.assignment.hx"}}},"variable-name":{"begin":"\\b(var|final)\\b","end":"(?=$)|([_a-zA-Z]\\w*)","patterns":[{"include":"#operator-optional"}],"beginCaptures":{"1":{"name":"storage.type.variable.hx"}},"endCaptures":{"1":{"name":"variable.other.hx"}}},"variable-name-next":{"begin":",","end":"([_a-zA-Z]\\w*)","patterns":[{"include":"#global"}],"beginCaptures":{"0":{"name":"punctuation.separator.comma.hx"}},"endCaptures":{"1":{"name":"variable.other.hx"}}},"variable-name-post":{"begin":"(?\u003c=\\w)","end":"(?=;)|(?==)","patterns":[{"include":"#variable-accessors"},{"include":"#variable-type-hint"},{"include":"#block-contents"}]},"variable-type-hint":{"begin":":","end":"(?=$|;|,|=)","patterns":[{"include":"#type"}],"beginCaptures":{"0":{"name":"keyword.operator.type.annotation.hx"}}}}}
|
data/grammars/source.icurry.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Curry Interface","scopeName":"source.icurry","patterns":[{"name":"meta.declaration.interface.icurry","begin":"^(interface)\\b","end":"\\b(where)\\b\\s*{|(^(?!\\s))","patterns":[{"include":"#interface_name"},{"include":"#comments"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.interface.icurry"}},"endCaptures":{"1":{"name":"keyword.interface.icurry"}}},{"name":"meta.import.icurry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"name":"keyword.other.icurry keyword.import.icurry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#interface_name"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.import.icurry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.icurry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.icurry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.icurry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.icurry"},"2":{"name":"keyword.declaration.foreign.icurry"},"3":{"name":"keyword.declaration.foreign.icurry"},"5":{"name":"string.quoted.double.icurry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.icurry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"},{"include":"#comments"}],"captures":{"0":{"name":"punctuation.comment.icurry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.icurry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.icurry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.icurry"}}},"comments":{"patterns":[{"name":"comment.line.icurry","match":"(---*(?!([!#\\$%\u0026\\*\\+\\./\u003c=\u003e\\?@\\\\\\^\\|\\-~:]|[^[^\\p{S}\\p{P}]_\"'\\(\\),;\\[\\]`\\{}]))).*$\\n?","captures":{"1":{"name":"punctuation.comment.icurry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.icurry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.icurry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.icurry entity.name.constructor.icurry"},"3":{"name":"keyword.other.double-colon.icurry"}}},"ctor_names":{"patterns":[{"name":"constant.other.icurry entity.name.constructor.icurry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.icurry","begin":"^(\\s*)(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"name":"keyword.declaration.data.icurry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"constant.other.icurry entity.name.constructor.icurry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.icurry"},"3":{"name":"constant.other.icurry entity.name.type.icurry"}}},"deriving":{"name":"keyword.other.icurry keyword.declaration.data.icurry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"name":"storage.interface.icurry entity.name.interface.icurry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.icurry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|icurry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.icurry invalid.icurry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.icurry punctuation.list.icurry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.icurry","match":","},{"name":"keyword.operator.function.infix.icurry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.icurry"},"3":{"name":"punctuation.definition.entity.icurry"}}},{"name":"record.expression.icurry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.icurry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}}},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\(\\)"},{"name":"constant.other.icurry entity.name.constructor.icurry","match":"\\[\\]"},{"include":"#comments"},{"name":"keyword.operator.icurry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"field_signature":{"name":"meta.declaration.field.icurry","begin":"(?=.*?((::)|∷))","end":"(?=[,}])","patterns":[{"name":"meta.declaration.field.signature.icurry","begin":"((::)|∷)","end":"(?=[,}])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.double-colon.icurry"}}},{"name":"entity.name.function.icurry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}]},"fixity_declaration":{"name":"keyword.declaration.fixity.icurry","match":"\\binfix[lr]?\\b"},"foreign_function_signature":{"name":"meta.declaration.function.icurry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.icurry"},"3":{"name":"keyword.other.double-colon.icurry"}}},"function_declarations":{"patterns":[{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#fixity_declaration"}]},"function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},"function_signature":{"name":"meta.declaration.function.icurry","begin":"^(\\s*)(?!--)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.icurry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.icurry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.icurry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.icurry"}}},"infix_function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.icurry"}}},"infix_op":{"name":"keyword.operator.icurry","match":"(\\([^\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.icurry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\s*{\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.icurry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.icurry"}}},"interface_name":{"name":"storage.interface.icurry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"literals":{"patterns":[{"name":"constant.numeric.icurry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.icurry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.icurry","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.icurry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.icurry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.icurry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.icurry","match":"(?x)\n (')\n (?:\n [\\ -\u0026(-\\[\\]-~\"] # Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n |DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n |US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])) # Escapes\n | (\\\\o[0-7]+) # Octal Escapes\n | (\\\\x[0-9A-Fa-f]+) # Hexadecimal Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_]) # Control Chars\n )\n (')\n ","captures":{"2":{"name":"constant.character.escape.icurry"},"3":{"name":"constant.character.escape.octal.icurry"},"4":{"name":"constant.character.escape.hexadecimal.icurry"},"5":{"name":"constant.character.escape.control.icurry"}}}]},"pattern_function_definition":{"name":"meta.definition.function.icurry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.icurry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},"pragma":{"name":"pragma.icurry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.icurry pragma.support.language.icurry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.icurry pragma.support.flag.icurry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.icurry"},"2":{"name":"keyword.preprocessor.icurry pragma.name.icurry"}}},"quasi_quote":{"name":"string.quoted.quasi.icurry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"},"2":{"name":"entity.name.function.icurry"},"3":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.icurry keyword.operator.icurry"}}},"record_declaration":{"name":"meta.declaration.record.icurry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#field_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry punctuation.record.icurry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.icurry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.icurry","match":"=\u003e|⇒"},{"name":"storage.type.icurry support.type.icurry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.icurry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"storage.type.icurry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"storage.type.icurry","match":"\\(\\)"},{"name":"meta.type_signature.brace.icurry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},{"name":"meta.type_signature.list.icurry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},{"include":"#comments"}]},"type_declaration":{"name":"meta.declaration.type.icurry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.icurry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.icurry"},"3":{"name":"constant.other.icurry entity.name.type.icurry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
|
1
|
+
{"name":"Curry Interface","scopeName":"source.icurry","patterns":[{"include":"#import"},{"include":"#hiding_declaration"},{"include":"#interface_declaration"},{"include":"#instance_declaration"},{"include":"#class_declaration"},{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#function_declarations"},{"include":"#pragma"}],"repository":{"class_declaration":{"name":"meta.declaration.class.icurry","begin":"\\b(class)\\b","end":"{","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.icurry"}},"endCaptures":{"1":{"name":"keyword.other.scope.icurry"}}},"data_declaration":{"name":"meta.declaration.data.icurry","begin":"\\b(data)|(newtype)","end":";|}","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.declaration.data.icurry"},"2":{"name":"keyword.declaration.newtype.icurry"}}},"function_declarations":{"patterns":[{"include":"#infix_function_definition"},{"include":"#function_signature"}]},"function_signature":{"name":"meta.declaration.function.icurry","begin":"(?:\\b(\\w+)|(\\([^\\)]+\\)))(?:\\s+(\\d+))?(?:\\s*(::))?","end":";|}","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"entity.name.function.icurry"},"2":{"name":"entity.name.function.operator.icurry"},"3":{"name":"constant.numeric.arity.icurry"},"4":{"name":"keyword.other.double-colon.icurry"}}},"hiding_declaration":{"name":"meta.hiding.icurry","begin":"^(hiding)\\s+(data|class)\\b","end":";|}","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.import.icurry"},"2":{"name":"keyword.other.icurry"}}},"import":{"name":"meta.import.icurry","begin":"^(import)\\b","end":";|}","patterns":[{"include":"#module_name"}],"beginCaptures":{"1":{"name":"keyword.other.icurry keyword.import.icurry"}}},"infix_function_definition":{"name":"meta.declaration.function.infix.icurry","begin":"\\b(infix(?:[rl])?)\\s+(\\d+)","end":";|}","beginCaptures":{"1":{"name":"keyword.other.infix.icurry"},"2":{"name":"constant.numeric.fixity.icurry"}}},"instance_declaration":{"name":"meta.declaration.instance.icurry","begin":"\\b(instance)\\b","end":"{","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.icurry"}},"endCaptures":{"1":{"name":"keyword.other.scope.icurry"}}},"interface_declaration":{"name":"meta.declaration.interface.icurry","begin":"\\b(interface)\\b","end":"\\b(where)\\s*{","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.icurry"}},"endCaptures":{"1":{"name":"keyword.other.scope.icurry"}}},"module_name":{"name":"storage.module.icurry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"pragma":{"name":"meta.preprocessor.icurry pragma.icurry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"(#-\\})","patterns":[{"name":"keyword.other.preprocessor.icurry pragma.support.language.icurry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.icurry pragma.support.flag.icurry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.preprocessor.icurry punctuation.pragma.icurry"},"2":{"name":"keyword.preprocessor.icurry pragma.name.icurry"}},"endCaptures":{"1":{"name":"punctuation.preprocessor.icurry punctuation.pragma.icurry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.icurry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.icurry","match":"=\u003e|⇒"},{"name":"variable.generic.icurry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"storage.type.icurry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"storage.type.icurry","match":"\\(\\)"},{"name":"meta.type_signature.brace.icurry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}},{"name":"meta.type_signature.list.icurry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.icurry"}},"endCaptures":{"1":{"name":"keyword.operator.icurry"}}}]},"type_declaration":{"name":"meta.declaration.type.icurry","begin":"\\b(type)","end":";|}","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.icurry"}}}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"JsLIGO","scopeName":"source.jsligo","patterns":[{"include":"#string"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#attribute"},{"include":"#macro"},{"include":"#letbinding"},{"include":"#typedefinition"},{"include":"#controlkeywords"},{"include":"#numericliterals"},{"include":"#operators"},{"include":"#identifierconstructor"},{"include":"#moduleaccess "},{"include":"#modulealias"},{"include":"#moduledeclaration"}],"repository":{"attribute":{"name":"keyword.control.attribute.jsligo","match":"(/\\s*@.*\\s*|/\\*\\s*@.*\\*/)"},"block_comment":{"name":"comment.block.jsligo","begin":"/\\*","end":"\\*\\/"},"controlkeywords":{"name":"keyword.control.jsligo","match":"\\b(switch|case|default|if|else|for|of|while|return|break|export)\\b"},"identifierconstructor":{"match":"\\b([A-Z][a-zA-Z0-9_$]*)\\s+","captures":{"1":{"name":"variable.other.enummember.jsligo"}}},"letbinding":{"match":"\\b(let|const)\\b\\s*\\b([a-zA-Z$_][a-zA-Z0-9$_]*)","captures":{"1":{"name":"keyword.other.jsligo"},"2":{"name":"entity.name.function.jsligo"}}},"line_comment":{"name":"comment.block.jsligo","match":"\\/\\/.*$"},"macro":{"name":"meta.preprocessor.jsligo","match":"^\\#[a-zA-Z]+"},"moduleaccess ":{"match":"\\b([A-Z][\\.a-zA-Z0-9_$]*)\\.([a-zA-Z0-9_$]*)","captures":{"1":{"name":"storage.class.jsligo"},"2":{"name":"storage.var.jsligo"}}},"modulealias":{"match":"\\b(import)\\b\\s*\\b([A-Z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"keyword.control.jsligo"},"2":{"name":"storage.class.jsligo"}}},"moduledeclaration":{"match":"\\b(namespace)\\b\\s*\\b([A-Z][a-zA-Z0-9_$]*)","captures":{"1":{"name":"keyword.other.jsligo"},"2":{"name":"storage.class.jsligo"}}},"numericliterals":{"name":"constant.numeric.jsligo","match":"(\\+|\\-)?[0-9]+(n|tz|tez|mutez|)\\b"},"operators":{"name":"keyword.operator.jsligo","match":"\\s+(\\-|\\+|%|\u0026\u0026|\\|\\||==|!=|\u003c=|\u003e=|\u003c|\u003e|\\*|/|=|!|\\*=|/=|%=|\\+=|\\-=)\\s+"},"string":{"name":"string.quoted.double.jsligo","begin":"\\\"","end":"\\\""},"typedefinition":{"name":"entity.name.type.jsligo","match":"\\b(type)\\b"}}}
|
@@ -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":"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(public|system|private)\\b"},"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|ignore|in|for|label|return|switch|while|loop|try|throw)\\b"},{"name":"keyword.other.swift","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.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))"}}}
|
data/grammars/source.p4.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"P4
|
1
|
+
{"name":"P4","scopeName":"source.p4","patterns":[{"name":"comment.block.p4","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.block.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.block.end.p4"}}},{"name":"string.quoted.double.p4","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.p4"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.p4"}}},{"name":"comment.line.p4","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"comment.p4"}}},{"name":"storage.type.object.p4","match":"\\b(header_type|header|metadata|field_list|field_list_calculation|parser|parser_exception|parser_value_set|counter|meter|register|action|action_profile|table|control|extern)\\b"},{"name":"storage.data.type.p4","match":"\\b(bool|bit|varbit|int)\\b"},{"name":"variable.language.p4","match":"\\b(hit|miss|latest|return|default)\\b"},{"name":"keyword.control.p4","match":"\\b(if|else if|else|return|hit|miss|true|false)\\b"},{"name":"keyword.operator.p4","match":"\\b(and|or)\\b"},{"name":"entity.name.type.p4","match":"\\b(exact|ternary|lpm|range|valid|mask)\\b"},{"name":"storage.type.p4","match":"\\b(reads|actions|min_size|max_size|size|support_timeout|action_profile)\\b"},{"name":"storage.type.p4","match":"\\b(bytes|packets)\\b"},{"name":"entity.name.type.p4","match":"\\b(width|layout|attributes|type|static|result|direct|instance_count|min_width|saturating)\\b"},{"name":"entity.name.type.p4","match":"\\b(length|fields|max_length)\\b"},{"name":"meta.preprocessor.include.p4","match":"\\#include"},{"name":"meta.preprocessor.define.p4","match":"\\#define"},{"name":"support.function.primitive.p4","match":"\\b(apply|valid|select|current|extract|add_header|copy_header|remove_header|modify_field|add_to_field|add|set_field_to_hash_index|truncate|drop|no_op|push|pop|count|meter|generate_digest|resubmit|recirculate|clone_ingress_pkt_to_ingress|clone_egress_pkt_to_ingress|clone_ingress_pkt_to_egress|clone_egress_pkt_to_egress|register_write|register_read)\\b"},{"name":"support.any-method.p4","match":"[a-zA-Z_][0-9a-zA-Z_]*"},{"name":"constant.numeric.p4","match":"[\\+|-]?[0-9]+'[0-9]+"},{"name":"constant.numeric.p4","match":"0(x|X)[0-9a-fA-F]+"},{"name":"constant.numeric.p4","match":"0(b|B)[01]+"},{"name":"constant.numeric.p4","match":"[0-9]+"},{"name":"constant.language.p4","match":"\\b(true|false)\\b"}]}
|
@@ -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"}]}}}
|