github-linguist 9.6.0 → 9.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/grammars/gno.mod.json +1 -0
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aleo.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.baml.json +1 -1
- data/grammars/source.bird2.json +1 -0
- data/grammars/source.blueprint.json +1 -0
- data/grammars/source.bnd.json +1 -1
- data/grammars/source.bsl.json +1 -1
- data/grammars/source.carbon.json +1 -0
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clar.json +1 -1
- data/grammars/source.clarion.json +1 -1
- data/grammars/source.cmd.json +1 -1
- data/grammars/source.comment-string.wesl.json +1 -1
- data/grammars/source.comment-string.wgsl.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csswg.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.dds.icff.json +1 -1
- data/grammars/source.dds.lf.json +1 -1
- data/grammars/source.dds.pf.json +1 -1
- data/grammars/source.dds.prtf.json +1 -1
- data/grammars/source.deq.json +1 -0
- data/grammars/source.fift.json +1 -0
- data/grammars/source.flix.json +1 -1
- data/grammars/source.fpp.json +1 -0
- data/grammars/source.func.json +1 -0
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gedcom.json +1 -1
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.gno.json +1 -0
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.hxml.json +1 -1
- data/grammars/source.ink.json +1 -1
- data/grammars/source.jac.json +1 -1
- data/grammars/source.jass.json +1 -0
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kcl.json +1 -1
- data/grammars/source.koka.json +1 -1
- data/grammars/source.leo.json +1 -1
- data/grammars/source.lobster.json +1 -0
- data/grammars/source.logos.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.mi.json +1 -1
- data/grammars/source.mojo.json +1 -1
- data/grammars/source.ms.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.openqasm.json +1 -1
- data/grammars/source.opy.json +1 -1
- data/grammars/source.paperspecs.json +1 -0
- data/grammars/source.pl.json +1 -0
- data/grammars/source.pnlgrp.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.rarlist.json +1 -0
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rhai.json +1 -0
- data/grammars/source.rpg.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.spicedb.json +1 -1
- data/grammars/source.stim.json +1 -0
- data/grammars/source.surrealql.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tasm.json +1 -0
- data/grammars/source.tlb.json +1 -0
- data/grammars/source.tolk.json +1 -0
- data/grammars/source.ucode-template.json +1 -0
- data/grammars/source.ucode.json +1 -0
- data/grammars/source.vento.json +1 -1
- data/grammars/source.verse.json +1 -0
- data/grammars/source.vespaSchema.json +1 -0
- data/grammars/source.vhs.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.yaml.salt.json +1 -1
- data/grammars/text.bbcode.json +1 -0
- data/grammars/text.html.handlebars.json +1 -1
- data/grammars/text.recfile.json +1 -0
- data/grammars/text.roff.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +19 -0
- data/lib/linguist/generated.rb +24 -0
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +80 -5
- data/lib/linguist/language.rb +5 -9
- data/lib/linguist/languages.yml +231 -27
- data/lib/linguist/languages_data.rb +7663 -0
- data/lib/linguist/lazy_blob.rb +6 -1
- data/lib/linguist/samples.rb +4 -10
- data/lib/linguist/samples_data.rb +196100 -0
- metadata +31 -19
- data/grammars/markdown.bicep.codeblock.json +0 -1
- data/grammars/source.baml-jinja.json +0 -1
- data/lib/linguist/languages.json +0 -1
- data/lib/linguist/samples.json +0 -1
|
@@ -1 +1 @@
|
|
|
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":"#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.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|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_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.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=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"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":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"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":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#region"},{"include":"#comment"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS|Variant|void)\\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.bare.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.bare.gdscript","begin":"(\\$\\s*|%|\\$%\\s*)(/\\s*)?([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"},"3":{"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":"variable.other.enummember.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+(not?)\\s+\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"storage.type.not.gdscript"},"3":{"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":"variable.other.constant.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|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#getter_setter_godot4"},{"include":"#base_expression"},{"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 storage.type.function.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":"(?=\\b[a-zA-Z_]\\w*\\b\\()","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"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"name":"meta.variable.declaration.getter.gdscript","match":"(get)\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}}},{"name":"meta.variable.declaration.setter.gdscript","match":"(set)\\s*(\\()\\s*([A-Za-z_]\\w*)\\s*(\\))\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"},"3":{"name":"variable.other.gdscript"},"4":{"name":"punctuation.definition.arguments.end.gdscript"},"5":{"name":"punctuation.separator.annotation.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|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\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"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","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.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]},{"include":"#expression"}],"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_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)\\.[0-9_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)?\\.[0-9_]*([eE][+-]?[0-9_]+)"},{"name":"constant.numeric.float.gdscript","match":"[0-9][0-9_]*[eE][+-]?[0-9_]+"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"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]+[A-Za-z0-9_]*)+\\b"},"region":{"name":"keyword.language.region.gdscript","match":"#(end)?region.*$\\n?"},"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"}}},"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"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.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_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"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_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.function.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"},"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"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
|
|
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":"#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.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(abstract|export|export_category|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_file_path|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_flags_avoidance|export_global_dir|export_global_file|export_group|export_multiline|export_node_path|export_placeholder|export_range|export_storage|export_subgroup|export_tool_button|icon|onready|rpc|static_unload|tool|warning_ignore|warning_ignore_restore|warning_ignore_start)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.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=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"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":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"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":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#region"},{"include":"#comment"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS|Variant|void)\\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.bare.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.bare.gdscript","begin":"(\\$\\s*|%|\\$%\\s*)(/\\s*)?([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"},"3":{"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":"variable.other.enummember.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+(not?)\\s+\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"storage.type.not.gdscript"},"3":{"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":"variable.other.constant.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|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#getter_setter_godot4"},{"include":"#base_expression"},{"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 storage.type.function.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":"(?=\\b[a-zA-Z_]\\w*\\b\\s*\\()","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"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"name":"meta.variable.declaration.getter.gdscript","match":"(get)\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}}},{"name":"meta.variable.declaration.setter.gdscript","match":"(set)\\s*(\\()\\s*([A-Za-z_]\\w*)\\s*(\\))\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"},"3":{"name":"variable.other.gdscript"},"4":{"name":"punctuation.definition.arguments.end.gdscript"},"5":{"name":"punctuation.separator.annotation.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|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\\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.literal.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"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"(?:^|:)\\s*(match)\\b","captures":{"1":{"name":"keyword.control.flow.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","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.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]},{"include":"#expression"}],"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_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)\\.[0-9_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)?\\.[0-9_]*([eE][+-]?[0-9_]+)"},{"name":"constant.numeric.float.gdscript","match":"[0-9][0-9_]*[eE][+-]?[0-9_]+"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"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]+[A-Za-z0-9_]*)+\\b"},"region":{"name":"keyword.language.region.gdscript","match":"#(end)?region.*$\\n?"},"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"}}},"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"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.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_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"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_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.function.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"},"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"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
|
data/grammars/source.gedcom.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"GEDCOM","scopeName":"source.gedcom","patterns":[{"include":"#line"}],"repository":{"
|
|
1
|
+
{"name":"GEDCOM","scopeName":"source.gedcom","patterns":[{"include":"#line"}],"repository":{"bad-enum-line":{"patterns":[{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(SEX)[ ](?!(?i:M|F|U|X)[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}},{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(QUAY)[ ](?!(?i:[0-3])[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}},{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(PEDI)[ ](?!(?i:ADOPTED|BIRTH|FOSTER|SEALING|OTHER)[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}},{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(RESN)[ ](?!(?i:(?:CONFIDENTIAL|LOCKED|PRIVACY)(?:[ ]*,[ ]*(?:CONFIDENTIAL|LOCKED|PRIVACY))*)[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}}]},"bad-format-line":{"patterns":[{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(AGE)[ ](?!(?i:(?:[\u003c\u003e][ ]*)?\\d+[ ]*[ymwd](?:[ ]*\\d+[ ]*[ymwd])*|(?i:CHILD|INFANT|STILLBORN))[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}},{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(TIME)[ ](?!(?i:\\d{1,2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?(?:[ ]*(?i:AM|PM))?)[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}}]},"bad-integer-line":{"patterns":[{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(ANCE|DESC|HEIGHT|LEFT|NCHI|NMR|TOP|WIDTH)[ ](?!(?i:\\d+)[ ]*$)(?![_A-Za-z][A-Za-z0-9]*:)(?!_)(.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.value.gedcom"}}}]},"broken-pointer-line":{"patterns":[{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+(ALIA|ANCI|ASSO|CHIL|DESI|FAMC|FAMS)[ ](.+)$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"invalid.illegal.pointer.gedcom"}}}]},"continuation-line":{"patterns":[{"name":"meta.line.continuation.gedcom","match":"^(\\s*)(\\d+)[ ]+(CONC|CONT)(?:[ ](.*))?$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"name":"keyword.control.continuation.gedcom"},"4":{"name":"string.unquoted.payload.gedcom","patterns":[{"include":"#payload-escapes"}]}}}]},"date":{"patterns":[{"name":"constant.language.calendar.gedcom","match":"@#[^@]*@"},{"name":"constant.language.calendar.gedcom","match":"\\b(?:GREGORIAN|JULIAN|HEBREW|FRENCH_R|ROMAN|UNKNOWN)\\b"},{"name":"keyword.operator.date.gedcom","match":"\\b(?:FROM|TO|BEF|AFT|BET|AND|ABT|CAL|EST|INT)\\b"},{"name":"constant.language.month.gedcom","match":"\\b(?:JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC|TSH|CSH|KSL|TVT|SHV|ADR|ADS|NSN|IYR|SVN|TMZ|AAV|ELL|VEND|BRUM|FRIM|NIVO|PLUV|VENT|GERM|FLOR|PRAI|MESS|THER|FRUC|COMP)\\b"},{"name":"constant.language.epoch.gedcom","match":"\\b(?:BCE|BC|B\\.C\\.)"},{"name":"constant.numeric.date.gedcom","match":"\\b\\d+\\b"}]},"date-line":{"patterns":[{"name":"meta.line.date.gedcom","match":"^(\\s*)(\\d+)[ ]+(DATE|SDATE)(?:[ ](.*))?$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"name":"entity.name.tag.gedcom"},"4":{"name":"string.unquoted.payload.gedcom","patterns":[{"include":"#date"}]}}}]},"invalid-line":{"patterns":[{"name":"invalid.illegal.line.gedcom","match":"^(?!\\s*$).*$"}]},"line":{"patterns":[{"include":"#record-line"},{"include":"#continuation-line"},{"include":"#date-line"},{"include":"#name-line"},{"include":"#pointer-line"},{"include":"#broken-pointer-line"},{"include":"#bad-enum-line"},{"include":"#bad-integer-line"},{"include":"#bad-format-line"},{"include":"#tag-line"},{"include":"#invalid-line"}]},"name-line":{"patterns":[{"name":"meta.line.name.gedcom","match":"^(\\s*)(\\d+)[ ]+(NAME|_MARNM|_AKA|_AKAN|_BIRN|_ADPN)(?:[ ](.*))?$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"string.unquoted.payload.gedcom","patterns":[{"include":"#personal-name"}]}}}]},"payload-escapes":{"patterns":[{"name":"constant.language.escape.gedcom","match":"@#[^@]*@"},{"name":"constant.character.escape.gedcom","match":"@@"}]},"personal-name":{"patterns":[{"match":"(/)([^/]*)(/)","captures":{"1":{"name":"punctuation.definition.surname.begin.gedcom"},"2":{"name":"string.quoted.other.surname.gedcom"},"3":{"name":"punctuation.definition.surname.end.gedcom"}}},{"include":"#payload-escapes"}]},"pointer-line":{"patterns":[{"name":"meta.line.pointer.gedcom","match":"^(\\s*)(\\d+)[ ]+([A-Za-z_][A-Za-z0-9_]*)[ ](@[^@#\\s][^@\\n]*@)[ ]*$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"patterns":[{"include":"#xref-reference"}]}}}]},"record-line":{"patterns":[{"name":"meta.line.record.gedcom","match":"^(\\s*)(\\d+)[ ]+(@[^@#\\s][^@\\n]*@)[ ]+([A-Za-z_][A-Za-z0-9_]*)(?:[ ](.*))?$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#xref-definition"}]},"4":{"patterns":[{"include":"#tag"}]},"5":{"name":"string.unquoted.payload.gedcom","patterns":[{"include":"#payload-escapes"}]}}}]},"tag":{"patterns":[{"name":"keyword.control.envelope.gedcom","match":"\\b(?:CHAR|DEST|FORM|GEDC|HEAD|SCHMA|TAG|TRLR|VERS)\\b"},{"name":"entity.name.type.record.gedcom","match":"\\b(?:FAM|INDI|OBJE|REPO|SNOTE|SOUR|SUBM)\\b"},{"name":"support.function.event.gedcom","match":"\\b(?:ADOP|ANUL|BAPM|BARM|BASM|BIRT|BLES|BURI|CENS|CHR|CHRA|CONF|CREM|DEAT|DIV|DIVF|EMIG|ENGA|FCOM|GRAD|IMMI|MARB|MARC|MARL|MARR|MARS|NATU|ORDN|PROB|RETI|WILL)\\b"},{"name":"entity.name.tag.attribute.gedcom","match":"\\b(?:CAST|DSCR|EDUC|EVEN|FACT|IDNO|NAME|NATI|NCHI|NMR|OCCU|PROP|RELI|RESI|SEX|SSN|TITL)\\b"},{"name":"variable.other.linkage.gedcom","match":"\\b(?:ALIA|ANCI|ASSO|CHIL|DESI|FAMC|FAMS|HUSB|WIFE)\\b"},{"name":"markup.quote.evidence.gedcom","match":"\\b(?:ABBR|AUTH|CALN|DATA|MEDI|NOTE|PAGE|PUBL|QUAY|TEXT)\\b"},{"name":"entity.name.tag.administrative.gedcom","match":"\\b(?:CHAN|CREA|EXID|REFN|RESN|RIN|UID)\\b"},{"name":"entity.name.tag.gedcom","match":"\\b(?:ADDR|ADR1|ADR2|ADR3|AFN|AGE|AGNC|ANCE|BAPL|CAUS|CITY|CONL|COPR|CORP|CROP|CTRY|DATE|DESC|EMAIL|ENDL|FAMF|FAX|FILE|FONE|GIVN|HEIGHT|INIL|LANG|LATI|LEFT|LONG|MAP|MIME|NICK|NO|NPFX|NSFX|ORDI|PEDI|PHON|PHRASE|PLAC|POST|RELA|RFN|ROLE|ROMN|SDATE|SLGC|SLGS|SPFX|STAE|STAT|SUBN|SURN|TEMP|TIME|TOP|TRAN|TYPE|WIDTH|WWW)\\b"},{"name":"entity.name.tag.extension.gedcom","match":"_[A-Za-z0-9_]*"},{"name":"entity.name.tag.unknown.gedcom","match":"[A-Za-z][A-Za-z0-9_]*"}]},"tag-line":{"patterns":[{"name":"meta.line.gedcom","match":"^(\\s*)(\\d+)[ ]+([A-Za-z_][A-Za-z0-9_]*)(?:[ ](.*))?$","captures":{"2":{"name":"constant.numeric.integer.level.gedcom"},"3":{"patterns":[{"include":"#tag"}]},"4":{"name":"string.unquoted.payload.gedcom","patterns":[{"include":"#payload-escapes"}]}}}]},"xref-definition":{"patterns":[{"match":"(@)([^@#\\s][^@\\n]*)(@)","captures":{"1":{"name":"punctuation.definition.xref.begin.gedcom"},"2":{"name":"entity.name.type.xref.gedcom"},"3":{"name":"punctuation.definition.xref.end.gedcom"}}}]},"xref-reference":{"patterns":[{"match":"(@)(VOID)(@)","captures":{"1":{"name":"punctuation.definition.xref.begin.gedcom"},"2":{"name":"constant.language.void.gedcom"},"3":{"name":"punctuation.definition.xref.end.gedcom"}}},{"match":"(@)([^@#\\s][^@\\n]*)(@)","captures":{"1":{"name":"punctuation.definition.xref.begin.gedcom"},"2":{"name":"variable.other.xref.gedcom"},"3":{"name":"punctuation.definition.xref.end.gedcom"}}}]}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":".gitconfig","scopeName":"source.gitconfig","patterns":[{"include":"#main"}],"repository":{"alias":{"name":"meta.alias.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*([A-Za-z][-A-Za-z]*)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#aliasInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"aliasInnards":{"patterns":[{"name":"meta.shell.command.gitconfig","begin":"\\G\\s*(?=(?:\"\\s*)?!)","end":"(?\u003c!\\\\)$","patterns":[{"name":"string.quoted.double.gitconfig","match":"\\G(\")\\s*(!)((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"},"3":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"4":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\\G(\")\\s*(!)","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"name":"keyword.operator.shell-script.gitconfig","match":"\\G!"},{"include":"#cmdInnards"}]},{"name":"meta.unquoted.shell.command.gitconfig","begin":"\\G\\s*(!)","end":"(?\u003c!\\\\)(?=$)","patterns":[{"include":"#escapedNewline"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.shell-script.gitconfig"}}},{"name":"meta.git.subcommands.gitconfig","contentName":"string.unquoted.source.gitconfig","begin":"\\G\\s*([^\\s\"#;!]+)","end":"(?\u003c!\\\\)(?=$|#|;)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.unquoted.source.gitconfig"}}}]},"aliasSection":{"name":"meta.aliases.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (alias) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)?\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#alias"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"cmd":{"name":"meta.command.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(textconv|command|driver)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"contentName":"source.embedded.shell","begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#cmdInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"cmdInnards":{"patterns":[{"name":"string.quoted.double.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"3":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\"","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"include":"#escapedNewline"},{"include":"source.shell"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.gitconfig","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}},{"name":"comment.line.semicolon.gitconfig","begin":";","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}}]},"diffSection":{"name":"meta.diff.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (diff) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#cmd"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"dot":{"name":"punctuation.delimiter.separator.meta.dot.period.gitconfig","match":"\\."},"escapedNewline":{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)$\\s*","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},"escapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.quote.gitconfig","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.tab.gitconfig","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.backspace.gitconfig","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"include":"#escapedNewline"},{"name":"invalid.illegal.syntax.escape.gitconfig","match":"\\\\."}]},"includeInnards":{"patterns":[{"name":"keyword.operator.tilde.gitconfig","match":"(?:^|\\G)~(?=/)"},{"name":"keyword.operator.config-path.gitconfig","match":"(?:^|\\G)\\.(?=/)"},{"name":"keyword.operator.glob.wildcard.globstar.gitconfig","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitconfig","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitconfig","match":"/"},{"include":"#escapes"}]},"includePath":{"name":"meta.included-file.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(path)\\s*(=)[ \\t]*","end":"(?=\\s*(?:(?\u003c!\\\\)$|#|;))","patterns":[{"name":"string.quoted.double.pathspec.gitconfig","contentName":"string.other.link.pathspec.gitconfig","begin":"\\G\\s*\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#includeInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"match":"([^\"\\s;#][^;#]*?)(?\u003c=\\S)(?=\\s*(?:$|;|#))","captures":{"1":{"name":"string.other.link.pathspec.gitconfig","patterns":[{"include":"#includeInnards"}]}}},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"includeSection":{"name":"meta.include.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(include(?:If)?) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#includePath"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"keyword.control.directive.${2:/downcase}.gitconfig"},"3":{"name":"punctuation.definition.condition.begin.gitconfig"},"4":{"patterns":[{"name":"meta.condition.match-directory.gitconfig","contentName":"string.other.link.gitconfig","begin":"(gitdir)((/)i)?(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"storage.modifier.ignore-case.gitconfig"},"3":{"name":"punctuation.separator.modifier.slash.gitconfig"},"4":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-worktree.gitconfig","contentName":"string.other.file.name.gitconfig","begin":"(onbranch)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-config.gitconfig","contentName":"string.unquoted.argument.gitconfig","begin":"(hasconfig)(:)([^\":]+)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.parameter.gitconfig"},"3":{"name":"variable.parameter.comparison.gitconfig","patterns":[{"include":"#dot"},{"include":"#sectionEscapes"},{"include":"#includeInnards"}]},"4":{"name":"punctuation.separator.key-value.gitconfig"}}}]},"5":{"name":"punctuation.definition.condition.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#includeSection"},{"include":"#aliasSection"},{"include":"#diffSection"},{"include":"#urlSection"},{"include":"#section"}]},"section":{"name":"meta.section.gitconfig","begin":"(?x)\n(?:^|\\G) \\s*\n(?:\n\t(\\[)\\s*(\\]) #1, #2\n\t|\n\t(\\[) #3\n\t\\s*\n\t(?:\n\t\t([-.A-Za-z0-9]+?) #4\n\t\t(?:\n\t\t\t(\\.) #5\n\t\t\t([-A-Za-z0-9]+) #6\n\t\t)?\n\t)\n\t(?:\n\t\t\\s*\n\t\t(\") #7\n\t\t( #8\n\t\t\t(?: [^\\\\\"]\n\t\t\t| \\\\.\n\t\t\t)*+\n\t\t)\n\t\t(\") #9\n\t)?+\n\t\\s* (\\]) #10\n)","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"10":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"2":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"4":{"name":"entity.section.name.gitconfig"},"5":{"patterns":[{"include":"#dot"}]},"6":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"7":{"name":"punctuation.definition.subsection.begin.gitconfig"},"8":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"9":{"name":"punctuation.definition.subsection.end.gitconfig"}}},"sectionEscapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.unknown.gitconfig","match":"\\\\(?=[^\\\\\"])","captures":{"0":{"name":"punctuation.definition.escape.backslash.ignored.gitconfig"}}}]},"urlInnards":{"patterns":[{"name":"string.other.link.gitconfig","begin":"\"","end":"\"|(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.quoted.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"string.quoted.string.end.gitconfig"}}},{"name":"string.other.link.gitconfig","match":"(?:[^\\s\";#\\\\]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"urlSection":{"name":"meta.url.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(url|https?|core.(?:git)?proxy) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"string.other.link.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"variableInnards":{"patterns":[{"name":"constant.logical.boolean.$1.gitconfig","match":"(?i)\\b(true|false|on|off|1|0|yes|no)\\b"},{"name":"constant.numeric.decimal.integer.int.gitconfig","match":"[-+]?[0-9]+(?=$|[\\s#;])"},{"name":"constant.numeric.decimal.float.gitconfig","match":"[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"},{"name":"string.quoted.double.argument.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*?)(?\u003c!\\\\)(?=\\s*$)","captures":{"0":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"},"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"patterns":[{"include":"#escapes"}]}}},{"name":"string.quoted.double.argument.gitconfig","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.unquoted.argument.gitconfig","match":"(?:[^\\\\\\s\";#]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}},{"include":"#escapedNewline"}]},"variables":{"patterns":[{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(signingkey)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"constant.other.signing-key.hex.gitconfig","match":"\\w+"},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(email|url)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#urlInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"([0-9A-Za-z][-0-9A-Za-z]*)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}}]}},"injections":{"L:meta.alias.gitconfig source.embedded.shell, L:meta.command.gitconfig - string.quoted":{"patterns":[{"include":"#escapedNewline"}]},"L:string.quoted.double.gitconfig source.embedded.shell - string.quoted.*.shell":{"patterns":[{"name":"comment.line.number-sign.shell","begin":"\\s*(?\u003c![^\\s;\\\\|\\(\u0026])(#)","end":"(?=\")","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}}}]}}}
|
|
1
|
+
{"name":".gitconfig","scopeName":"source.gitconfig","patterns":[{"include":"#main"}],"repository":{"alias":{"name":"meta.alias.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*([A-Za-z][-A-Za-z]*)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#aliasInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"aliasInnards":{"patterns":[{"name":"meta.shell.command.gitconfig","begin":"\\G\\s*(?=(?:\"\\s*)?!)","end":"(?\u003c!\\\\)$","patterns":[{"name":"string.quoted.double.gitconfig","match":"\\G(\")\\s*(!)((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"},"3":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"4":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\\G(\")\\s*(!)","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"name":"keyword.operator.shell-script.gitconfig","match":"\\G!"},{"include":"#cmdInnards"}]},{"name":"meta.unquoted.shell.command.gitconfig","begin":"\\G\\s*(!)","end":"(?\u003c!\\\\)(?=$)","patterns":[{"include":"#escapedNewline"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.shell-script.gitconfig"}}},{"name":"meta.git.subcommands.gitconfig","contentName":"string.unquoted.source.gitconfig","begin":"\\G\\s*([^\\s\"#;!]+)","end":"(?\u003c!\\\\)(?=$|#|;)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.unquoted.source.gitconfig"}}}]},"aliasSection":{"name":"meta.aliases.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (alias) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)?\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#alias"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"bugtraqLog":{"name":"meta.bug-matcher.gitconfig","begin":"(?i)\\b(logregex)\\s*(=)[ \\t]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"string.regexp.gitconfig","begin":"\\G(\"|')","end":"\\1","patterns":[{"include":"source.regexp"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.regexp.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.regexp.end.gitconfig"}}},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"bugtraqMessage":{"name":"meta.log-message.gitconfig","begin":"(?i)\\b(message)\\s*(=)[ \\t]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"string.quoted.double.message.gitconfig","begin":"\\G\"","end":"\"","patterns":[{"include":"#bugtraqPlaceholder"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.single.message.gitconfig","begin":"\\G'","end":"'","patterns":[{"include":"#bugtraqPlaceholder"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"bugtraqPlaceholder":{"name":"constant.other.placeholder.bugid.gitconfig","match":"%BUGID%"},"bugtraqSection":{"name":"meta.bugtraq.section.gitconfig","begin":"(?:^|\\G)\\s*(?:(\\[)\\s*(bugtraq)\\s*(\\]))","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#bugtraqLog"},{"include":"#bugtraqUUID"},{"include":"#bugtraqMessage"},{"include":"#bugtraqURL"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"bugtraqURL":{"name":"meta.bug-tracker.gitconfig","begin":"(?i)\\b(url)\\s*(=)[ \\t]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"string.other.link.gitconfig","match":"\\G\\S+","captures":{"0":{"patterns":[{"include":"#bugtraqPlaceholder"}]}}}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"bugtraqUUID":{"name":"meta.provider-uuid.gitconfig","begin":"(?i)\\b(provideruuid(?:64)?)\\s*(=)[ \\t]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"meta.uuid.gitconfig","match":"(?i)\\G({)([0-9A-F](?:-?[0-9A-F]){31})(})","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"patterns":[{"include":"etc#dash"},{"include":"etc#hexNoSign"}]},"3":{"patterns":[{"include":"etc#bracket"}]}}},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"cmd":{"name":"meta.command.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(textconv|command|driver)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"contentName":"source.embedded.shell","begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#cmdInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"cmdInnards":{"patterns":[{"name":"string.quoted.double.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"3":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\"","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"include":"#escapedNewline"},{"include":"source.shell"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.gitconfig","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}},{"name":"comment.line.semicolon.gitconfig","begin":";","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}}]},"diffSection":{"name":"meta.diff.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (diff) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#cmd"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"dot":{"name":"punctuation.delimiter.separator.meta.dot.period.gitconfig","match":"\\."},"escapedNewline":{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)$\\s*","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},"escapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.quote.gitconfig","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.tab.gitconfig","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.backspace.gitconfig","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"include":"#escapedNewline"},{"name":"invalid.illegal.syntax.escape.gitconfig","match":"\\\\."}]},"hookCmd":{"name":"meta.command.hook.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(cmdline)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"contentName":"source.embedded.batchfile","begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"source.batchfile"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"hookSection":{"name":"meta.hook.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (hook) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#hookCmd"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"includeInnards":{"patterns":[{"name":"keyword.operator.tilde.gitconfig","match":"(?:^|\\G)~(?=/)"},{"name":"keyword.operator.config-path.gitconfig","match":"(?:^|\\G)\\.(?=/)"},{"name":"keyword.operator.glob.wildcard.globstar.gitconfig","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitconfig","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitconfig","match":"/"},{"include":"#escapes"}]},"includePath":{"name":"meta.included-file.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(path)\\s*(=)[ \\t]*","end":"(?=\\s*(?:(?\u003c!\\\\)$|#|;))","patterns":[{"name":"string.quoted.double.pathspec.gitconfig","contentName":"string.other.link.pathspec.gitconfig","begin":"\\G\\s*\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#includeInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"match":"([^\"\\s;#][^;#]*?)(?\u003c=\\S)(?=\\s*(?:$|;|#))","captures":{"1":{"name":"string.other.link.pathspec.gitconfig","patterns":[{"include":"#includeInnards"}]}}},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"includeSection":{"name":"meta.include.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(include(?:If)?) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#includePath"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"keyword.control.directive.${2:/downcase}.gitconfig"},"3":{"name":"punctuation.definition.condition.begin.gitconfig"},"4":{"patterns":[{"name":"meta.condition.match-directory.gitconfig","contentName":"string.other.link.gitconfig","begin":"(gitdir)((/)i)?(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"storage.modifier.ignore-case.gitconfig"},"3":{"name":"punctuation.separator.modifier.slash.gitconfig"},"4":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-worktree.gitconfig","contentName":"string.other.file.name.gitconfig","begin":"(onbranch)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-config.gitconfig","contentName":"string.unquoted.argument.gitconfig","begin":"(hasconfig)(:)([^\":]+)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.parameter.gitconfig"},"3":{"name":"variable.parameter.comparison.gitconfig","patterns":[{"include":"#dot"},{"include":"#sectionEscapes"},{"include":"#includeInnards"}]},"4":{"name":"punctuation.separator.key-value.gitconfig"}}}]},"5":{"name":"punctuation.definition.condition.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#bugtraqSection"},{"include":"#includeSection"},{"include":"#aliasSection"},{"include":"#diffSection"},{"include":"#hookSection"},{"include":"#urlSection"},{"include":"#section"}]},"section":{"name":"meta.section.gitconfig","begin":"(?x)\n(?:^|\\G) \\s*\n(?:\n\t(\\[)\\s*(\\]) #1, #2\n\t|\n\t(\\[) #3\n\t\\s*\n\t(?:\n\t\t([-.A-Za-z0-9]+?) #4\n\t\t(?:\n\t\t\t(\\.) #5\n\t\t\t([-A-Za-z0-9]+) #6\n\t\t)?\n\t)\n\t(?:\n\t\t\\s*\n\t\t(\") #7\n\t\t( #8\n\t\t\t(?: [^\\\\\"]\n\t\t\t| \\\\.\n\t\t\t)*+\n\t\t)\n\t\t(\") #9\n\t)?+\n\t\\s* (\\]) #10\n)","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"10":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"2":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"4":{"name":"entity.section.name.gitconfig"},"5":{"patterns":[{"include":"#dot"}]},"6":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"7":{"name":"punctuation.definition.subsection.begin.gitconfig"},"8":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"9":{"name":"punctuation.definition.subsection.end.gitconfig"}}},"sectionEscapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.unknown.gitconfig","match":"\\\\(?=[^\\\\\"])","captures":{"0":{"name":"punctuation.definition.escape.backslash.ignored.gitconfig"}}}]},"urlInnards":{"patterns":[{"name":"string.other.link.gitconfig","begin":"\"","end":"\"|(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.quoted.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"string.quoted.string.end.gitconfig"}}},{"name":"string.other.link.gitconfig","match":"(?:[^\\s\";#\\\\]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"urlSection":{"name":"meta.url.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(url|https?|core\\.(?:git)?proxy) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"string.other.link.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"variableInnards":{"patterns":[{"name":"constant.logical.boolean.$1.gitconfig","match":"(?i)\\b(true|false|on|off|1|0|yes|no)\\b"},{"name":"constant.numeric.decimal.integer.int.gitconfig","match":"[-+]?[0-9]+(?=$|[\\s#;])"},{"name":"constant.numeric.decimal.float.gitconfig","match":"[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"},{"name":"string.quoted.double.argument.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*?)(?\u003c!\\\\)(?=\\s*$)","captures":{"0":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"},"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"patterns":[{"include":"#escapes"}]}}},{"name":"string.quoted.double.argument.gitconfig","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.unquoted.argument.gitconfig","match":"(?:[^\\\\\\s\";#]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}},{"include":"#escapedNewline"}]},"variables":{"patterns":[{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(signingkey)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"constant.other.signing-key.hex.gitconfig","match":"\\w+"},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(email|url)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#urlInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"([0-9A-Za-z][-0-9A-Za-z]*)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}}]}},"injections":{"L:meta.alias.gitconfig source.embedded.shell, L:meta.command.gitconfig - string.quoted":{"patterns":[{"include":"#escapedNewline"}]},"L:meta.bug-matcher.gitconfig string.regexp":{"patterns":[{"name":"punctuation.definition.escape.backslash.gitconfig","match":"\\\\(?=\\\\)","captures":{"0":{"name":"sublimelinter.gutter-mark"}}}]},"L:string.quoted.double.gitconfig source.embedded.shell - string.quoted.*.shell":{"patterns":[{"name":"comment.line.number-sign.shell","begin":"\\s*(?\u003c![^\\s;\\\\|\\(\u0026])(#)","end":"(?=\")","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}}}]}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"name":"gnolang","scopeName":"source.gno","patterns":[{"include":"#statements"}],"repository":{"after_control_variables":{"match":"(?:(?\u003c=\\brange\\b|\\bswitch\\b|\\;|\\bif\\b|\\bfor\\b|\\\u003c|\\\u003e|\\\u003c\\=|\\\u003e\\=|\\=\\=|\\!\\=|\\w(?:\\+|/|\\-|\\*|\\%)|\\w(?:\\+|/|\\-|\\*|\\%)\\=|\\|\\||\\\u0026\\\u0026)(?:\\s*)((?![\\[\\]]+)[[:alnum:]\\-\\_\\!\\.\\[\\]\\\u003c\\\u003e\\=\\*/\\+\\%\\:]+)(?:\\s*)(?=\\{))","captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"variable.other.go","match":"(?:\\w+)"}]}}},"brackets":{"patterns":[{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}}]},"built_in_functions":{"patterns":[{"name":"entity.name.function.support.builtin.go","match":"\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()"},{"begin":"(?:(\\bnew\\b)(\\())","end":"\\)","patterns":[{"include":"#functions"},{"include":"#struct_variables_types"},{"include":"#type-declarations"},{"include":"#generic_types"},{"name":"entity.name.type.go","match":"(?:\\w+)"},{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"begin":"(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\[\\]\\*]+)?(?:(?!\\bmap\\b)(?:[\\w\\.]+))?(\\[(?:(?:[\\S]+)(?:(?:\\,\\s*(?:[\\S]+))*))?\\])?(?:\\,)?)?))","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.support.builtin.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"\\w+"}]}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}}]},"comments":{"patterns":[{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}}]},"const_assignment":{"patterns":[{"match":"(?:(?\u003c=\\bconst\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.other.constant.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"begin":"(?:(?\u003c=\\bconst\\b)(?:\\s*)(\\())","end":"\\)","patterns":[{"match":"(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.other.constant.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}}]},"delimiters":{"patterns":[{"name":"punctuation.other.comma.go","match":"\\,"},{"name":"punctuation.other.period.go","match":"\\.(?!\\.\\.)"},{"name":"punctuation.other.colon.go","match":":(?!=)"}]},"double_parentheses_types":{"match":"(?:(?\u003c!\\w)(\\((?:[\\w\\.\\[\\]\\*\\\u0026]+)\\))(?=\\())","captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},"field_hover":{"match":"(?:(?\u003c=^\\bfield\\b)\\s+([\\w\\*\\.]+)\\s+([\\s\\S]+))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"\\w+"}]},"2":{"patterns":[{"name":"invalid.field.go","match":"\\binvalid\\b\\s+\\btype\\b"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"\\w+"}]}}},"function_declaration":{"begin":"(?:^(\\bfunc\\b)(?:\\s*(\\([^\\)]+\\)\\s*)?(?:(\\w+)(?=\\(|\\[))?))","end":"(?:(?\u003c=\\))\\s*((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b))[\\w\\.\\-\\*\\[\\]]+)?\\s*(?=\\{))","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"begin":"(?:([\\w\\.\\*]+)?(\\[))","end":"\\]","patterns":[{"include":"#generic_param_types"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}},{"match":"(?:(?\u003c=\\))(?:\\s*)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?[\\w\\*\\.\\[\\]\\\u003c\\\u003e\\-]+(?:\\s*)(?:\\/(?:\\/|\\*).*)?)$)","captures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"match":"(?:(\\w+(?:\\s+))?((?:[\\w\\.\\*]+)(?:\\[(?:(?:(?:[\\w\\.\\*]+)(?:\\,\\s+)?)+)?\\])?))","captures":{"1":{"name":"variable.parameter.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}}]},"3":{"patterns":[{"name":"invalid.illegal.identifier.go","match":"\\d\\w*"},{"name":"entity.name.function.go","match":"\\w+"}]}},"endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},"function_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"match":"((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.parameter.go","match":"\\w+"}]}}},{"match":"(?:(?:(?\u003c=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.parameter.go","match":"\\w+"}]}}},{"match":"(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.\\[\\]]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:[\\[\\]\\*]+)?[\\w\\*\\.]+(?:\\[(?:[^\\]]+)\\])?(?:[\\w\\.\\*]+)?)+)))","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.parameter.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"begin":"(?:([\\w\\.\\*]+)?(\\[))","end":"\\]","patterns":[{"include":"#generic_param_types"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"match":"([\\w\\.]+)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"include":"$self"}]},"functions":{"begin":"(?:(\\bfunc\\b)(?=\\())","end":"(?:(?\u003c=\\))(\\s*(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?((?:(?:\\s*(?:(?:[\\[\\]\\*]+)?[\\w\\.\\*]+)?(?:(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])|(?:\\((?:[^\\)]+)?\\)))?(?:[\\w\\.\\*]+)?)(?:\\s*)(?=\\{))|(?:\\s*(?:(?:(?:[\\[\\]\\*]+)?(?!\\bfunc\\b)(?:[\\w\\.\\*]+)(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])?(?:[\\w\\.\\*]+)?)|(?:\\((?:[^\\)]+)?\\)))))?)","patterns":[{"include":"#parameter-variable-types"}],"beginCaptures":{"1":{"name":"keyword.function.go"}},"endCaptures":{"1":{"patterns":[{"include":"#type-declarations"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},"functions_inline":{"match":"(?:(\\bfunc\\b)((?:\\((?:[^/]*?)\\))(?:\\s+)(?:\\((?:[^/]*?)\\)))(?:\\s+)(?=\\{))","captures":{"1":{"name":"keyword.function.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"punctuation.definition.begin.bracket.curly.go","match":"\\{"},{"name":"punctuation.definition.end.bracket.curly.go","match":"\\}"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},"generic_param_types":{"patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"match":"((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b\\s*\\{)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.parameter.go","match":"\\w+"}]}}},{"match":"(?:(?:(?\u003c=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.parameter.go","match":"\\w+"}]}}},{"match":"(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:(?:[\\w\\*\\.\\~]+)|(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\]))(?:[\\w\\.\\*]+)?)+)))","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.parameter.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"3":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"begin":"(?:([\\w\\.\\*]+)?(\\[))","end":"\\]","patterns":[{"include":"#generic_param_types"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"match":"(?:\\b([\\w\\.]+))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"include":"$self"}]},"generic_types":{"match":"(?:([\\w\\.\\*]+)(\\[(?:[^\\]]+)?\\]))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#parameter-variable-types"}]}}},"group-functions":{"patterns":[{"include":"#function_declaration"},{"include":"#functions_inline"},{"include":"#functions"},{"include":"#built_in_functions"},{"include":"#support_functions"}]},"group-types":{"patterns":[{"include":"#other_struct_interface_expressions"},{"include":"#type_assertion_inline"},{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#single_type"},{"include":"#multi_types"},{"include":"#struct_interface_declaration"},{"include":"#double_parentheses_types"},{"include":"#switch_types"},{"include":"#type-declarations"}]},"group-variables":{"patterns":[{"include":"#const_assignment"},{"include":"#var_assignment"},{"include":"#variable_assignment"},{"include":"#label_loop_variables"},{"include":"#slice_index_variables"},{"include":"#property_variables"},{"include":"#switch_select_case_variables"},{"include":"#other_variables"}]},"import":{"patterns":[{"begin":"\\b(import)\\s+","end":"(?!\\G)","patterns":[{"include":"#imports"}],"beginCaptures":{"1":{"name":"keyword.control.import.go"}}}]},"imports":{"patterns":[{"match":"(\\s*[\\w\\.]+)?\\s*((\")([^\"]*)(\"))","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.other.import.go","match":"(?:\\w+)"}]},"2":{"name":"string.quoted.double.go"},"3":{"name":"punctuation.definition.string.begin.go"},"4":{"name":"entity.name.import.go"},"5":{"name":"punctuation.definition.string.end.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#imports"}],"beginCaptures":{"0":{"name":"punctuation.definition.imports.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.imports.end.bracket.round.go"}}},{"include":"$self"}]},"interface_variables_types":{"begin":"(\\binterface\\b)\\s*(\\{)","end":"\\}","patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.interface.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},"interface_variables_types_field":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations-without-brackets"},{"begin":"(?:([\\w\\.\\*]+)?(\\[))","end":"\\]","patterns":[{"include":"#generic_param_types"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"match":"([\\w\\.]+)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]}}}]},"keywords":{"patterns":[{"name":"keyword.control.go","match":"\\b(break|case|continue|default|defer|else|fallthrough|for|go|goto|if|range|return|select|switch)\\b"},{"name":"keyword.channel.go","match":"\\bchan\\b"},{"name":"keyword.const.go","match":"\\bconst\\b"},{"name":"keyword.var.go","match":"\\bvar\\b"},{"name":"keyword.function.go","match":"\\bfunc\\b"},{"name":"keyword.interface.go","match":"\\binterface\\b"},{"name":"keyword.map.go","match":"\\bmap\\b"},{"name":"keyword.struct.go","match":"\\bstruct\\b"},{"name":"keyword.control.import.go","match":"\\bimport\\b"},{"name":"keyword.type.go","match":"\\btype\\b"}]},"label_loop_variables":{"match":"((?:^\\s*\\w+:\\s*$)|(?:^\\s*(?:\\bbreak\\b|\\bgoto\\b|\\bcontinue\\b)\\s+\\w+(?:\\s*/(?:/|\\*)\\s*.*)?$))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.label.go","match":"\\w+"}]}}},"language_constants":{"match":"\\b(?:(true|false)|(nil)|(iota))\\b","captures":{"1":{"name":"constant.language.boolean.go"},"2":{"name":"constant.language.null.go"},"3":{"name":"constant.language.iota.go"}}},"map_types":{"begin":"(?:(\\bmap\\b)(\\[))","end":"(?:(\\])((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?\\b(?:func|struct|map)\\b)(?:[\\*\\[\\]]+)?(?:[\\w\\.]+)(?:\\[(?:(?:[\\w\\.\\*\\[\\]\\{\\}]+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]\\{\\}]+))*))?\\])?)?)","patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"include":"#functions"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"punctuation.definition.begin.bracket.curly.go","match":"\\{"},{"name":"punctuation.definition.end.bracket.curly.go","match":"\\}"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"entity.name.type.go","match":"\\w+"}],"beginCaptures":{"1":{"name":"keyword.map.go"},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},"multi_types":{"begin":"(\\btype\\b)\\s*(\\()","end":"\\)","patterns":[{"include":"#struct_variables_types"},{"include":"#interface_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}],"beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},"numeric_literals":{"match":"(?\u003c!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.])|(?\u003c=[eEpP])[+-])*","captures":{"0":{"patterns":[{"begin":"(?=.)","end":"(?:\\n|$)","patterns":[{"match":"(?:(?:(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?:(?\u003c!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$)|\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?\u003c!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|\\G((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?:(?\u003c!_)([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)))?(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)?(?\u003c!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?\u003c!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))|(\\G0[xX])((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(?\u003c!_)([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*))(i(?!\\w))?(?:\\n|$))","captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"10":{"name":"keyword.other.unit.imaginary.go"},"11":{"name":"constant.numeric.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"12":{"name":"punctuation.separator.constant.numeric.go"},"13":{"name":"keyword.other.unit.exponent.decimal.go"},"14":{"name":"keyword.operator.plus.exponent.decimal.go"},"15":{"name":"keyword.operator.minus.exponent.decimal.go"},"16":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"17":{"name":"keyword.other.unit.imaginary.go"},"18":{"name":"constant.numeric.decimal.point.go"},"19":{"name":"constant.numeric.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"2":{"name":"punctuation.separator.constant.numeric.go"},"20":{"name":"punctuation.separator.constant.numeric.go"},"21":{"name":"keyword.other.unit.exponent.decimal.go"},"22":{"name":"keyword.operator.plus.exponent.decimal.go"},"23":{"name":"keyword.operator.minus.exponent.decimal.go"},"24":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"25":{"name":"keyword.other.unit.imaginary.go"},"26":{"name":"keyword.other.unit.hexadecimal.go"},"27":{"name":"constant.numeric.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"28":{"name":"punctuation.separator.constant.numeric.go"},"29":{"name":"constant.numeric.hexadecimal.go"},"3":{"name":"constant.numeric.decimal.point.go"},"30":{"name":"constant.numeric.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"31":{"name":"punctuation.separator.constant.numeric.go"},"32":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"33":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"34":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"35":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"36":{"name":"keyword.other.unit.imaginary.go"},"37":{"name":"keyword.other.unit.hexadecimal.go"},"38":{"name":"constant.numeric.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"39":{"name":"punctuation.separator.constant.numeric.go"},"4":{"name":"constant.numeric.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"40":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"41":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"42":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"43":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"44":{"name":"keyword.other.unit.imaginary.go"},"45":{"name":"keyword.other.unit.hexadecimal.go"},"46":{"name":"constant.numeric.hexadecimal.go"},"47":{"name":"constant.numeric.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"48":{"name":"punctuation.separator.constant.numeric.go"},"49":{"name":"keyword.other.unit.exponent.hexadecimal.go"},"5":{"name":"punctuation.separator.constant.numeric.go"},"50":{"name":"keyword.operator.plus.exponent.hexadecimal.go"},"51":{"name":"keyword.operator.minus.exponent.hexadecimal.go"},"52":{"name":"constant.numeric.exponent.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"53":{"name":"keyword.other.unit.imaginary.go"},"6":{"name":"keyword.other.unit.exponent.decimal.go"},"7":{"name":"keyword.operator.plus.exponent.decimal.go"},"8":{"name":"keyword.operator.minus.exponent.decimal.go"},"9":{"name":"constant.numeric.exponent.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]}}},{"match":"(?:(?:(?:\\G(?=[0-9.])(?!0[xXbBoO])([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$)|(\\G0[bB])_?([01](?:[01]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))|(\\G0[oO]?)_?((?:[0-7]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))+)(i(?!\\w))?(?:\\n|$))|(\\G0[xX])_?([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])))*)(i(?!\\w))?(?:\\n|$))","captures":{"1":{"name":"constant.numeric.decimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"10":{"name":"punctuation.separator.constant.numeric.go"},"11":{"name":"keyword.other.unit.imaginary.go"},"12":{"name":"keyword.other.unit.hexadecimal.go"},"13":{"name":"constant.numeric.hexadecimal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"14":{"name":"punctuation.separator.constant.numeric.go"},"15":{"name":"keyword.other.unit.imaginary.go"},"2":{"name":"punctuation.separator.constant.numeric.go"},"3":{"name":"keyword.other.unit.imaginary.go"},"4":{"name":"keyword.other.unit.binary.go"},"5":{"name":"constant.numeric.binary.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.go"},"7":{"name":"keyword.other.unit.imaginary.go"},"8":{"name":"keyword.other.unit.octal.go"},"9":{"name":"constant.numeric.octal.go","patterns":[{"name":"punctuation.separator.constant.numeric.go","match":"(?\u003c=[0-9a-fA-F])_(?=[0-9a-fA-F])"}]}}},{"name":"invalid.illegal.constant.numeric.go","match":"(?:(?:[0-9a-zA-Z_\\.])|(?\u003c=[eEpP])[+-])+"}]}]}}},"operators":{"patterns":[{"name":"keyword.operator.address.go","match":"((?:\\*|\\\u0026)+)(?:(?!\\d)(?=(?:[\\w\\[\\]])|(?:\\\u003c\\-)))"},{"name":"keyword.operator.channel.go","match":"\u003c\\-"},{"name":"keyword.operator.decrement.go","match":"\\-\\-"},{"name":"keyword.operator.increment.go","match":"\\+\\+"},{"name":"keyword.operator.comparison.go","match":"(==|!=|\u003c=|\u003e=|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.go","match":"(\u0026\u0026|\\|\\||!)"},{"name":"keyword.operator.assignment.go","match":"(=|\\+=|\\-=|\\|=|\\^=|\\*=|/=|:=|%=|\u003c\u003c=|\u003e\u003e=|\u0026\\^=|\u0026=)"},{"name":"keyword.operator.arithmetic.go","match":"(\\+|\\-|\\*|/|%)"},{"name":"keyword.operator.arithmetic.bitwise.go","match":"(\u0026(?!\\^)|\\||\\^|\u0026\\^|\u003c\u003c|\u003e\u003e|\\~)"},{"name":"keyword.operator.ellipsis.go","match":"\\.\\.\\."}]},"other_struct_interface_expressions":{"patterns":[{"include":"#after_control_variables"},{"match":"(\\b[\\w\\.]+)(\\[(?:[^\\]]+)?\\])?(?=\\{)(?\u003c!\\bstruct\\b|\\binterface\\b)","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]},"2":{"patterns":[{"begin":"\\[","end":"\\]","patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}}]}}}]},"other_variables":{"name":"variable.other.go","match":"\\w+"},"package_name":{"patterns":[{"begin":"\\b(package)\\s+","end":"(?!\\G)","patterns":[{"name":"invalid.illegal.identifier.go","match":"\\d\\w*"},{"name":"entity.name.type.package.go","match":"\\w+"}],"beginCaptures":{"1":{"name":"keyword.package.go"}}}]},"parameter-variable-types":{"patterns":[{"name":"punctuation.definition.begin.bracket.curly.go","match":"\\{"},{"name":"punctuation.definition.end.bracket.curly.go","match":"\\}"},{"begin":"(?:([\\w\\.\\*]+)?(\\[))","end":"\\]","patterns":[{"include":"#generic_param_types"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]},"2":{"name":"punctuation.definition.begin.bracket.square.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.go"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}}]},"property_variables":{"match":"((?:\\b[\\w\\.]+)(?:\\:(?!\\=)))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"\\w+"}]}}},"raw_string_literals":{"name":"string.quoted.raw.go","begin":"`","end":"`","patterns":[{"include":"#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}}},"runes":{"patterns":[{"name":"string.quoted.rune.go","begin":"'","end":"'","patterns":[{"name":"constant.other.rune.go","match":"\\G(\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})|.)(?=')"},{"name":"invalid.illegal.unknown-rune.go","match":"[^']+"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}}}]},"single_type":{"patterns":[{"match":"(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?:\\s+)(?!(?:\\=\\s*)?(?:[\\[\\]\\*]+)?\\b(?:struct|interface)\\b)([\\s\\S]+))","captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]},"3":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_param_types"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"include":"#type-declarations"},{"include":"#generic_types"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"begin":"(?:(?:^|\\s+)(\\btype\\b)(?:\\s*)([\\w\\.\\*]+)(?=\\[))","end":"(?:(?\u003c=\\])((?:\\s+)(?:\\=\\s*)?(?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:(?!(?:[\\[\\]\\*]+)?(?:\\bstruct\\b|\\binterface\\b|\\bfunc\\b))[\\w\\.\\-\\*\\[\\]]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*))?)","patterns":[{"include":"#struct_variables_types"},{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"punctuation.definition.begin.bracket.curly.go","match":"\\{"},{"name":"punctuation.definition.end.bracket.curly.go","match":"\\}"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"entity.name.type.go","match":"\\w+"}],"beginCaptures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"entity.name.type.go","match":"\\w+"}]}},"endCaptures":{"1":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}}]},"slice_index_variables":{"match":"(?\u003c=\\w\\[)((?:(?:\\b[\\w\\.\\*\\+/\\-\\%\\\u003c\\\u003e\\|\\\u0026]+\\:)|(?:\\:\\b[\\w\\.\\*\\+/\\-\\%\\\u003c\\\u003e\\|\\\u0026]+))(?:\\b[\\w\\.\\*\\+/\\-\\%\\\u003c\\\u003e\\|\\\u0026]+)?(?:\\:\\b[\\w\\.\\*\\+/\\-\\%\\\u003c\\\u003e\\|\\\u0026]+)?)(?=\\])","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.go","match":"\\w+"}]}}},"statements":{"patterns":[{"include":"#package_name"},{"include":"#import"},{"include":"#syntax_errors"},{"include":"#group-functions"},{"include":"#group-types"},{"include":"#group-variables"},{"include":"#field_hover"}]},"storage_types":{"patterns":[{"name":"storage.type.boolean.go","match":"\\bbool\\b"},{"name":"storage.type.byte.go","match":"\\bbyte\\b"},{"name":"storage.type.error.go","match":"\\berror\\b"},{"name":"storage.type.numeric.go","match":"\\b(complex(64|128)|float(32|64)|u?int(8|16|32|64)?)\\b"},{"name":"storage.type.rune.go","match":"\\brune\\b"},{"name":"storage.type.string.go","match":"\\bstring\\b"},{"name":"storage.type.uintptr.go","match":"\\buintptr\\b"},{"name":"entity.name.type.any.go","match":"\\bany\\b"}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.go","match":"\\\\([0-7]{3}|[abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.go","match":"\\\\[^0-7xuUabfnrtv\\'\"]"}]},"string_literals":{"patterns":[{"name":"string.quoted.double.go","begin":"\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.go"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.go"}}}]},"string_placeholder":{"patterns":[{"name":"constant.other.placeholder.go","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGspw]"}]},"struct_interface_declaration":{"match":"(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.]+))","captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]}}},"struct_variable_types_fields_multi":{"patterns":[{"begin":"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bstruct\\b)(?:\\s*)(\\{))","end":"\\}","patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"\\w+"}]},"2":{"name":"keyword.struct.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},{"begin":"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\binterface\\b)(?:\\s*)(\\{))","end":"\\}","patterns":[{"include":"#interface_variables_types_field"},{"include":"$self"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"\\w+"}]},"2":{"name":"keyword.interface.go"},"3":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},{"begin":"(?:((?:\\w+(?:\\,\\s*\\w+)*)(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:\\s+)(?:[\\[\\]\\*]+)?)(\\bfunc\\b)(?:\\s*)(\\())","end":"\\)","patterns":[{"include":"#function_param_types"},{"include":"$self"}],"beginCaptures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"\\w+"}]},"2":{"name":"keyword.function.go"},"3":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}},{"include":"#parameter-variable-types"}]},"struct_variables_types":{"begin":"(\\bstruct\\b)\\s*(\\{)","end":"\\}","patterns":[{"include":"#struct_variables_types_fields"},{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.struct.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},"struct_variables_types_fields":{"patterns":[{"include":"#struct_variable_types_fields_multi"},{"match":"(?:(?\u003c=\\{)\\s*((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"match":"(?:(?\u003c=\\{)\\s*((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\w\\.\\*\\[\\]]+))\\s*(?=\\}))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"(?:\\w+)"}]},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"match":"(?:(?\u003c=\\{)((?:\\s*(?:(?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?(?:(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))+)\\s*(?=\\}))","captures":{"1":{"patterns":[{"match":"(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))?((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\S]+)(?:\\;)?))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"(?:\\w+)"}]},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}}]}}},{"match":"(?:((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?(?:[\\w\\.\\*]+)\\s*)(?:(?=\\`|\\/|\")|$))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},{"match":"(?:((?:(?:\\w+\\,\\s*)+)?(?:\\w+\\s+))([^\\`\"\\/]+))","captures":{"1":{"patterns":[{"include":"#type-declarations"},{"name":"variable.other.property.go","match":"(?:\\w+)"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#parameter-variable-types"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}}]},"support_functions":{"match":"(?:(?:((?\u003c=\\.)\\b\\w+)|(\\b\\w+))(\\[(?:(?:[\\w\\.\\*\\[\\]\\{\\}\"\\']+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]\\{\\}]+))*))?\\])?(?=\\())","captures":{"1":{"name":"entity.name.function.support.go"},"2":{"patterns":[{"include":"#type-declarations"},{"name":"invalid.illegal.identifier.go","match":"\\d\\w*"},{"name":"entity.name.function.support.go","match":"\\w+"}]},"3":{"patterns":[{"include":"#type-declarations-without-brackets"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"punctuation.definition.begin.bracket.curly.go","match":"\\{"},{"name":"punctuation.definition.end.bracket.curly.go","match":"\\}"},{"name":"entity.name.type.go","match":"\\w+"}]}}},"switch_select_case_variables":{"match":"(?:(?:^\\s*(\\bcase\\b))(?:\\s+)([\\s\\S]+(?:\\:)\\s*(?:/(?:/|\\*).*)?)$)","captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"include":"#support_functions"},{"include":"#variable_assignment"},{"name":"variable.other.go","match":"\\w+"}]}}},"switch_types":{"begin":"(?\u003c=\\bswitch\\b)(?:\\s*)(?:(\\w+\\s*\\:\\=)?\\s*([\\w\\.\\*\\(\\)\\[\\]\\+/\\-\\%\\\u003c\\\u003e\\|\\\u0026]+))(\\.\\(\\btype\\b\\)\\s*)(\\{)","end":"(?:\\})","patterns":[{"match":"(?:^\\s*(\\bcase\\b))(?:\\s+)([\\w\\.\\,\\*\\=\\\u003c\\\u003e\\!\\s]+)(:)(\\s*/(?:/|\\*)\\s*.*)?$","captures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}]},"3":{"name":"punctuation.other.colon.go"},"4":{"patterns":[{"include":"#comments"}]}}},{"begin":"\\bcase\\b","end":"\\:","patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"\\w+"}],"beginCaptures":{"0":{"name":"keyword.control.go"}},"endCaptures":{"0":{"name":"punctuation.other.colon.go"}}},{"include":"$self"}],"beginCaptures":{"1":{"patterns":[{"include":"#operators"},{"name":"variable.other.assignment.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#support_functions"},{"include":"#type-declarations"},{"name":"variable.other.go","match":"\\w+"}]},"3":{"patterns":[{"include":"#delimiters"},{"include":"#brackets"},{"name":"keyword.type.go","match":"\\btype\\b"}]},"4":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.curly.go"}}},"syntax_errors":{"patterns":[{"match":"\\[\\](\\s+)","captures":{"1":{"name":"invalid.illegal.slice.go"}}},{"name":"invalid.illegal.numeric.go","match":"\\b0[0-7]*[89]\\d*\\b"}]},"terminators":{"name":"punctuation.terminator.go","match":";"},"type-declarations":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#brackets"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type-declarations-without-brackets":{"patterns":[{"include":"#language_constants"},{"include":"#comments"},{"include":"#map_types"},{"include":"#delimiters"},{"include":"#keywords"},{"include":"#operators"},{"include":"#runes"},{"include":"#storage_types"},{"include":"#raw_string_literals"},{"include":"#string_literals"},{"include":"#numeric_literals"},{"include":"#terminators"}]},"type_assertion_inline":{"match":"(?:(?\u003c=\\.\\()(?:(\\btype\\b)|((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+)?[\\w\\.\\[\\]\\*]+))(?=\\)))","captures":{"1":{"name":"keyword.type.go"},"2":{"patterns":[{"include":"#type-declarations"},{"name":"entity.name.type.go","match":"(?:\\w+)"}]}}},"var_assignment":{"patterns":[{"match":"(?:(?\u003c=\\bvar\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.other.assignment.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"begin":"(?:(?\u003c=\\bvar\\b)(?:\\s*)(\\())","end":"\\)","patterns":[{"match":"(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\\u003c\\-\\s*)?\\bchan\\b(?:\\s*\\\u003c\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)","captures":{"1":{"patterns":[{"include":"#delimiters"},{"name":"variable.other.assignment.go","match":"\\w+"}]},"2":{"patterns":[{"include":"#type-declarations-without-brackets"},{"include":"#generic_types"},{"name":"punctuation.definition.begin.bracket.round.go","match":"\\("},{"name":"punctuation.definition.end.bracket.round.go","match":"\\)"},{"name":"punctuation.definition.begin.bracket.square.go","match":"\\["},{"name":"punctuation.definition.end.bracket.square.go","match":"\\]"},{"name":"entity.name.type.go","match":"\\w+"}]}}},{"include":"$self"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.round.go"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.round.go"}}}]},"variable_assignment":{"patterns":[{"match":"\\b\\w+(?:\\,\\s*\\w+)*(?=\\s*:=)","captures":{"0":{"patterns":[{"include":"#delimiters"},{"name":"invalid.illegal.identifier.go","match":"\\d\\w*"},{"name":"variable.other.assignment.go","match":"\\w+"}]}}},{"match":"\\b[\\w\\.\\*]+(?:\\,\\s*[\\w\\.\\*]+)*(?=\\s*=(?!=))","captures":{"0":{"patterns":[{"include":"#delimiters"},{"include":"#operators"},{"name":"invalid.illegal.identifier.go","match":"\\d\\w*"},{"name":"variable.other.assignment.go","match":"\\w+"}]}}}]}}}
|