github-linguist 7.27.0 → 7.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +313 -294
- data/ext/linguist/lex.linguist_yy.h +5 -4
- data/ext/linguist/tokenizer.l +5 -2
- data/grammars/etc.json +1 -1
- data/grammars/inline.edgeql.json +1 -0
- data/grammars/inline.graphql.json +1 -1
- data/grammars/inline.graphql.markdown.codeblock.json +1 -0
- data/grammars/inline.graphql.rb.json +1 -0
- data/grammars/inline.hbs.json +1 -0
- data/grammars/inline.template.json +1 -0
- data/grammars/markdown.commonlisp.codeblock.json +1 -0
- data/grammars/markdown.glimmer.codeblock.json +1 -0
- data/grammars/markdown.lean4.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -0
- data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
- data/grammars/source.8xp.json +1 -0
- data/grammars/source.abl.json +1 -1
- data/grammars/source.al.json +1 -1
- data/grammars/source.amxxpawn.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.bb.json +1 -0
- data/grammars/source.bh.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.cds.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.commonlisp.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csound.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.denizenscript.json +1 -1
- data/grammars/source.did.json +1 -1
- data/grammars/source.dm.json +1 -1
- data/grammars/source.earthfile.json +1 -1
- data/grammars/source.edgeql.json +1 -0
- data/grammars/source.elvish-transcript.json +1 -1
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdresource.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.genero-4gl.json +1 -0
- data/grammars/source.genero-per.json +1 -0
- data/grammars/source.gjs.json +1 -0
- data/grammars/source.gsc.json +1 -1
- data/grammars/source.gts.json +1 -0
- data/grammars/source.hcl.json +1 -0
- data/grammars/source.hcl.terraform.json +1 -0
- data/grammars/source.ice.json +1 -0
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean4.json +1 -0
- data/grammars/source.lean4.markdown.json +1 -0
- data/grammars/source.lua.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.meta-info.json +1 -1
- data/grammars/source.mojo.json +1 -0
- data/grammars/source.nasal.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.p4.json +1 -1
- data/grammars/source.pip-requirements.json +1 -0
- data/grammars/source.praat.json +1 -0
- data/grammars/source.ql.json +1 -1
- data/grammars/source.raku.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.roc.json +1 -0
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.sentinel.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.slint.json +1 -0
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.textgrid.json +1 -0
- data/grammars/source.toit.json +1 -0
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.vba.json +1 -1
- data/grammars/source.viml.json +1 -1
- data/grammars/sp-jsdoc.injection.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.html.edge.json +1 -0
- data/grammars/text.html.ember-handlebars.json +1 -0
- data/grammars/text.html.statamic.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.srt.json +1 -1
- data/grammars/text.tex.json +1 -1
- data/grammars/text.valve-cfg.json +1 -0
- data/grammars/text.valve-kv.json +1 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +27 -5
- data/lib/linguist/heuristics.yml +23 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +153 -17
- data/lib/linguist/samples.json +1 -1
- metadata +41 -8
- data/grammars/govulncheck.json +0 -1
- data/grammars/markdown.graphql.codeblock.json +0 -1
- data/grammars/source.dmf.json +0 -1
- data/grammars/source.genero-forms.json +0 -1
- data/grammars/source.genero.json +0 -1
data/grammars/source.fsharp.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\s*\\{)","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*((with\\b)|(=|\\n+=|(?\u003c=\\=)))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.symbol.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.arrow.fsharp","match":"(\\-\u003e|\\\u003c\\-)"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
|
1
|
+
{"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(\u003c)?","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\s*([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\s*\\{)","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"name":"fast-capture.comment.line.mul-operator.fsharp","match":"\\(\\*\\)"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","while":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])//(.*$)"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*((with\\b)|(=|\\n+=|(?\u003c=\\=)))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.symbol.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.arrow.fsharp","match":"(\\-\u003e|\\\u003c\\-)"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|~\\+|~\\-|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|\u0026|%|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]|``][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]|``][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private|struct\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"scopeName":"source.gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"name":"comment.line.gdresource","match":"(;).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.gdresource"}}},"data":{"patterns":[{"include":"#comment"},{"begin":"(?\u003c!\\w)(\\{)\\s*","end":"\\s*(\\})(?!\\w)","patterns":[{"include":"#key_value"},{"include":"#data"}],"beginCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"endCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}}},{"begin":"(?\u003c!\\w)(\\[)\\s*","end":"\\s*(\\])(?!\\w)","patterns":[{"include":"#data"}],"beginCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"endCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}}},{"name":"string.quoted.triple.basic.block.gdresource","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.gdresource","match":"\\\\([btnfr\"\\\\\\n/ ]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})"},{"name":"invalid.illegal.escape.gdresource","match":"\\\\[^btnfr/\"\\\\\\n]"}]},{"name":"support.function.any-method.gdresource","match":"\"res:\\/\\/[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"support.class.library.gdresource","match":"(?\u003c=type=)\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"constant.character.escape.gdresource","match":"(?\u003c=NodePath\\(|parent=|name=)\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"string.quoted.double.basic.line.gdresource","
|
1
|
+
{"scopeName":"source.gdresource","patterns":[{"include":"#embedded_shader"},{"include":"#embedded_gdscript"},{"include":"#comment"},{"include":"#heading"},{"include":"#key_value"}],"repository":{"comment":{"name":"comment.line.gdresource","match":"(;).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.gdresource"}}},"data":{"patterns":[{"include":"#comment"},{"begin":"(?\u003c!\\w)(\\{)\\s*","end":"\\s*(\\})(?!\\w)","patterns":[{"include":"#key_value"},{"include":"#data"}],"beginCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}},"endCaptures":{"1":{"name":"punctuation.definition.table.inline.gdresource"}}},{"begin":"(?\u003c!\\w)(\\[)\\s*","end":"\\s*(\\])(?!\\w)","patterns":[{"include":"#data"}],"beginCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}},"endCaptures":{"1":{"name":"punctuation.definition.array.gdresource"}}},{"name":"string.quoted.triple.basic.block.gdresource","begin":"\"\"\"","end":"\"\"\"","patterns":[{"name":"constant.character.escape.gdresource","match":"\\\\([btnfr\"\\\\\\n/ ]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})"},{"name":"invalid.illegal.escape.gdresource","match":"\\\\[^btnfr/\"\\\\\\n]"}]},{"name":"support.function.any-method.gdresource","match":"\"res:\\/\\/[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"support.class.library.gdresource","match":"(?\u003c=type=)\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"constant.character.escape.gdresource","match":"(?\u003c=NodePath\\(|parent=|name=)\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\""},{"name":"string.quoted.double.basic.line.gdresource","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gdresource","match":"\\\\([btnfr\"\\\\\\n/ ]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})"},{"name":"invalid.illegal.escape.gdresource","match":"\\\\[^btnfr/\"\\\\\\n]"}]},{"name":"string.quoted.single.literal.line.gdresource","match":"'.*?'"},{"name":"constant.language.gdresource","match":"(?\u003c!\\w)(true|false)(?!\\w)"},{"name":"constant.numeric.float.gdresource","match":"(?\u003c!\\w)([\\+\\-]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\\.(0|([1-9](([0-9]|_[0-9])+)?)))?[eE][\\+\\-]?[1-9]_?[0-9]*|(?:\\.[0-9_]*)))(?!\\w)"},{"name":"constant.numeric.integer.gdresource","match":"(?\u003c!\\w)((?:[\\+\\-]?(0|([1-9](([0-9]|_[0-9])+)?))))(?!\\w)"},{"name":"constant.numeric.inf.gdresource","match":"(?\u003c!\\w)([\\+\\-]?inf)(?!\\w)"},{"name":"constant.numeric.nan.gdresource","match":"(?\u003c!\\w)([\\+\\-]?nan)(?!\\w)"},{"name":"constant.numeric.hex.gdresource","match":"(?\u003c!\\w)((?:0x(([0-9a-fA-F](([0-9a-fA-F]|_[0-9a-fA-F])+)?))))(?!\\w)"},{"name":"constant.numeric.oct.gdresource","match":"(?\u003c!\\w)(0o[0-7](_?[0-7])*)(?!\\w)"},{"name":"constant.numeric.bin.gdresource","match":"(?\u003c!\\w)(0b[01](_?[01])*)(?!\\w)"},{"begin":"(?\u003c!\\w)(Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\\()\\s?","end":"\\s?(\\))","patterns":[{"include":"#key_value"},{"include":"#data"}],"beginCaptures":{"1":{"name":"support.class.library.gdresource"}}},{"begin":"(?\u003c!\\w)(ExtResource|SubResource)(\\()\\s?","end":"\\s?(\\))","patterns":[{"include":"#key_value"},{"include":"#data"}],"beginCaptures":{"1":{"name":"keyword.control.gdresource"}}}]},"embedded_gdscript":{"begin":"(script/source) = \"","end":"\"","patterns":[{"include":"source.gdscript"}],"beginCaptures":{"1":{"name":"variable.other.property.gdresource"}}},"embedded_shader":{"name":"meta.embedded.block.gdshader","begin":"(code) = \"","end":"\"","patterns":[{"include":"source.gdshader"}],"beginCaptures":{"1":{"name":"variable.other.property.gdresource"}}},"heading":{"begin":"\\[([a-z_]*)\\s?","end":"\\]","patterns":[{"include":"#heading_properties"},{"include":"#data"}],"beginCaptures":{"1":{"name":"keyword.control.gdresource"}}},"heading_properties":{"patterns":[{"name":"invalid.illegal.noValue.gdresource","match":"(\\s*[A-Za-z_\\-][A-Za-z0-9_\\-]*\\s*=)(?=\\s*$)"},{"begin":"\\s*([A-Za-z_-][^\\s]*|\".+\"|'.+'|[0-9]+)\\s*(=)\\s*","end":"($|(?==)|\\,?|\\s*(?=\\}))","patterns":[{"include":"#data"}],"beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}}}]},"key_value":{"patterns":[{"name":"invalid.illegal.noValue.gdresource","match":"(\\s*[A-Za-z_\\-][A-Za-z0-9_\\-]*\\s*=)(?=\\s*$)"},{"begin":"\\s*([A-Za-z_-][^\\s]*|\".+\"|'.+'|[0-9]+)\\s*(=)\\s*","end":"($|(?==)|\\,|\\s*(?=\\}))","patterns":[{"include":"#data"}],"beginCaptures":{"1":{"name":"variable.other.property.gdresource"},"2":{"name":"punctuation.definition.keyValue.gdresource"}}}]}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#in_keyword"},{"include":"#getter_setter_godot4"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#lambda_declaration"},{"include":"#control_flow"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#self"},{"include":"#class_definition"},{"include":"#variable_definition"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#function_keyword"},{"include":"#any_method"},{"include":"#any_property"},{"include":"#extends"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\b\n ([a-zA-Z_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#keywords"},{"include":"#logic_op"},{"include":"#lambda_declaration"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_func"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(abs|absf|absi|acos|asin|assert|atan|atan2|bytes2var|bytes2var_with_objects|ceil|char|clamp|clampf|clampi|Color8|convert|cos|cosh|cubic_interpolate|db2linear|decimals|dectime|deg2rad|dict2inst|ease|error_string|exp|floor|fmod|fposmod|funcref|get_stack|hash|inst2dict|instance_from_id|inverse_lerp|is_equal_approx|is_inf|is_instance_id_valid|is_instance_valid|is_nan|is_zero_approx|len|lerp|lerp_angle|linear2db|load|log|max|maxf|maxi|min|minf|mini|move_toward|nearest_po2|pingpong|posmod|pow|preload|print|printerr|printraw|prints|printt|print_debug|print_stack|print_verbose|push_error|push_warning|rad2deg|randf|randfn|randf_range|randi|randi_range|randomize|rand_from_seed|rand_range|rand_seed|range|range_lerp|range_step_decimals|rid_allocate_id|rid_from_int64|round|seed|sign|signf|signi|sin|sinh|smoothstep|snapped|sqrt|stepify|step_decimals|str|str2var|tan|tanh|typeof|type_exists|var2bytes|var2bytes_with_objects|var2str|weakref|wrapf|wrapi|yield)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"}]},"builtin_get_node_shorthand_bare":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)","end":"[^\\w%]","patterns":[{"name":"constant.character.escape","match":"[a-zA-Z_]\\w*/?"},{"name":"invalid.illegal.escape.gdscript","match":"%[a-zA-Z_]\\w*/?"}],"beginCaptures":{"1":{"name":"keyword.control.flow"}}},"builtin_get_node_shorthand_quoted":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)([\"'])","end":"([\"'])","patterns":[{"name":"keyword.control.flow","match":"%"},{"name":"constant.character.escape","match":"[^%^\"^']*"}],"beginCaptures":{"1":{"name":"keyword.control.flow"},"2":{"name":"constant.character.escape"}},"endCaptures":{"1":{"name":"constant.character.escape"}}},"class_definition":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|yield|await)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?"},"function_arguments":{"contentName":"meta.function-call.arguments.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((:)|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_keyword":{"name":"keyword.language.gdscript","match":"func"},"function_name":{"patterns":[{"include":"#builtin_func"},{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"match":"\\b(for)\\s+[a-zA-Z_]\\w*\\s+(in)\\b","captures":{"1":{"name":"keyword.control.gdscript"},"2":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:class|class_name|extends|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"name":"meta.literal.nodepath.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\"']","end":"[\"']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\"']","end":"[\"']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"support.class.library.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"strings":{"patterns":[{"begin":"(?:(?\u003c=get_node|has_node|find_node|get_node_or_null|NodePath)\\s*\\(\\s*)","end":"(?:\\s*\\))","patterns":[{"name":"constant.character.escape","begin":"[\"']","end":"[\"']"},{"include":"#base_expression"}]},{"name":"invalid.illegal.escape.gdscript","begin":"'''","end":"'''"},{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"variable_definition":{"begin":"\\b(?:(var)|(const))\\s+","end":"$|;","patterns":[{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"storage.type.const.gdscript"}}}}}
|
1
|
+
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.builtin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~|!"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#logic_operator"},{"include":"#compare_operator"},{"include":"#arithmetic_operator"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_classes"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\\b"},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"beginCaptures":{"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not|!)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_formatting":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_formatting"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.gdscript","begin":"\\b(?:(var)|(const))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"constant.language.gdscript"},"4":{"name":"variable.other.gdscript"}}}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Genero 4gl","scopeName":"source.genero-4gl","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#numerics"},{"name":"meta.preprocessor","match":"^\\s*\u0026\\s*(elif|else|endif|ifdef|ifndef|include|undef)\\b"},{"begin":"^\\s*\u0026\\s*define\\b","end":"[^\\\\\\{]$","patterns":[{"include":"#keywords"},{"include":"#strings"},{"include":"#numerics"},{"name":"meta.preprocessor","match":"#"},{"include":"#comments"},{"match":"(\\\\)[ \\t]*\\n","captures":{"1":{"name":"meta.preprocessor"}}}],"beginCaptures":{"0":{"name":"meta.preprocessor"}}}],"repository":{"comments":{"patterns":[{"name":"comment.line.number-sign.4gl","match":"#.*$"},{"name":"comment.line.double-dash.4gl","match":"--.*$"},{"name":"comment.block.4gl","begin":"{","end":"}"}]},"keywords":{"patterns":[{"name":"keyword.operator.4gl","match":"\\b(?i)(AND|OR|MOD|NOT)\\b"},{"name":"storage.type.4gl","match":"\\b(?i)(BOOLEAN|BYTE|CHAR|VARCHAR|NVARCHAR|LVARCHAR|FLOAT|INTEGER|INT|INT8|SMALLINT|BIGINT|TINYINT|SMALLFLOAT|DECIMAL|MONEY|DATE|DATETIME|INTERVAL|SERIAL8|SERIAL|STRING|TEXT)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(ABSOLUTE|ACCELERATOR|ACCEPT|ACCESSORYTYPE|ACTION|ADD|AFTER|ALL|ALTER|AND|ANSI|ANY|APPEND|APPLICATION|ARRAY|AS|ASC|ASCENDING|ASCII|AT|ATTRIBUTE|ATTRIBUTES|AUDIT|AUTHORIZATION|AUTO|AVG)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(BEFORE|BEGIN|BETWEEN|BIGINT|BIGSERIAL|BLACK|BLINK|BLUE|BOLD|BOOLEAN|BORDER|BOTTOM|BREAKPOINT|BUFFER|BUFFERED|BY|BYTE)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(CACHE|CALL|CANCEL|CASCADE|CASE|CAST|CATCH|CENTURY|CHANGE|CHAR|CHARACTER|CHECK|CHECKMARK|CIRCUIT|CLEAR|CLIPPED|CLOSE|CLUSTER|COLLAPSE|COLUMN|COLUMNS|COMMAND|COMMENT|COMMIT|COMMITTED|CONCURRENT|CONNECT|CONNECTION|CONSTANT|CONSTRAINED|CONSTRAINT|CONSTRUCT|CONTEXTMENU|CONTINUE|CONTROL|COUNT|CREATE|CROSS|CURRENT|CURSOR|CYAN|CYCLE)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(DATABASE|DATE|DATETIME|DAY|DBA|DBSERVERNAME|DEC|DECIMAL|DECLARE|DEFAULT|DEFAULTS|DEFAULTVIEW|DEFER|DEFINE|DELETE|DELIMITER|DESC|DESCENDING|DESCRIBE|DESTINATION|DETAILACTION|DETAILBUTTON|DIALOG|DICTIONARY|DIM|DIMENSION|DIRTY|DISCLOSUREINDICATOR|DISCONNECT|DISPLAY|DISTINCT|DORMANT|DOUBLE|DOUBLECLICK|DOWN|DRAG_ENTER|DRAG_FINISHED|DRAG_OVER|DRAG_START|DROP|DYNAMIC)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(ELSE|END|ERROR|ESCAPE|EVERY|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXPAND|EXPLAIN|EXTEND|EXTENT|EXTERNAL)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(FALSE|FETCH|FGL|FGL_DRAWBOX|FIELD|FIELD_TOUCHED|FILE|FILL|FINISH|FIRST|FLOAT|FLUSH|FOCUSONFIELD|FOR|FOREACH|FOREIGN|FORM|FORMAT|FOUND|FRACTION|FREE|FROM|FULL|FUNCTION)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(GET_FLDBUF|GLOBALS|GO|GOTO|GRANT|GREEN|GROUP)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(HANDLER|HAVING|HEADER|HELP|HIDE|HOLD|HOUR)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(IDLE|IF|IIF|IMAGE|IMMEDIATE|IMPORT|IN|INCREMENT|INDEX|INFIELD|INITIALIZE|INNER|INOUT|INPUT|INSERT|INSTANCEOF|INT|INT8|INTEGER|INTERFACE|INTERRUPT|INTERVAL|INTO|INVISIBLE|IS|ISOLATION)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(JAVA|JOIN)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(KEEP|KEY)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(LABEL|LAST|LEFT|LENGTH|LET|LIKE|LIMIT|LINE|LINENO|LINES|LOAD|LOCATE|LOCK|LOCKS|LOG|LSTR|LVARCHAR)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(MAGENTA|MAIN|MARGIN|MATCHES|MAX|MAXCOUNT|MAXVALUE|MDY|MEMORY|MENU|MESSAGE|MIDDLE|MIN|MINUTE|MINVALUE|MOD|MODE|MODIFY|MONEY|MONTH)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(NAME|NATURAL|NAVIGATOR|NCHAR|NEED|NEXT|NO|NOCACHE|NOCYCLE|NOMAXVALUE|NOMINVALUE|NOORDER|NORMAL|NOT|NOTFOUND|NULL|NUMERIC|NVARCHAR|NVL)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(OF|OFF|ON|OPEN|OPTION|OPTIONS|OR|ORD|ORDER|OTHERWISE|OUT|OUTER|OUTPUT)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(PACKAGE|PAGE|PAGENO|PAUSE|PERCENT|PICTURE|PIPE|POPUP|PRECISION|PREPARE|PREVIOUS|PRIMARY|PRINT|PRINTER|PRINTX|PRIOR|PRIVATE|PRIVILEGES|PROCEDURE|PROGRAM|PROMPT|PUBLIC|PUT)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(QUIT)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(RAISE|READ|REAL|RECORD|RECOVER|RED|REFERENCES|RELATIVE|RELEASE|RENAME|REOPTIMIZATION|REPEATABLE|REPORT|RESOURCE|RESTART|RETAIN|RETURN|RETURNING|RETURNS|REVERSE|REVOKE|RIGHT|ROLLBACK|ROLLFORWARD|ROW|ROWBOUND|ROWS|RUN)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(SAVEPOINT|SCHEMA|SCREEN|SCROLL|SECOND|SELECT|SELECTION|SEQUENCE|SERIAL|SERIAL8|SESSION|SET|SFMT|SHARE|SHIFT|SHORT|SHOW|SIGNAL|SITENAME|SIZE|SKIP|SLEEP|SMALLFLOAT|SMALLINT|SOME|SORT|SPACE|SPACES|SQL|SQLERRMESSAGE|SQLERROR|SQLSTATE|STABILITY|START|STATISTICS|STEP|STOP|STRING|STYLE|SUBDIALOG|SUM|SYNONYM)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(TABLE|TEMP|TERMINATE|TEXT|THEN|THROUGH|THRU|TIME|TIMER|TINYINT|TO|TODAY|TOP|TRAILER|TRANSACTION|TRUE|TRUNCATE|TRUSTED|TRY|TYPE)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(UNBUFFERED|UNCONSTRAINED|UNDERLINE|UNION|UNIQUE|UNITS|UNLOAD|UNLOCK|UP|UPDATE|USER|USING)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(VALIDATE|VALUES|VAR|VARCHAR|VIEW)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(WAIT|WAITING|WARNING|WEEKDAY|WHEN|WHENEVER|WHERE|WHILE|WHITE|WINDOW|WITH|WITHOUT|WORDWRAP|WORK|WRAP)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(XML)\\b"},{"name":"keyword.control.4gl","match":"\\b(?i)(YEAR|YELLOW|YES)\\b"}]},"numerics":{"patterns":[{"name":"constant.numeric.4gl","match":"(\\+|\\-)?((\\b\\d+(\\.\\d+)?)|(\\.\\d+))([e|E](\\+|\\-)?\\d+)?"}]},"strings":{"patterns":[{"name":"string.quoted.single.4gl","begin":"'","end":"'(?!')","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\[\\\\btnfr'\"]|\\\\$|''"},{"name":"constant.character.escape.untitled","match":"\\\\x[0-9a-fA-F]{1,2}"},{"name":"invalid.illegal","match":"\\\\."}]},{"name":"string.quoted.double.4gl","begin":"\"","end":"\"(?!\")","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\[\\\\btnfr'\"]|\\\\$|\"\""},{"name":"constant.character.escape.untitled","match":"\\\\x[0-9a-fA-F]{1,2}"},{"name":"invalid.illegal","match":"\\\\."}]},{"name":"string.quoted.raw.4gl","begin":"`","end":"`"}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Genero per","scopeName":"source.genero-per","patterns":[{"include":"#screen"},{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#numerics"},{"name":"meta.preprocessor","match":"^\\s*\u0026\\s*(elif|else|endif|ifdef|ifndef|include|undef)\\b"},{"begin":"^\\s*\u0026\\s*define\\b","end":"[^\\\\\\{]$","patterns":[{"include":"#keywords"},{"include":"#strings"},{"include":"#numerics"},{"name":"meta.preprocessor","match":"#"},{"include":"#comments"},{"match":"(\\\\)[ \\t]*\\n","captures":{"1":{"name":"meta.preprocessor"}}}],"beginCaptures":{"0":{"name":"meta.preprocessor"}}}],"repository":{"comments":{"patterns":[{"name":"comment.line.number-sign.per","match":"#.*$"},{"name":"comment.line.double-dash.per","match":"--.*$"},{"name":"comment.block.per","begin":"{","end":"}"}]},"keywords":{"patterns":[{"name":"keyword.control.per","match":"\\b(?i)(ACCELERATOR|ACCELERATOR2|ACCELERATOR3|ACCELERATOR4|ACTION|ACTIONIMAGE|ACTIONS|ACTIONTEXT|AGGREGATE|AGGREGATETEXT|AGGREGATETYPE|ALT|AND|ATTRIBUTES|AUTO|AUTOCOMMANDS |AUTOHIDE|AUTOITEMS |AUTONEXT|AUTOSCALE|AVG)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(BETWEEN|BIGINT|BLACK|BLINK|BLUE|BOOLEAN|BOTH|BUTTON|BUTTONEDIT|BUTTONTEXTHIDDEN|BY|BYTE)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(CANVAS|CENTER|CENTURY|CHAR|CHARACTER|CHARACTERS|CHECKBOX|CLASS|COLOR|COLUMNS|COMBOBOX|COMMAND|COMMENT|COMMENTS|COMPACT|COMPLETER|COMPONENTTYPE|COMPRESS|CONFIG|CONTENT|CONTEXTMENU|CONTROL|COUNT|CURRENT|CYAN)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(DATABASE|DATE|DATEEDIT|DATETIME|DATETIMEEDIT|DAY|DEC|DECIMAL|DEFAULT|DEFAULTS|DEFAULTVIEW|DELIMITERS|DISCLOSUREINDICATOR|DISPLAY|DISPLAYONLY|DOUBLE|DOUBLECLICK|DOWNSHIFT|DYNAMIC)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(EDIT|EMAIL|END|EXPANDEDCOLUMN)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(FALSE|FIELD|FIXED|FLIPPED|FLOAT|FOLDER|FONTPITCH|FORM|FORMAT|FORMONLY|FRACTION)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(GREEN|GRID|GRIDCHILDRENINPARENT|GROUP)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(HBOX|HEIGHT|HIDDEN|HORIZONTAL|HOUR)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(IDCOLUMN|IMAGE|IMAGECOLLAPSED|IMAGECOLUMN|IMAGEEXPANDED|IMAGELEAF|INCLUDE|INITIAL|INITIALIZER|INITIALPAGESIZE|INPUT|INSTRUCTIONS|INT|INTEGER|INTERVAL|INVISIBLE|IS|ISNODECOLUMN|ITEM|ITEMS)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(JUSTIFY)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(KEY|KEYBOARDHINT|KEYS)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(LABEL|LARGE|LAYOUT|LEFT|LIKE|LINES)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(MAGENTA|MATCHES|MAX|MEDIUM|MIN|MINHEIGHT|MINUTE|MINWIDTH|MONEY|MONTH)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(NO|NOENTRY|NONCOMPRESS|NONE|NORMAL|NOSWIPE|NOT|NOTEDITABLE|NOUPDATE|NULL|NUMBER|NUMERIC)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(OPTIONS|OR|ORIENTATION)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(PACKED|PAGE|PARENTIDCOLUMN|PHANTOM|PHONE|PICTURE|PIXELHEIGHT|PIXELS|PIXELWIDTH|PLACEHOLDER|POINTS|PRECISION|PROGRAM|PROGRAMS|PROGRESSBAR|PROPERTIES)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(QUERYCLEAR|QUERYEDITABLE)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(RADIOGROUP|REAL|RECORD|RED|REQUIRED|REVERSE|RIGHT)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(SAMPLE|SCHEMA|SCREEN|SCROLL|SCROLLBARS|SCROLLGRID|SEARCH|SECOND|SEPARATOR|SHIFT|SIZE|SIZEPOLICY|SLIDER|SMALL|SMALLFLOAT|SMALLINT|SPACING|SPINEDIT|SPLIT|SPLITTER|STEP|STRETCH|STRETCHCOLUMNS|STRETCHMAX|STRETCHMIN|STYLE|SUM)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(TABINDEX|TABLE|TABLES|TAG|TEXT|TEXTEDIT|THROUGH|THRU|TIMEEDIT|TIMESTAMP|TITLE|TO|TODAY|TOOLBAR|TOPMENU|TREE|TRUE|TYPE)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(UNDERLINE|UNHIDABLE|UNHIDABLECOLUMNS|UNMOVABLE|UNMOVABLECOLUMNS|UNSIZABLE|UNSIZABLECOLUMNS|UNSORTABLE|UNSORTABLECOLUMNS|UPSHIFT|URL|USER)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(VALIDATE|VALUECHECKED|VALUEMAX|VALUEMIN|VALUEUNCHECKED|VARCHAR|VARIABLE|VBOX|VERIFY|VERSION|VERTICAL)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(WANTFIXEDPAGESIZE|WANTNORETURNS|WANTTABS|WEBCOMPONENT|WHERE|WHITE|WIDGET|WIDTH|WINDOWS|WINDOWSTYLE|WIP|WITHOUT|WORDWRAP)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(X)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(Y|YEAR|YELLOW|YES)\\b"},{"name":"keyword.control.per","match":"\\b(?i)(ZEROFILL)\\b"}]},"numerics":{"patterns":[{"name":"constant.numeric.per","match":"(\\+|\\-)?((\\b\\d+(\\.\\d+)?)|(\\.\\d+))([e|E](\\+|\\-)?\\d+)?"}]},"screen":{"patterns":[{"begin":"(^[ \\t]*\\{$)","end":"(})","patterns":[{"name":"meta.tag","begin":"(\\[)","end":"(\\])","patterns":[{"name":"punctuation.definition.tag","match":"[|:-]"},{"name":"entity.other.attribute-name","match":"."}],"captures":{"1":{"name":"punctuation.definition.tag"}}},{"name":"meta.tag","begin":"(\\\u003c)([a-zA-Z]*)","end":"(\u003e)","patterns":[{"name":"entity.other.attribute-name","match":"."}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag"}}},{"match":"."}],"captures":{"1":{"name":"punctuation.definition.tag"}}}]},"strings":{"patterns":[{"name":"string.quoted.single.per","begin":"'","end":"'(?!')","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\[\\\\btnfr'\"]|\\\\$|''"},{"name":"constant.character.escape.untitled","match":"\\\\x[0-9a-fA-F]{1,2}"},{"name":"invalid.illegal","match":"\\\\."}]},{"name":"string.quoted.double.per","begin":"\"","end":"\"(?!\")","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\[\\\\btnfr'\"]|\\\\$|\"\""},{"name":"constant.character.escape.untitled","match":"\\\\x[0-9a-fA-F]{1,2}"},{"name":"invalid.illegal","match":"\\\\."}]}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Glimmer JS","scopeName":"source.gjs","patterns":[{"include":"source.js"},{"include":"#main"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
|
data/grammars/source.gsc.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"GSC","scopeName":"source.gsc","patterns":[{"include":"#code"}],"repository":{"block":{"patterns":[{"name":"meta.block.source.gsc","begin":"{","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}},{"name":"meta.devblock.source.gsc","begin":"/#","end":"#/","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}}]},"code":{"patterns":[{"include":"#block"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#preprocessor"},{"include":"#documentation"},{"include":"#supports"}]},"comments":{"patterns":[{"name":"comment.block.gsc","begin":"/\\*","end":"\\*/\\n?"},{"name":"comment.line.double-slash.gsc","match":"//.*$\\n?"}]},"constants":{"patterns":[{"name":"constant.numeric.source.gsc","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"string.quoted.double.literal.source.gsc","match":"@\"([^\"]|\"\")*\"","captures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}}},{"name":"string.quoted.double.source.gsc","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.source.gsc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.source.gsc"}}},{"name":"constant.language.source.gsc","match":"\\b(undefined|false|true|self|world|classes|level|game|anim|vararg)\\b"}]},"documentation":{"patterns":[{"name":"comment.block.documentation.gsc","begin":"/@","end":"@/"}]},"keywords":{"patterns":[{"name":"keyword.control.source.gsc","match":"\\b(if|else|while|for|foreach|in|do|return|continue|break|switch|case|default)\\b"},{"name":"keyword.operator.source.gsc","match":"\\b(size|assert|assertmsg|notify|endon)\\b"},{"name":"keyword.other.source.gsc","match":"\\b(class|function|var|wait|thread|waittill|waittillmatch|waittillframeend|isdefined|constructor|destructor|autoexec|private|const)\\b"}]},"preprocessor":{"patterns":[{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(define)\\b\\s*(\\S*)","captures":{"2":{"name":"entity.name.function.preprocessor.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(if|ifdef|ifndef|else|elif|endif|define|insert|using|precache|using_animtree)\\b","captures":{"2":{"name":"keyword.control.import.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(namespace)\\b","captures":{"2":{"name":"meta.namespace.identifier"}}}]}}}
|
1
|
+
{"name":"GSC","scopeName":"source.gsc","patterns":[{"include":"#code"}],"repository":{"block":{"patterns":[{"name":"meta.block.source.gsc","begin":"{","end":"}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}},{"name":"meta.devblock.source.gsc","begin":"/#","end":"#/","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.source.gsc"}}}]},"code":{"patterns":[{"include":"#block"},{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#preprocessor"},{"include":"#documentation"},{"include":"#supports"}]},"comments":{"patterns":[{"name":"comment.block.gsc","begin":"/\\*","end":"\\*/\\n?"},{"name":"comment.line.double-slash.gsc","match":"//.*$\\n?"}]},"constants":{"patterns":[{"name":"constant.numeric.source.gsc","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"string.quoted.double.literal.source.gsc","match":"@\"([^\"]|\"\")*\"","captures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}}},{"name":"string.quoted.double.source.gsc","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.source.gsc","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.source.gsc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.source.gsc"}}},{"name":"constant.language.source.gsc","match":"\\b(undefined|false|true|self|world|classes|level|game|anim|vararg)\\b"}]},"documentation":{"patterns":[{"name":"comment.block.documentation.gsc","begin":"/@","end":"@/"}]},"keywords":{"patterns":[{"name":"keyword.control.source.gsc","match":"\\b(if|else|while|for|foreach|in|do|return|continue|break|switch|case|default)\\b"},{"name":"keyword.operator.source.gsc","match":"\\b(size|assert|assertmsg|notify|endon)\\b"},{"name":"keyword.other.source.gsc","match":"\\b(class|function|var|wait|thread|waittill|waittillmatch|waittillframeend|isdefined|constructor|destructor|autoexec|private|const)\\b"}]},"preprocessor":{"patterns":[{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(define)\\b\\s*(\\S*)","captures":{"2":{"name":"entity.name.function.preprocessor.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(if|ifdef|ifndef|else|elif|endif|define|insert|include|using|precache|using_animtree)\\b","captures":{"2":{"name":"keyword.control.import.source.gsc"}}},{"name":"keyword.preprocessor.source.gsc","match":"^\\s*#\\s*(namespace)\\b","captures":{"2":{"name":"meta.namespace.identifier"}}}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Glimmer TS","scopeName":"source.gts","patterns":[{"include":"source.ts"},{"include":"#main"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gts -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
|