github-linguist 7.28.0 → 7.30.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/git-linguist +7 -3
- data/bin/github-linguist +6 -3
- data/grammars/etc.json +1 -1
- data/grammars/inline.graphql.json +1 -1
- data/grammars/inline.graphql.markdown.codeblock.json +1 -0
- data/grammars/inline.hbs.json +1 -1
- data/grammars/markdown.commonlisp.codeblock.json +1 -0
- data/grammars/markdown.gleam.codeblock.json +1 -0
- data/grammars/markdown.glimmer.codeblock.json +1 -0
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/markdown.rego.codeblock.json +1 -0
- data/grammars/source.8xp.json +1 -0
- data/grammars/source.Caddyfile-test.json +1 -0
- data/grammars/source.Caddyfile.json +1 -0
- data/grammars/source.abl.json +1 -1
- data/grammars/source.amxxpawn.json +1 -0
- data/grammars/source.astro.json +1 -1
- data/grammars/source.bb.json +1 -0
- data/grammars/source.bh.json +1 -0
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.bms.json +1 -1
- data/grammars/source.bqn.json +1 -0
- data/grammars/source.brs.json +1 -1
- data/grammars/source.clarion.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.commonlisp.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.csound.json +1 -1
- data/grammars/source.d2.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.did.json +1 -1
- data/grammars/source.elvish-transcript.json +1 -1
- data/grammars/source.firrtl.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.generic-db.json +1 -1
- data/grammars/source.gjs.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.gts.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.hcl.terraform.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.lua.json +1 -1
- data/grammars/source.luau.json +1 -0
- data/grammars/source.m2.json +1 -1
- data/grammars/source.markdown.caddy.codeblock.json +1 -0
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mdx.json +1 -1
- data/grammars/source.mojo.json +1 -0
- data/grammars/source.move.json +1 -1
- data/grammars/source.nasal.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.p4.json +1 -1
- data/grammars/source.pip-requirements.json +1 -0
- data/grammars/source.pkl.json +1 -0
- data/grammars/source.praat.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.roc.json +1 -0
- data/grammars/source.ron.json +1 -0
- data/grammars/source.rust.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.slice.json +1 -1
- data/grammars/source.slint.json +1 -0
- data/grammars/source.solidity.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.templ.json +1 -0
- data/grammars/source.toit.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.vba.json +1 -1
- data/grammars/source.wsd.json +1 -1
- data/grammars/sp-jsdoc.injection.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.crontab.json +1 -0
- data/grammars/text.html.edge.json +1 -0
- data/grammars/text.html.ember-handlebars.json +1 -1
- data/grammars/text.html.statamic.json +1 -1
- data/grammars/text.md.json +1 -1
- data/grammars/text.srt.json +1 -1
- data/grammars/text.valve-cfg.json +1 -0
- data/grammars/text.valve-kv.json +1 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +39 -1
- data/lib/linguist/heuristics.yml +26 -2
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +195 -9
- data/lib/linguist/repository.rb +8 -6
- data/lib/linguist/samples.json +1 -1
- metadata +31 -5
- data/grammars/markdown.graphql.codeblock.json +0 -1
- data/grammars/source.terraform.json +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#nodepath_object"},{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#in_keyword"},{"include":"#getter_setter_godot4"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#lambda_declaration"},{"include":"#control_flow"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#self"},{"include":"#class_definition"},{"include":"#variable_definition"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#function_keyword"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#extends"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\b\n ([a-zA-Z_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~|!"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#keywords"},{"include":"#logic_op"},{"include":"#lambda_declaration"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_func"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(abs|absf|absi|acos|asin|assert|atan|atan2|bytes2var|bytes2var_with_objects|ceil|char|clamp|clampf|clampi|Color8|convert|cos|cosh|cubic_interpolate|db2linear|decimals|dectime|deg2rad|dict2inst|ease|error_string|exp|floor|fmod|fposmod|funcref|get_stack|hash|inst2dict|instance_from_id|inverse_lerp|is_equal_approx|is_inf|is_instance_id_valid|is_instance_valid|is_nan|is_zero_approx|len|lerp|lerp_angle|linear2db|load|log|max|maxf|maxi|min|minf|mini|move_toward|nearest_po2|pingpong|posmod|pow|preload|print|printerr|printraw|prints|printt|print_debug|print_stack|print_verbose|push_error|push_warning|rad2deg|randf|randfn|randf_range|randi|randi_range|randomize|rand_from_seed|rand_range|rand_seed|range|range_lerp|range_step_decimals|rid_allocate_id|rid_from_int64|round|seed|sign|signf|signi|sin|sinh|smoothstep|snapped|sqrt|stepify|step_decimals|str|str2var|tan|tanh|typeof|type_exists|var2bytes|var2bytes_with_objects|var2str|weakref|wrapf|wrapi|yield)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*/?)","end":"[^\\w%]","patterns":[{"match":"(%)?([a-zA-Z_]\\w*/?)","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"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_definition":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"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_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((:)|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(?:\\-\\\u003e)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{"name":"keyword.language.void.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"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_keyword":{"name":"keyword.language.gdscript","match":"func"},"function_name":{"patterns":[{"include":"#builtin_func"},{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"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|extends|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(?:\\-\\\u003e)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{"name":"keyword.language.void.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not|!)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"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_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9_]+(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9_]+e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9_]+"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"string_formatting":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_formatting"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_definition":{"begin":"\\b(?:(var)|(const))\\s+([a-zA-Z_]\\w*)\\s*","end":"$|;","patterns":[{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#base_expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"variable.other.gdscript"}}}}}
|
1
|
+
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.builtin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~|!"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#logic_operator"},{"include":"#compare_operator"},{"include":"#arithmetic_operator"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_classes"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\\b"},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"beginCaptures":{"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not|!)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_formatting":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_formatting"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.gdscript","begin":"\\b(?:(var)|(const))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"constant.language.gdscript"},"4":{"name":"variable.other.gdscript"}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"Generic Database","scopeName":"source.generic-db","patterns":[{"include":"#main"}],"repository":{"field":{"name":"constant.other.field.generic-db","match":"(?:[^#:\\s]|(?\u003c=\\t|:)#)[^:\\t]*"},"main":{"patterns":[{"include":"etc#comment"},{"include":"#record"}]},"record":{"name":"meta.record.generic-db","begin":"^(?=\\s*[^#:\\s])","end":"$","patterns":[{"include":"etc#colon"},{"include":"etc#tab"},{"include":"#field"}]}}}
|
1
|
+
{"name":"Generic Database","scopeName":"source.generic-db","patterns":[{"name":"meta.mime-types.netscape-format.generic-db","begin":"\\A(#)((--)(?:(?:Mosaic|Netscape) Communications Corporation|MCOM) MIME Information)$","end":"(?=A)B","patterns":[{"include":"etc#comment"},{"include":"#netscape-mime-type"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.directive.generic-db"},"2":{"name":"storage.type.class.directive.generic-db"},"3":{"name":"punctuation.definition.block.tag.generic-db"}}},{"include":"#main"}],"repository":{"field":{"name":"constant.other.field.generic-db","match":"(?:[^#:\\s]|(?\u003c=\\t|:)#)[^:\\r\\n\\t]*"},"main":{"patterns":[{"include":"etc#comment"},{"include":"#record"}]},"netscape-mime-type":{"name":"meta.definition.mime-type.netscape-format.generic-db","begin":"^(?=\\s*[^#\\s])","end":"$","patterns":[{"name":"keyword.operator.line-continuation.generic-db","begin":"\\\\$(?:\\r?\\n)?","end":"^","beginCaptures":{"0":{"name":"punctuation.definition.escape.generic-db"}}},{"name":"meta.assignment.extensions-field.generic-db","contentName":"meta.extensions-list.generic-db","begin":"(?:^|\\G|(?\u003c=\\s))(exts)(=)","end":"(?!\\G)","patterns":[{"begin":"\\G\"","end":"\"","patterns":[{"name":"string.quoted.double.file-extension.generic-db","match":"[^\"\\s,]+"},{"include":"etc#comma"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.generic-db"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.generic-db"}}},{"match":"\\G(?!\")(\\S+)","captures":{"1":{"patterns":[{"name":"string.unquoted.file-extension.generic-db","match":"[^,]+"},{"include":"etc#comma"}]}}}],"beginCaptures":{"1":{"name":"variable.assignment.generic-db"},"2":{"patterns":[{"include":"etc#eql"}]}}},{"name":"meta.assignment.content-encoding.generic-db","begin":"(?:^|\\G|(?\u003c=\\s))(enc)(=)","end":"(?!\\G)","patterns":[{"name":"string.quoted.double.generic-db","contentName":"entity.other.encoding.generic-db","begin":"\\G\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.generic-db"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.generic-db"}}},{"name":"entity.other.encoding.generic-db","match":"\\G[^\\s]+"}],"beginCaptures":{"1":{"name":"variable.assignment.generic-db"},"2":{"patterns":[{"include":"etc#eql"}]}}},{"name":"meta.assignment.${1:/downcase}-field.generic-db","begin":"(?:^|\\G|(?\u003c=\\s))(type|desc|icon)(=)","end":"(?!\\G)","patterns":[{"include":"etc#mime"},{"name":"string.unquoted.field.generic-db","match":"\\G(?!\")[^\\s]+"},{"name":"string.quoted.double.field.generic-db","begin":"\\G\"","end":"\"","patterns":[{"include":"etc#mime"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.generic-db"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.generic-db"}}}],"beginCaptures":{"1":{"name":"variable.assignment.generic-db"},"2":{"patterns":[{"include":"etc#eql"}]}}}],"applyEndPatternLast":true},"record":{"name":"meta.record.generic-db","begin":"^(?=\\s*[^#:\\s])","end":"$","patterns":[{"include":"etc#mime"},{"include":"etc#colon"},{"include":"etc#tab"},{"include":"#field"}]}}}
|
data/grammars/source.gjs.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"scopeName":"source.gjs","patterns":[{"include":"source.js"}]}
|
1
|
+
{"name":"Glimmer JS","scopeName":"source.gjs","patterns":[{"include":"#main"},{"include":"source.js"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gjs -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
|
data/grammars/source.gleam.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\
|
1
|
+
{"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0[bB](_?[01])+\\b"},"boolean":{"name":"constant.language.boolean.gleam","match":"\\b(True|False)\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:word:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b[[:digit:]]+(_?[[:digit:]])*(\\.[[:digit:]]*)?(e-?[[:digit:]]*)?\\b"},"discards":{"name":"comment.unused.gleam","match":"\\b_(?:[[:word:]]+)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)([[:space:]]*)?\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0[xX](_?[[:xdigit:]])+\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|==\\.|!=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|==|!=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.|%\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0[oO](_?[0-7])+\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
|
data/grammars/source.gts.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"scopeName":"source.gts","patterns":[{"include":"source.ts"}]}
|
1
|
+
{"name":"Glimmer TS","scopeName":"source.gts","patterns":[{"include":"#main"},{"include":"source.ts"}],"repository":{"as-keyword":{"name":"keyword.control","match":"\\s\\b(as)\\b(?=\\s\\|)"},"as-params":{"name":"keyword.block-params.ember-handlebars","begin":"(?\u003c!\\|)(\\|)","end":"(\\|)(?!\\|)","patterns":[{"include":"#variable"}],"beginCaptures":{"1":{"name":"constant.other.symbol.begin.ember-handlebars"}},"endCaptures":{"1":{"name":"constant.other.symbol.end.ember-handlebars"}}},"attention":{"name":"storage.type.class.${1:/downcase}","match":"@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\\b"},"boolean":{"match":"true|false|undefined|null","captures":{"0":{"name":"string.regexp"},"1":{"name":"string.regexp"},"2":{"name":"string.regexp"}}},"component-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)(@|this.)?([a-zA-Z0-9-_\\$:\\.]+)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"3":{"name":"entity.name.type","patterns":[{"include":"#glimmer-component-path"},{"name":"markup.bold","match":"(@|:|\\$)"}]}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"digit":{"match":"\\d*(\\.)?\\d+","captures":{"0":{"name":"constant.numeric"},"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},"entities":{"patterns":[{"name":"constant.character.entity.html.ember-handlebars","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html.ember-handlebars"},"3":{"name":"punctuation.definition.entity.html.ember-handlebars"}}},{"name":"invalid.illegal.bad-ampersand.html.ember-handlebars","match":"\u0026"}]},"glimmer-argument":{"match":"\\s(@[a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars.argument","patterns":[{"name":"markup.italic","match":"(@)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"glimmer-as-stuff":{"patterns":[{"include":"#as-keyword"},{"include":"#as-params"}]},"glimmer-block":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(#|/)(([@\\$a-zA-Z0-9_/.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-as-stuff"},{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-component-path"},{"name":"punctuation.definition.tag","match":"(\\/)+"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-bools":{"name":"entity.expression.ember-handlebars","match":"({{~?)(true|false|null|undefined|\\d*(\\.)?\\d+)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"string.regexp"},"3":{"name":"string.regexp"},"4":{"name":"keyword.operator"}}},"glimmer-comment-block":{"name":"comment.block.glimmer","begin":"{{!--","end":"--}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-comment-inline":{"name":"comment.inline.glimmer","begin":"{{!","end":"}}","patterns":[{"include":"#script"},{"include":"#attention"}],"captures":{"0":{"name":"punctuation.definition.block.comment.glimmer"}}},"glimmer-component-path":{"match":"(::|_|\\$|\\.)","captures":{"1":{"name":"punctuation.definition.tag"}}},"glimmer-control-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([-a-zA-Z_0-9/]+)\\s)","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"keyword.control"}}},"glimmer-else-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(else\\s[a-z]+\\s|else)([()@a-zA-Z0-9\\.\\s\\b]+)?(~?}})","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"punctuation.definition.tag"},"2":{"name":"keyword.control"},"3":{"name":"keyword.control","patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"4":{"name":"punctuation.definition.tag"}}},"glimmer-expression":{"name":"entity.expression.ember-handlebars","begin":"({{~?)(([()\\s@a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"string.regexp","match":"[(]+"},{"name":"string.regexp","match":"[)]+"},{"name":"punctuation.definition.tag","match":"(\\.)+"},{"include":"#glimmer-supexp-content"}]}}},"glimmer-expression-property":{"name":"entity.expression.ember-handlebars","begin":"({{~?)((@|this.)([a-zA-Z0-9_.-]+))","end":"(~?}})","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.operator"},"2":{"name":"keyword.operator"},"3":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"4":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-parameter-name":{"match":"\\b([a-zA-Z0-9_-]+)(\\s?=)","captures":{"1":{"name":"variable.parameter.name.ember-handlebars"},"2":{"name":"punctuation.definition.expression.ember-handlebars"}}},"glimmer-parameter-value":{"match":"\\b([a-zA-Z0-9:_.-]+)\\b(?!=)","captures":{"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"glimmer-special-block":{"name":"entity.expression.ember-handlebars","match":"({{~?)(yield|outlet)(~?}})","captures":{"0":{"name":"keyword.operator"},"1":{"name":"keyword.operator"},"2":{"name":"keyword.control"},"3":{"name":"keyword.operator"}}},"glimmer-subexp":{"name":"entity.subexpression.ember-handlebars","begin":"(\\()([@a-zA-Z0-9.-]+)","end":"(\\))","patterns":[{"include":"#glimmer-supexp-content"}],"captures":{"1":{"name":"keyword.other"},"2":{"name":"keyword.control"}}},"glimmer-supexp-content":{"patterns":[{"include":"#glimmer-subexp"},{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#boolean"},{"include":"#digit"},{"include":"#param"},{"include":"#glimmer-parameter-name"},{"include":"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{"name":"entity.unescaped.expression.ember-handlebars","begin":"{{{","end":"}}}","patterns":[{"include":"#string-single-quoted-handlebars"},{"include":"#string-double-quoted-handlebars"},{"include":"#glimmer-subexp"},{"include":"#param"}],"captures":{"0":{"name":"keyword.operator"}}},"html-attribute":{"match":"\\s([a-zA-Z0-9:_.-]+)(=)?","captures":{"1":{"name":"entity.other.attribute-name.ember-handlebars","patterns":[{"name":"markup.bold","match":"(\\.\\.\\.attributes)"}]},"2":{"name":"punctuation.separator.key-value.html.ember-handlebars"}}},"html-comment":{"name":"comment.block.html.ember-handlebars","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"include":"#attention"},{"name":"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html.ember-handlebars"}}},"html-tag":{"name":"meta.tag.any.ember-handlebars","begin":"(\u003c\\/?)([a-z0-9-]+)(?!\\.|:)\\b","end":"(\\/?)(\u003e)","patterns":[{"include":"#tag-like-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"entity.name.tag.html.ember-handlebars"}},"endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"punctuation.definition.tag"}}},"main":{"patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"#style"},{"include":"#script"},{"include":"#glimmer-else-block"},{"include":"#glimmer-bools"},{"include":"#glimmer-special-block"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#html-tag"},{"include":"#component-tag"},{"include":"#html-comment"},{"include":"#entities"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}]},"param":{"match":"(@|this.)([a-zA-Z0-9_.-]+)","captures":{"0":{"name":"support.function","patterns":[{"name":"variable.language","match":"(@|this)"},{"name":"punctuation.definition.tag","match":"(\\.)+"}]},"1":{"name":"support.function","patterns":[{"name":"punctuation.definition.tag","match":"(\\.)+"}]}}},"script":{"begin":"(^[ \\t]+)?(?=\u003c(?i:script)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(\u003c)((?i:script))\\b","end":"(/)((?i:script))(\u003e)","patterns":[{"begin":"\\G","end":"(?=/)","patterns":[{"begin":"(\u003e)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"source.js","begin":"\\G","end":"(?=\u003c/(?i:script))","patterns":[{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.js","begin":"//","end":"(?=\u003c/script)|\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.js"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.end.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.js-ignored-vscode"}}},{"begin":"(?ix:\n\t\t\t\t\t\t\t\t\t\t\t\t(?=\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype\\s*=\\s*\n\t\t\t\t\t\t\t\t\t\t\t\t\t('|\"|)\n\t\t\t\t\t\t\t\t\t\t\t\t\ttext/\n\t\t\t\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-handlebars\n\t\t\t\t\t\t\t\t\t\t\t\t\t | (x-(handlebars-)?|ng-)?template\n\t\t\t\t\t\t\t\t\t\t\t\t\t | html\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\\s\"'\u003e]\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)","end":"((\u003c))(?=/(?i:script))","patterns":[{"name":"text.html.basic","begin":"(?!\\G)","end":"(?=\u003c/(?i:script))","patterns":[{"include":"text.html.basic"}]}],"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"text.html.basic"}}},{"begin":"(?=(?i:type))","end":"(\u003c)(?=/(?i:script))","endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"}}},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.script.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.script.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"string-double-quoted-handlebars":{"name":"string.quoted.double.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-double-quoted-html":{"name":"string.quoted.double.html.ember-handlebars","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\\""},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-handlebars":{"name":"string.quoted.single.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"string-single-quoted-html":{"name":"string.quoted.single.html.ember-handlebars","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ember-handlebars","match":"\\\\'"},{"include":"#glimmer-bools"},{"include":"#glimmer-expression-property"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ember-handlebars"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ember-handlebars"}}},"style":{"begin":"(^[ \\t]+)?(?=\u003c(?i:style)\\b(?!-))","end":"(?!\\G)([ \\t]*$\\n?)?","patterns":[{"name":"meta.embedded.block.html","begin":"(?i)(\u003c)(style)(?=\\s|/?\u003e)","end":"(?i)((\u003c)/)(style)\\s*(\u003e)","patterns":[{"name":"meta.tag.metadata.style.start.html","begin":"\\G","end":"(\u003e)","patterns":[{"include":"#glimmer-argument"},{"include":"#html-attribute"}],"captures":{"1":{"name":"punctuation.definition.tag.end.html"}}},{"name":"source.css","begin":"(?!\\G)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}]}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.html"},"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"source.css-ignored-vscode"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.end.html"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.embedded.leading.html"}},"endCaptures":{"1":{"name":"punctuation.whitespace.embedded.trailing.html"}}},"tag-like-content":{"patterns":[{"include":"#glimmer-bools"},{"include":"#glimmer-unescaped-expression"},{"include":"#glimmer-comment-block"},{"include":"#glimmer-comment-inline"},{"include":"#glimmer-expression-property"},{"include":"#boolean"},{"include":"#digit"},{"include":"#glimmer-control-expression"},{"include":"#glimmer-expression"},{"include":"#glimmer-block"},{"include":"#string-double-quoted-html"},{"include":"#string-single-quoted-html"},{"include":"#glimmer-as-stuff"},{"include":"#glimmer-argument"},{"include":"#html-attribute"}]},"variable":{"name":"support.function","match":"\\b([a-zA-Z0-9-_]+)\\b"}},"injections":{"L:source.gts -comment -(string -meta.embedded)":{"patterns":[{"include":"#main"}]}}}
|
data/grammars/source.hcl.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([
|
1
|
+
{"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([^?\\r\\n]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"\\\"[^\\\"\\r\\n]*\\\""},{"name":"variable.other.enummember.hcl","match":"[[:alpha:]][[:alnum:]_-]*"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.namespaced.hcl","match":"\\b[[:alpha:]][\\w_-]*::([[:alpha:]][\\w_-]*::)?[[:alpha:]][\\w_-]*\\b"},{"name":"support.function.builtin.hcl","match":"\\b[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!=))\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}}},{"match":"^\\s*((\").*(\"))\\s*(\\=)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"begin":"(for)\\b","end":"\\n","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"keyword.control.hcl"}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"match":"\\:"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
|
1
|
+
{"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"},{"name":"support.function.provider.terraform","match":"\\bprovider::[[:alpha:]][\\w_-]*::[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
|