shiki 1.24.2 → 1.24.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([a-zA-Z_]\\\\w*)\\\\s*(:)\\\\s*([a-zA-Z_]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"}]},\"annotations\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.decorator.gdscript\"},\"2\":{\"name\":\"entity.name.function.decorator.gdscript\"}},\"match\":\"(@)(export|export_color_no_alpha|export_custom|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|export_storage|icon|onready|rpc|tool|warning_ignore|abstract|static_unload)\\\\b\"},\"any_method\":{\"match\":\"\\\\b([A-Za-z_]\\\\w*)\\\\b(?=\\\\s*(?:[(]))\",\"name\":\"entity.name.function.other.gdscript\"},\"any_property\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.gdscript\"},\"2\":{\"name\":\"constant.language.gdscript\"},\"3\":{\"name\":\"variable.other.property.gdscript\"}},\"match\":\"\\\\b(\\\\.)\\\\s*(?<![@$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\\\w*))\\\\b(?![(])\"},\"any_variable\":{\"match\":\"\\\\b(?<![@$#%])([A-Za-z_]\\\\w*)\\\\b(?![(])\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|\\\\*|/|%|\\\\+|-\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.gdscript\"},\"base_expression\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand\"},{\"include\":\"#nodepath_object\"},{\"include\":\"#nodepath_function\"},{\"include\":\"#strings\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#const_vars\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#lambda_declaration\"},{\"include\":\"#class_declaration\"},{\"include\":\"#variable_declaration\"},{\"include\":\"#signal_declaration_bare\"},{\"include\":\"#signal_declaration\"},{\"include\":\"#function_declaration\"},{\"include\":\"#statement_keyword\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#in_keyword\"},{\"include\":\"#control_flow\"},{\"include\":\"#match_keyword\"},{\"include\":\"#curly_braces\"},{\"include\":\"#square_braces\"},{\"include\":\"#round_braces\"},{\"include\":\"#function_call\"},{\"include\":\"#comment\"},{\"include\":\"#self\"},{\"include\":\"#func\"},{\"include\":\"#letter\"},{\"include\":\"#numbers\"},{\"include\":\"#pascal_case_class\"},{\"include\":\"#line_continuation\"}]},\"bitwise_operator\":{\"match\":\"&|\\\\||<<=|>>=|<<|>>|\\\\^|~\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.boolean.gdscript\"},\"builtin_classes\":{\"match\":\"(?<![^.]\\\\.|:)\\\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|super)\\\\b\",\"name\":\"entity.name.type.class.builtin.gdscript\"},\"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\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"},\"4\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[a-zA-Z_]\\\\w*)\",\"name\":\"meta.literal.nodepath.bare.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"},\"2\":{\"name\":\"keyword.control.flow.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(/)\\\\s*(%)?\\\\s*([a-zA-Z_]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:(\\\\$|%)|(&|\\\\^|@))(\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=:)\"},\"class_enum\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"match\":\"\\\\b([A-Z][a-zA-Z_0-9]*)\\\\.([A-Z_0-9]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([a-zA-Z_]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([a-zA-Z_]\\\\w*(\\\\.([a-zA-Z_]\\\\w*))?)\"},\"class_new\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"storage.type.new.gdscript\"},\"3\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"match\":\"\\\\b([a-zA-Z_]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##|#).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|<|>|!=|!\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][A-Z_0-9]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"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\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.other.inherited-class.gdscript\"}},\"match\":\"(extends)\\\\s+([a-zA-Z_]\\\\w*\\\\.[a-zA-Z_]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"name\":\"punctuation.separator.arguments.gdscript\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function-call.gdscript\"},\"2\":{\"name\":\"keyword.operator.assignment.gdscript\"}},\"match\":\"\\\\b([a-zA-Z_]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[a-zA-Z_]\\\\w*\\\\b\\\\()\",\"comment\":\"Regular function call of the type \\\"name(args)\\\"\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"}]},\"function_name\":{\"patterns\":[{\"include\":\"#builtin_classes\"},{\"match\":\"\\\\b(preload)\\\\b\",\"name\":\"keyword.language.gdscript\"},{\"comment\":\"Some color schemas support meta.function-call.generic scope\",\"match\":\"\\\\b([a-zA-Z_]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\b(get):\"},{\"begin\":\"\\\\s+(set)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[#'\\\"\\\\n]))\",\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}]},\"keywords\":{\"match\":\"\\\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\\\b\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[#'\\\"\\\\n]))\",\"end2\":\"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)\",\"endCaptures2\":{\"1\":{\"name\":\"punctuation.separator.annotation.result.gdscript\"},\"2\":{\"name\":\"keyword.language.void.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript markup.italic\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"letter\":{\"match\":\"\\\\b(?:true|false|null)\\\\b\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[rR]?(\\\\'\\\\'\\\\'|\\\\\\\"\\\\\\\"\\\\\\\"|\\\\'|\\\\\\\"))|(\\\\G$))\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"(\\\"|')\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},{\"include\":\"#base_expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*(?:\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"(?:\\\\))\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"(\\\"|')\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[0-9A-Fa-f_]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"[-]?(\\\\d[0-9_]+\\\\.[0-9_]*(e[\\\\-+]?[0-9_]+)?)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[-]?(\\\\.\\\\d[0-9_]*(e[\\\\-+]?[0-9_]+)?)\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[-]?(\\\\d[0-9_]*e[\\\\-+]?\\\\[0-9_])\",\"name\":\"constant.numeric.float.gdscript\"},{\"captures\":{\"1\":{\"name\":\"storage.type.imaginary.number.gdscript\"}},\"match\":\"(?<!\\\\w)(?:(?:\\\\.\\\\d(?:_?\\\\d)*|\\\\d(?:_?\\\\d)*\\\\.\\\\d(?:_?\\\\d)*|\\\\d(?:_?\\\\d)*\\\\.)(?:[eE][+-]?\\\\d(?:_?\\\\d)*)?|\\\\d(?:_?\\\\d)*(?:[eE][+-]?\\\\d(?:_?\\\\d)*))([jJ])?\\\\b\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[-]?\\\\d[0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.parameters.gdscript\",\"patterns\":[{\"include\":\"#annotated_parameter\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"match\":\"([a-zA-Z_]\\\\w*)\\\\s*(?:(,)|(?=[)#\\\\n=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"self\":{\"match\":\"\\\\bself\\\\b\",\"name\":\"variable.language.gdscript\"},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[#'\\\"\\\\n]))\",\"name\":\"meta.signal.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]},\"signal_declaration_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"statement\":{\"patterns\":[{\"include\":\"#extends_statement\"}]},\"statement_keyword\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\.)(continue|assert|break|elif|else|if|pass|return|while)\\\\b\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-+\\\\w\\\\d(\\\\[{'\\\":#]|$))\\\\b\"}]},\"string_bracket_placeholders\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"({{|}}|(?:{\\\\w*(\\\\.[A-Za-z_]\\\\w*|\\\\[[^\\\\]'\\\"]+\\\\])*(![rsa])?(:\\\\w?[<>=^]?[-+ ]?\\\\#?\\\\d*,?(\\\\.\\\\d+)?[bcdeEfFgGnosxX%]?)?}))\",\"name\":\"meta.format.brace.gdscript\"},{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"({\\\\w*(\\\\.[A-Za-z_]\\\\w*|\\\\[[^\\\\]'\\\"]+\\\\])*(![rsa])?(:)[^'\\\"{}\\\\n]*(?:\\\\{[^'\\\"}\\\\n]*?\\\\}[^'\\\"{}\\\\n]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[-+#0 ]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([hlL])?[diouxXeEfFgGcrsab%])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"name\":\"meta.variable.declaration.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(:)?\\\\s*(set|get)\\\\s+=\\\\s+([a-zA-Z_]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\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\"}},\"match\":\"(setget)\\\\s+([a-zA-Z_]\\\\w*)(?:[,]\\\\s*([a-zA-Z_]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"GDScript\",\"fileTypes\":[\"gd\"],\"name\":\"gdscript\",\"patterns\":[{\"include\":\"#statement\"},{\"include\":\"#expression\"}],\"repository\":{\"annotated_parameter\":{\"begin\":\"\\\\s*([a-zA-Z_]\\\\w*)\\\\s*(:)\\\\s*([a-zA-Z_]\\\\w*)?\",\"beginCaptures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"}]},\"annotations\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.decorator.gdscript\"},\"2\":{\"name\":\"entity.name.function.decorator.gdscript\"}},\"match\":\"(@)(export|export_group|export_color_no_alpha|export_custom|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|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\\\b\"},\"any_method\":{\"match\":\"\\\\b([A-Za-z_]\\\\w*)\\\\b(?=\\\\s*(?:[(]))\",\"name\":\"entity.name.function.other.gdscript\"},\"any_property\":{\"captures\":{\"1\":{\"name\":\"punctuation.accessor.gdscript\"},\"2\":{\"name\":\"constant.language.gdscript\"},\"3\":{\"name\":\"variable.other.property.gdscript\"}},\"match\":\"\\\\b(\\\\.)\\\\s*(?<![@$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\\\w*))\\\\b(?![(])\"},\"any_variable\":{\"match\":\"\\\\b(?<![@$#%])([A-Za-z_]\\\\w*)\\\\b(?![(])\",\"name\":\"variable.other.gdscript\"},\"arithmetic_operator\":{\"match\":\"->|\\\\+=|-=|\\\\*=|\\\\^=|/=|%=|&=|~=|\\\\|=|\\\\*\\\\*|\\\\*|/|%|\\\\+|-\",\"name\":\"keyword.operator.arithmetic.gdscript\"},\"assignment_operator\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.gdscript\"},\"base_expression\":{\"patterns\":[{\"include\":\"#builtin_get_node_shorthand\"},{\"include\":\"#nodepath_object\"},{\"include\":\"#nodepath_function\"},{\"include\":\"#strings\"},{\"include\":\"#builtin_classes\"},{\"include\":\"#const_vars\"},{\"include\":\"#keywords\"},{\"include\":\"#operators\"},{\"include\":\"#lambda_declaration\"},{\"include\":\"#class_declaration\"},{\"include\":\"#variable_declaration\"},{\"include\":\"#signal_declaration_bare\"},{\"include\":\"#signal_declaration\"},{\"include\":\"#function_declaration\"},{\"include\":\"#statement_keyword\"},{\"include\":\"#assignment_operator\"},{\"include\":\"#in_keyword\"},{\"include\":\"#control_flow\"},{\"include\":\"#match_keyword\"},{\"include\":\"#curly_braces\"},{\"include\":\"#square_braces\"},{\"include\":\"#round_braces\"},{\"include\":\"#function_call\"},{\"include\":\"#comment\"},{\"include\":\"#self\"},{\"include\":\"#func\"},{\"include\":\"#letter\"},{\"include\":\"#numbers\"},{\"include\":\"#pascal_case_class\"},{\"include\":\"#line_continuation\"}]},\"bitwise_operator\":{\"match\":\"&|\\\\||<<=|>>=|<<|>>|\\\\^|~\",\"name\":\"keyword.operator.bitwise.gdscript\"},\"boolean_operator\":{\"match\":\"(&&|\\\\|\\\\|)\",\"name\":\"keyword.operator.boolean.gdscript\"},\"builtin_classes\":{\"match\":\"(?<![^.]\\\\.|:)\\\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|super)\\\\b\",\"name\":\"entity.name.type.class.builtin.gdscript\"},\"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\":{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"},\"4\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(?<!/\\\\s*)(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)\\\\b(?!\\\\s*/)\",\"name\":\"meta.literal.nodepath.bare.gdscript\"},\"builtin_get_node_shorthand_bare_multi\":{\"begin\":\"(\\\\$\\\\s*|%|\\\\$%\\\\s*)(/\\\\s*)?([a-zA-Z_]\\\\w*)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"constant.character.escape.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"(?!\\\\s*/\\\\s*%?\\\\s*[a-zA-Z_]\\\\w*)\",\"name\":\"meta.literal.nodepath.bare.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"},\"2\":{\"name\":\"keyword.control.flow.gdscript\"},\"3\":{\"name\":\"constant.character.escape.gdscript\"}},\"match\":\"(/)\\\\s*(%)?\\\\s*([a-zA-Z_]\\\\w*)\\\\s*\"}]},\"builtin_get_node_shorthand_quoted\":{\"begin\":\"(?:(\\\\$|%)|(&|\\\\^|@))(\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"end\":\"(\\\\3)\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},\"class_declaration\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=^class)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=:)\"},\"class_enum\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"variable.other.enummember.gdscript\"}},\"match\":\"\\\\b([A-Z][a-zA-Z_0-9]*)\\\\.([A-Z_0-9]+)\"},\"class_is\":{\"captures\":{\"1\":{\"name\":\"storage.type.is.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"\\\\s+(is)\\\\s+([a-zA-Z_]\\\\w*)\"},\"class_name\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"class.other.gdscript\"}},\"match\":\"(?<=class_name)\\\\s+([a-zA-Z_]\\\\w*(\\\\.([a-zA-Z_]\\\\w*))?)\"},\"class_new\":{\"captures\":{\"1\":{\"name\":\"entity.name.type.class.gdscript\"},\"2\":{\"name\":\"storage.type.new.gdscript\"},\"3\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"match\":\"\\\\b([a-zA-Z_]\\\\w*).(new)\\\\(\"},\"comment\":{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.number-sign.gdscript\"}},\"match\":\"(##|#).*$\\\\n?\",\"name\":\"comment.line.number-sign.gdscript\"},\"compare_operator\":{\"match\":\"<=|>=|==|<|>|!=|!\",\"name\":\"keyword.operator.comparison.gdscript\"},\"const_vars\":{\"match\":\"\\\\b([A-Z_][A-Z_0-9]*)\\\\b\",\"name\":\"variable.other.constant.gdscript\"},\"control_flow\":{\"match\":\"\\\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\\\b\",\"name\":\"keyword.control.gdscript\"},\"curly_braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.begin.gdscript\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.dict.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"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\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript\"},\"2\":{\"name\":\"entity.other.inherited-class.gdscript\"}},\"match\":\"(extends)\\\\s+([a-zA-Z_]\\\\w*\\\\.[a-zA-Z_]\\\\w*)?\"},\"func\":{\"match\":\"\\\\bfunc\\\\b\",\"name\":\"keyword.language.gdscript\"},\"function_arguments\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(?=\\\\))(?!\\\\)\\\\s*\\\\()\",\"patterns\":[{\"match\":\"(,)\",\"name\":\"punctuation.separator.arguments.gdscript\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function-call.gdscript\"},\"2\":{\"name\":\"keyword.operator.assignment.gdscript\"}},\"match\":\"\\\\b([a-zA-Z_]\\\\w*)\\\\s*(=)(?!=)\"},{\"match\":\"=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"include\":\"#base_expression\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"},\"2\":{\"name\":\"punctuation.definition.arguments.begin.gdscript\"}},\"match\":\"\\\\s*(\\\\))\\\\s*(\\\\()\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"function_call\":{\"begin\":\"(?=\\\\b[a-zA-Z_]\\\\w*\\\\b\\\\()\",\"comment\":\"Regular function call of the type \\\"name(args)\\\"\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.arguments.end.gdscript\"}},\"name\":\"meta.function-call.gdscript\",\"patterns\":[{\"include\":\"#function_name\"},{\"include\":\"#function_arguments\"}]},\"function_declaration\":{\"begin\":\"\\\\s*(func)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.begin.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"}]},\"function_name\":{\"patterns\":[{\"include\":\"#builtin_classes\"},{\"match\":\"\\\\b(preload)\\\\b\",\"name\":\"keyword.language.gdscript\"},{\"comment\":\"Some color schemas support meta.function-call.generic scope\",\"match\":\"\\\\b([a-zA-Z_]\\\\w*)\\\\b\",\"name\":\"entity.name.function.gdscript\"}]},\"getter_setter_godot4\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\b(get):\"},{\"begin\":\"\\\\s+(set)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[#'\\\"\\\\n]))\",\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]}]},\"in_keyword\":{\"patterns\":[{\"begin\":\"\\\\b(for)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"end\":\":\",\"patterns\":[{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.control.gdscript\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},{\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}]},\"keywords\":{\"match\":\"\\\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\\\b\",\"name\":\"keyword.language.gdscript\"},\"lambda_declaration\":{\"begin\":\"(func)\\\\s?(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"(:|(?=[#'\\\"\\\\n]))\",\"end2\":\"(\\\\s*(\\\\-\\\\>)\\\\s*(void\\\\w*)|([a-zA-Z_]\\\\w*)\\\\s*\\\\:)\",\"endCaptures2\":{\"1\":{\"name\":\"punctuation.separator.annotation.result.gdscript\"},\"2\":{\"name\":\"keyword.language.void.gdscript\"},\"3\":{\"name\":\"entity.name.type.class.gdscript markup.italic\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"},{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"}]},\"letter\":{\"match\":\"\\\\b(?:true|false|null)\\\\b\",\"name\":\"constant.language.gdscript\"},\"line_continuation\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"},\"2\":{\"name\":\"invalid.illegal.line.continuation.gdscript\"}},\"match\":\"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)\"},{\"begin\":\"(\\\\\\\\)\\\\s*$\\\\n?\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.continuation.line.gdscript\"}},\"end\":\"(?=^\\\\s*$)|(?!(\\\\s*[rR]?(\\\\'\\\\'\\\\'|\\\\\\\"\\\\\\\"\\\\\\\"|\\\\'|\\\\\\\"))|(\\\\G$))\",\"patterns\":[{\"include\":\"#base_expression\"}]}]},\"loose_default\":{\"begin\":\"(=)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.gdscript\"}},\"end\":\"(,)|(?=\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"}]},\"match_keyword\":{\"captures\":{\"1\":{\"name\":\"keyword.control.gdscript\"}},\"match\":\"^\\n\\\\s*(match)\"},\"nodepath_function\":{\"begin\":\"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.gdscript\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"contentName\":\"meta.function.parameters.gdscript\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.gdscript\",\"patterns\":[{\"begin\":\"(\\\"|')\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow\"}]},{\"include\":\"#base_expression\"}]},\"nodepath_object\":{\"begin\":\"(NodePath)\\\\s*(?:\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.library.gdscript\"}},\"end\":\"(?:\\\\))\",\"name\":\"meta.literal.nodepath.gdscript\",\"patterns\":[{\"begin\":\"(\\\"|')\",\"end\":\"\\\\1\",\"name\":\"string.quoted.gdscript constant.character.escape.gdscript\",\"patterns\":[{\"match\":\"%\",\"name\":\"keyword.control.flow.gdscript\"}]}]},\"numbers\":{\"patterns\":[{\"match\":\"0b[01_]+\",\"name\":\"constant.numeric.integer.binary.gdscript\"},{\"match\":\"0x[0-9A-Fa-f_]+\",\"name\":\"constant.numeric.integer.hexadecimal.gdscript\"},{\"match\":\"\\\\.\\\\d[0-9_]*([eE][+-]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"(\\\\d[0-9_]*)?\\\\.[0-9_]*([eE][+-]?[0-9_]+)?\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"\\\\d[0-9_]*[eE][+-]?[0-9_]+\",\"name\":\"constant.numeric.float.gdscript\"},{\"match\":\"[-]?\\\\d[0-9_]*\",\"name\":\"constant.numeric.integer.gdscript\"}]},\"operators\":{\"patterns\":[{\"include\":\"#wordlike_operator\"},{\"include\":\"#boolean_operator\"},{\"include\":\"#arithmetic_operator\"},{\"include\":\"#bitwise_operator\"},{\"include\":\"#compare_operator\"}]},\"parameters\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.gdscript\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.gdscript\"}},\"name\":\"meta.function.parameters.gdscript\",\"patterns\":[{\"include\":\"#annotated_parameter\"},{\"captures\":{\"1\":{\"name\":\"variable.parameter.function.language.gdscript\"},\"2\":{\"name\":\"punctuation.separator.parameters.gdscript\"}},\"match\":\"([a-zA-Z_]\\\\w*)\\\\s*(?:(,)|(?=[)#\\\\n=]))\"},{\"include\":\"#comment\"},{\"include\":\"#loose_default\"}]},\"pascal_case_class\":{\"match\":\"\\\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\\\b\",\"name\":\"entity.name.type.class.gdscript\"},\"round_braces\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.begin.gdscript\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"self\":{\"match\":\"\\\\bself\\\\b\",\"name\":\"variable.language.gdscript\"},\"signal_declaration\":{\"begin\":\"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)\\\\s*(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"end\":\"((?=[#'\\\"\\\\n]))\",\"name\":\"meta.signal.gdscript\",\"patterns\":[{\"include\":\"#parameters\"},{\"include\":\"#line_continuation\"}]},\"signal_declaration_bare\":{\"captures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.function.gdscript\"},\"2\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"\\\\s*(signal)\\\\s+([a-zA-Z_]\\\\w*)(?=[\\\\n\\\\s])\",\"name\":\"meta.signal.gdscript\"},\"square_braces\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.begin.gdscript\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.list.end.gdscript\"}},\"patterns\":[{\"include\":\"#base_expression\"},{\"include\":\"#any_variable\"}]},\"statement\":{\"patterns\":[{\"include\":\"#extends_statement\"}]},\"statement_keyword\":{\"patterns\":[{\"match\":\"\\\\b(?<!\\\\.)(continue|assert|break|elif|else|if|pass|return|while)\\\\b\",\"name\":\"keyword.control.flow.gdscript\"},{\"match\":\"\\\\b(?<!\\\\.)(class)\\\\b\",\"name\":\"storage.type.class.gdscript\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.flow.gdscript\"}},\"match\":\"^\\\\s*(case|match)(?=\\\\s*([-+\\\\w\\\\d(\\\\[{'\\\":#]|$))\\\\b\"}]},\"string_bracket_placeholders\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"({{|}}|(?:{\\\\w*(\\\\.[A-Za-z_]\\\\w*|\\\\[[^\\\\]'\\\"]+\\\\])*(![rsa])?(:\\\\w?[<>=^]?[-+ ]?\\\\#?\\\\d*,?(\\\\.\\\\d+)?[bcdeEfFgGnosxX%]?)?}))\",\"name\":\"meta.format.brace.gdscript\"},{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"},\"3\":{\"name\":\"storage.type.format.gdscript\"},\"4\":{\"name\":\"storage.type.format.gdscript\"}},\"match\":\"({\\\\w*(\\\\.[A-Za-z_]\\\\w*|\\\\[[^\\\\]'\\\"]+\\\\])*(![rsa])?(:)[^'\\\"{}\\\\n]*(?:\\\\{[^'\\\"}\\\\n]*?\\\\}[^'\\\"{}\\\\n]*)*})\",\"name\":\"meta.format.brace.gdscript\"}]},\"string_percent_placeholders\":{\"captures\":{\"1\":{\"name\":\"constant.character.format.placeholder.other.gdscript\"}},\"match\":\"(%(\\\\([\\\\w\\\\s]*\\\\))?[-+#0 ]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([hlL])?[diouxXeEfFgGcrsab%])\",\"name\":\"meta.format.percent.gdscript\"},\"strings\":{\"begin\":\"(r)?(\\\"\\\"\\\"|'''|\\\"|')\",\"beginCaptures\":{\"1\":{\"name\":\"constant.character.escape.gdscript\"}},\"end\":\"\\\\2\",\"name\":\"string.quoted.gdscript\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.gdscript\"},{\"include\":\"#string_percent_placeholders\"},{\"include\":\"#string_bracket_placeholders\"}]},\"variable_declaration\":{\"begin\":\"\\\\b(?:(var)|(const))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.language.gdscript storage.type.var.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"}},\"end\":\"$|;\",\"name\":\"meta.variable.declaration.gdscript\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"keyword.language.gdscript storage.type.const.gdscript\"},\"3\":{\"name\":\"entity.name.function.gdscript\"}},\"match\":\"(:)?\\\\s*(set|get)\\\\s+=\\\\s+([a-zA-Z_]\\\\w*)\"},{\"match\":\":=|=(?!=)\",\"name\":\"keyword.operator.assignment.gdscript\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.annotation.gdscript\"},\"2\":{\"name\":\"entity.name.type.class.gdscript\"}},\"match\":\"(:)\\\\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\"}},\"match\":\"(setget)\\\\s+([a-zA-Z_]\\\\w*)(?:[,]\\\\s*([a-zA-Z_]\\\\w*))?\"},{\"include\":\"#expression\"},{\"include\":\"#letter\"},{\"include\":\"#any_variable\"},{\"include\":\"#any_property\"},{\"include\":\"#keywords\"}]},\"wordlike_operator\":{\"match\":\"\\\\b(and|or|not)\\\\b\",\"name\":\"keyword.operator.wordlike.gdscript\"}},\"scopeName\":\"source.gdscript\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"HashiCorp HCL\",\"fileTypes\":[\"hcl\"],\"name\":\"hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#attribute_definition\"},{\"include\":\"#block\"},{\"include\":\"#expressions\"}],\"repository\":{\"attribute_access\":{\"begin\":\"\\\\.(?!\\\\*)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.accessor.hcl\"}},\"comment\":\"Matches traversal attribute access such as .attr\",\"end\":\"[A-Za-z][\\\\w-]*|\\\\d*\",\"endCaptures\":{\"0\":{\"patterns\":[{\"comment\":\"Attribute name\",\"match\":\"(?!null|false|true)[A-Za-z][\\\\w-]*\",\"name\":\"variable.other.member.hcl\"},{\"comment\":\"Optional attribute index\",\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.hcl\"}]}}},\"attribute_definition\":{\"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\"}},\"comment\":\"Identifier \\\"=\\\" with optional parens\",\"match\":\"(\\\\()?(\\\\b(?!null\\\\b|false\\\\b|true\\\\b)[A-Za-z][0-9A-Za-z_-]*)(\\\\))?\\\\s*(=(?!=|>))\\\\s*\",\"name\":\"variable.declaration.hcl\"},\"attribute_splat\":{\"begin\":\"\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.accessor.hcl\"}},\"comment\":\"Legacy attribute-only splat\",\"end\":\"\\\\*\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.splat.hcl\"}}},\"block\":{\"begin\":\"([\\\\w][\\\\-\\\\w]*)(([^\\\\S\\\\r\\\\n]*([\\\\w][\\\\-_\\\\w]*|\\\\\\\"[^\\\\\\\"\\\\r\\\\n]*\\\\\\\"))*)[^\\\\S\\\\r\\\\n]*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"comment\":\"Block type\",\"match\":\"\\\\b(?!null|false|true)[A-Za-z][0-9A-Za-z_-]*\\\\b\",\"name\":\"entity.name.type.hcl\"}]},\"2\":{\"patterns\":[{\"comment\":\"Block label (String Literal)\",\"match\":\"\\\\\\\"[^\\\\\\\"\\\\r\\\\n]*\\\\\\\"\",\"name\":\"variable.other.enummember.hcl\"},{\"comment\":\"Block label (Identifier)\",\"match\":\"[A-Za-z][0-9A-Za-z_-]*\",\"name\":\"variable.other.enummember.hcl\"}]},\"5\":{\"name\":\"punctuation.section.block.begin.hcl\"}},\"comment\":\"This will match HCL blocks like `thing1 \\\"one\\\" \\\"two\\\" {` or `thing2 {`\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.hcl\"}},\"name\":\"meta.block.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#attribute_definition\"},{\"include\":\"#expressions\"},{\"include\":\"#block\"}]},\"block_inline_comments\":{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence\",\"end\":\"\\\\*/\",\"name\":\"comment.block.hcl\"},\"brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.begin.hcl\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.hcl\"}},\"patterns\":[{\"comment\":\"Splat operator\",\"match\":\"\\\\*\",\"name\":\"keyword.operator.splat.hcl\"},{\"include\":\"#comma\"},{\"include\":\"#comments\"},{\"include\":\"#inline_for_expression\"},{\"include\":\"#inline_if_expression\"},{\"include\":\"#expressions\"},{\"include\":\"#local_identifiers\"}]},\"char_escapes\":{\"comment\":\"Character Escapes\",\"match\":\"\\\\\\\\[nrt\\\"\\\\\\\\]|\\\\\\\\u(\\\\h{8}|\\\\h{4})\",\"name\":\"constant.character.escape.hcl\"},\"comma\":{\"comment\":\"Commas - used in certain expressions\",\"match\":\"\\\\,\",\"name\":\"punctuation.separator.hcl\"},\"comments\":{\"patterns\":[{\"include\":\"#hash_line_comments\"},{\"include\":\"#double_slash_line_comments\"},{\"include\":\"#block_inline_comments\"}]},\"double_slash_line_comments\":{\"begin\":\"//\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence\",\"end\":\"$\\\\n?\",\"name\":\"comment.line.double-slash.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\":[{\"comment\":\"in keyword\",\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.word.hcl\"},{\"comment\":\"if keyword\",\"match\":\"\\\\bif\\\\b\",\"name\":\"keyword.control.conditional.hcl\"},{\"match\":\":\",\"name\":\"keyword.operator.hcl\"},{\"include\":\"#expressions\"},{\"include\":\"#comments\"},{\"include\":\"#comma\"},{\"include\":\"#local_identifiers\"}]},\"functions\":{\"begin\":\"([:\\\\-\\\\w]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\b[A-Za-z][\\\\w_-]*::([A-Za-z][\\\\w_-]*::)?[A-Za-z][\\\\w_-]*\\\\b\",\"name\":\"support.function.namespaced.hcl\"},{\"match\":\"\\\\b[A-Za-z][\\\\w_-]*\\\\b\",\"name\":\"support.function.builtin.hcl\"}]},\"2\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Built-in function calls\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.hcl\"}},\"name\":\"meta.function-call.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#expressions\"},{\"include\":\"#comma\"}]},\"hash_line_comments\":{\"begin\":\"#\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence\",\"end\":\"$\\\\n?\",\"name\":\"comment.line.number-sign.hcl\"},\"hcl_type_keywords\":{\"comment\":\"Type keywords known to HCL.\",\"match\":\"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b\",\"name\":\"storage.type.hcl\"},\"heredoc\":{\"begin\":\"(<<-?)\\\\s*(\\\\w+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.hcl\"},\"2\":{\"name\":\"keyword.control.heredoc.hcl\"}},\"comment\":\"String Heredoc\",\"end\":\"^\\\\s*\\\\2\\\\s*$\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.heredoc.hcl\"}},\"name\":\"string.unquoted.heredoc.hcl\",\"patterns\":[{\"include\":\"#string_interpolation\"}]},\"inline_for_expression\":{\"captures\":{\"1\":{\"name\":\"keyword.control.hcl\"},\"2\":{\"patterns\":[{\"match\":\"=>\",\"name\":\"storage.type.function.hcl\"},{\"include\":\"#for_expression_body\"}]}},\"match\":\"(for)\\\\b(.*)\\\\n\"},\"inline_if_expression\":{\"begin\":\"(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.hcl\"}},\"end\":\"\\\\n\",\"patterns\":[{\"include\":\"#expressions\"},{\"include\":\"#comments\"},{\"include\":\"#comma\"},{\"include\":\"#local_identifiers\"}]},\"language_constants\":{\"comment\":\"Language Constants\",\"match\":\"\\\\b(true|false|null)\\\\b\",\"name\":\"constant.language.hcl\"},\"literal_values\":{\"patterns\":[{\"include\":\"#numeric_literals\"},{\"include\":\"#language_constants\"},{\"include\":\"#string_literals\"},{\"include\":\"#heredoc\"},{\"include\":\"#hcl_type_keywords\"}]},\"local_identifiers\":{\"comment\":\"Local Identifiers\",\"match\":\"\\\\b(?!null|false|true)[A-Za-z][0-9A-Za-z_-]*\\\\b\",\"name\":\"variable.other.readwrite.hcl\"},\"numeric_literals\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.exponent.hcl\"}},\"comment\":\"Integer, no fraction, optional exponent\",\"match\":\"\\\\b\\\\d+([Ee][+-]?)\\\\d+\\\\b\",\"name\":\"constant.numeric.float.hcl\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.decimal.hcl\"},\"2\":{\"name\":\"punctuation.separator.exponent.hcl\"}},\"comment\":\"Integer, fraction, optional exponent\",\"match\":\"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][+-]?)\\\\d+)?\\\\b\",\"name\":\"constant.numeric.float.hcl\"},{\"comment\":\"Integers\",\"match\":\"\\\\b\\\\d+\\\\b\",\"name\":\"constant.numeric.integer.hcl\"}]},\"object_for_expression\":{\"begin\":\"(\\\\{)\\\\s?(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.begin.hcl\"},\"2\":{\"name\":\"keyword.control.hcl\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.end.hcl\"}},\"patterns\":[{\"match\":\"=>\",\"name\":\"storage.type.function.hcl\"},{\"include\":\"#for_expression_body\"}]},\"object_key_values\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#literal_values\"},{\"include\":\"#operators\"},{\"include\":\"#tuple_for_expression\"},{\"include\":\"#object_for_expression\"},{\"include\":\"#heredoc\"},{\"include\":\"#functions\"}]},\"objects\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.begin.hcl\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.end.hcl\"}},\"name\":\"meta.braces.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#objects\"},{\"include\":\"#inline_for_expression\"},{\"include\":\"#inline_if_expression\"},{\"captures\":{\"1\":{\"name\":\"meta.mapping.key.hcl variable.other.readwrite.hcl\"},\"2\":{\"name\":\"keyword.operator.assignment.hcl\"}},\"comment\":\"Literal, named object key\",\"match\":\"\\\\b((?!null|false|true)[A-Za-z][0-9A-Za-z_-]*)\\\\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\"}},\"comment\":\"String object key\",\"match\":\"^\\\\s*((\\\").*(\\\"))\\\\s*(=)\\\\s*\"},{\"begin\":\"^\\\\s*\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Computed object key (any expression between parens)\",\"end\":\"(\\\\))\\\\s*(=|:)\\\\s*\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parens.end.hcl\"},\"2\":{\"name\":\"keyword.operator.hcl\"}},\"name\":\"meta.mapping.key.hcl\",\"patterns\":[{\"include\":\"#attribute_access\"},{\"include\":\"#attribute_splat\"}]},{\"include\":\"#object_key_values\"}]},\"operators\":{\"patterns\":[{\"match\":\">=\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"<=\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"==\",\"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\":\"\\\\|\\\\|\",\"name\":\"keyword.operator.logical.hcl\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.hcl\"},{\"match\":\">\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"<\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.hcl\"},{\"match\":\":\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"=>\",\"name\":\"keyword.operator.hcl\"}]},\"parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Parens - matched *after* function syntax\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.hcl\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#expressions\"}]},\"string_interpolation\":{\"begin\":\"(?<![%$])([%$]{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.interpolation.begin.hcl\"}},\"comment\":\"String interpolation\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.interpolation.end.hcl\"}},\"name\":\"meta.interpolation.hcl\",\"patterns\":[{\"comment\":\"Trim left whitespace\",\"match\":\"\\\\~\\\\s\",\"name\":\"keyword.operator.template.left.trim.hcl\"},{\"comment\":\"Trim right whitespace\",\"match\":\"\\\\s\\\\~\",\"name\":\"keyword.operator.template.right.trim.hcl\"},{\"comment\":\"if/else/endif and for/in/endfor directives\",\"match\":\"\\\\b(if|else|endif|for|in|endfor)\\\\b\",\"name\":\"keyword.control.hcl\"},{\"include\":\"#expressions\"},{\"include\":\"#local_identifiers\"}]},\"string_literals\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.hcl\"}},\"comment\":\"Strings\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.hcl\"}},\"name\":\"string.quoted.double.hcl\",\"patterns\":[{\"include\":\"#string_interpolation\"},{\"include\":\"#char_escapes\"}]},\"tuple_for_expression\":{\"begin\":\"(\\\\[)\\\\s?(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.brackets.begin.hcl\"},\"2\":{\"name\":\"keyword.control.hcl\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.hcl\"}},\"patterns\":[{\"include\":\"#for_expression_body\"}]}},\"scopeName\":\"source.hcl\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"HashiCorp HCL\",\"fileTypes\":[\"hcl\"],\"name\":\"hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#attribute_definition\"},{\"include\":\"#block\"},{\"include\":\"#expressions\"}],\"repository\":{\"attribute_access\":{\"begin\":\"\\\\.(?!\\\\*)\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.accessor.hcl\"}},\"comment\":\"Matches traversal attribute access such as .attr\",\"end\":\"[A-Za-z][\\\\w-]*|\\\\d*\",\"endCaptures\":{\"0\":{\"patterns\":[{\"comment\":\"Attribute name\",\"match\":\"(?!null|false|true)[A-Za-z][\\\\w-]*\",\"name\":\"variable.other.member.hcl\"},{\"comment\":\"Optional attribute index\",\"match\":\"\\\\d+\",\"name\":\"constant.numeric.integer.hcl\"}]}}},\"attribute_definition\":{\"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\"}},\"comment\":\"Identifier \\\"=\\\" with optional parens\",\"match\":\"(\\\\()?(\\\\b(?!null\\\\b|false\\\\b|true\\\\b)[A-Za-z][0-9A-Za-z_-]*)(\\\\))?\\\\s*(=(?!=|>))\\\\s*\",\"name\":\"variable.declaration.hcl\"},\"attribute_splat\":{\"begin\":\"\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.accessor.hcl\"}},\"comment\":\"Legacy attribute-only splat\",\"end\":\"\\\\*\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.splat.hcl\"}}},\"block\":{\"begin\":\"([\\\\w][\\\\-\\\\w]*)(([^\\\\S\\\\r\\\\n]+([\\\\w][\\\\-_\\\\w]*|\\\\\\\"[^\\\\\\\"\\\\r\\\\n]*\\\\\\\"))*)[^\\\\S\\\\r\\\\n]*(\\\\{)\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"comment\":\"Block type\",\"match\":\"\\\\b(?!null|false|true)[A-Za-z][0-9A-Za-z_-]*\\\\b\",\"name\":\"entity.name.type.hcl\"}]},\"2\":{\"patterns\":[{\"comment\":\"Block label (String Literal)\",\"match\":\"\\\\\\\"[^\\\\\\\"\\\\r\\\\n]*\\\\\\\"\",\"name\":\"variable.other.enummember.hcl\"},{\"comment\":\"Block label (Identifier)\",\"match\":\"[A-Za-z][0-9A-Za-z_-]*\",\"name\":\"variable.other.enummember.hcl\"}]},\"5\":{\"name\":\"punctuation.section.block.begin.hcl\"}},\"comment\":\"This will match HCL blocks like `thing1 \\\"one\\\" \\\"two\\\" {` or `thing2 {`\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.block.end.hcl\"}},\"name\":\"meta.block.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#attribute_definition\"},{\"include\":\"#expressions\"},{\"include\":\"#block\"}]},\"block_inline_comments\":{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Inline comments start with the /* sequence and end with the */ sequence, and may have any characters within except the ending sequence. An inline comment is considered equivalent to a whitespace sequence\",\"end\":\"\\\\*/\",\"name\":\"comment.block.hcl\"},\"brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.begin.hcl\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.hcl\"}},\"patterns\":[{\"comment\":\"Splat operator\",\"match\":\"\\\\*\",\"name\":\"keyword.operator.splat.hcl\"},{\"include\":\"#comma\"},{\"include\":\"#comments\"},{\"include\":\"#inline_for_expression\"},{\"include\":\"#inline_if_expression\"},{\"include\":\"#expressions\"},{\"include\":\"#local_identifiers\"}]},\"char_escapes\":{\"comment\":\"Character Escapes\",\"match\":\"\\\\\\\\[nrt\\\"\\\\\\\\]|\\\\\\\\u(\\\\h{8}|\\\\h{4})\",\"name\":\"constant.character.escape.hcl\"},\"comma\":{\"comment\":\"Commas - used in certain expressions\",\"match\":\"\\\\,\",\"name\":\"punctuation.separator.hcl\"},\"comments\":{\"patterns\":[{\"include\":\"#hash_line_comments\"},{\"include\":\"#double_slash_line_comments\"},{\"include\":\"#block_inline_comments\"}]},\"double_slash_line_comments\":{\"begin\":\"//\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Line comments start with // sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence\",\"end\":\"$\\\\n?\",\"name\":\"comment.line.double-slash.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\":[{\"comment\":\"in keyword\",\"match\":\"\\\\bin\\\\b\",\"name\":\"keyword.operator.word.hcl\"},{\"comment\":\"if keyword\",\"match\":\"\\\\bif\\\\b\",\"name\":\"keyword.control.conditional.hcl\"},{\"match\":\":\",\"name\":\"keyword.operator.hcl\"},{\"include\":\"#expressions\"},{\"include\":\"#comments\"},{\"include\":\"#comma\"},{\"include\":\"#local_identifiers\"}]},\"functions\":{\"begin\":\"([:\\\\-\\\\w]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"patterns\":[{\"match\":\"\\\\b[A-Za-z][\\\\w_-]*::([A-Za-z][\\\\w_-]*::)?[A-Za-z][\\\\w_-]*\\\\b\",\"name\":\"support.function.namespaced.hcl\"},{\"match\":\"\\\\b[A-Za-z][\\\\w_-]*\\\\b\",\"name\":\"support.function.builtin.hcl\"}]},\"2\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Built-in function calls\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.hcl\"}},\"name\":\"meta.function-call.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#expressions\"},{\"include\":\"#comma\"}]},\"hash_line_comments\":{\"begin\":\"#\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.hcl\"}},\"comment\":\"Line comments start with # sequence and end with the next newline sequence. A line comment is considered equivalent to a newline sequence\",\"end\":\"$\\\\n?\",\"name\":\"comment.line.number-sign.hcl\"},\"hcl_type_keywords\":{\"comment\":\"Type keywords known to HCL.\",\"match\":\"\\\\b(any|string|number|bool|list|set|map|tuple|object)\\\\b\",\"name\":\"storage.type.hcl\"},\"heredoc\":{\"begin\":\"(<<-?)\\\\s*(\\\\w+)\\\\s*$\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.heredoc.hcl\"},\"2\":{\"name\":\"keyword.control.heredoc.hcl\"}},\"comment\":\"String Heredoc\",\"end\":\"^\\\\s*\\\\2\\\\s*$\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.heredoc.hcl\"}},\"name\":\"string.unquoted.heredoc.hcl\",\"patterns\":[{\"include\":\"#string_interpolation\"}]},\"inline_for_expression\":{\"captures\":{\"1\":{\"name\":\"keyword.control.hcl\"},\"2\":{\"patterns\":[{\"match\":\"=>\",\"name\":\"storage.type.function.hcl\"},{\"include\":\"#for_expression_body\"}]}},\"match\":\"(for)\\\\b(.*)\\\\n\"},\"inline_if_expression\":{\"begin\":\"(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.conditional.hcl\"}},\"end\":\"\\\\n\",\"patterns\":[{\"include\":\"#expressions\"},{\"include\":\"#comments\"},{\"include\":\"#comma\"},{\"include\":\"#local_identifiers\"}]},\"language_constants\":{\"comment\":\"Language Constants\",\"match\":\"\\\\b(true|false|null)\\\\b\",\"name\":\"constant.language.hcl\"},\"literal_values\":{\"patterns\":[{\"include\":\"#numeric_literals\"},{\"include\":\"#language_constants\"},{\"include\":\"#string_literals\"},{\"include\":\"#heredoc\"},{\"include\":\"#hcl_type_keywords\"}]},\"local_identifiers\":{\"comment\":\"Local Identifiers\",\"match\":\"\\\\b(?!null|false|true)[A-Za-z][0-9A-Za-z_-]*\\\\b\",\"name\":\"variable.other.readwrite.hcl\"},\"numeric_literals\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.exponent.hcl\"}},\"comment\":\"Integer, no fraction, optional exponent\",\"match\":\"\\\\b\\\\d+([Ee][+-]?)\\\\d+\\\\b\",\"name\":\"constant.numeric.float.hcl\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.decimal.hcl\"},\"2\":{\"name\":\"punctuation.separator.exponent.hcl\"}},\"comment\":\"Integer, fraction, optional exponent\",\"match\":\"\\\\b\\\\d+(\\\\.)\\\\d+(?:([Ee][+-]?)\\\\d+)?\\\\b\",\"name\":\"constant.numeric.float.hcl\"},{\"comment\":\"Integers\",\"match\":\"\\\\b\\\\d+\\\\b\",\"name\":\"constant.numeric.integer.hcl\"}]},\"object_for_expression\":{\"begin\":\"(\\\\{)\\\\s?(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.braces.begin.hcl\"},\"2\":{\"name\":\"keyword.control.hcl\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.end.hcl\"}},\"patterns\":[{\"match\":\"=>\",\"name\":\"storage.type.function.hcl\"},{\"include\":\"#for_expression_body\"}]},\"object_key_values\":{\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#literal_values\"},{\"include\":\"#operators\"},{\"include\":\"#tuple_for_expression\"},{\"include\":\"#object_for_expression\"},{\"include\":\"#heredoc\"},{\"include\":\"#functions\"}]},\"objects\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.begin.hcl\"}},\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.braces.end.hcl\"}},\"name\":\"meta.braces.hcl\",\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#objects\"},{\"include\":\"#inline_for_expression\"},{\"include\":\"#inline_if_expression\"},{\"captures\":{\"1\":{\"name\":\"meta.mapping.key.hcl variable.other.readwrite.hcl\"},\"2\":{\"name\":\"keyword.operator.assignment.hcl\"}},\"comment\":\"Literal, named object key\",\"match\":\"\\\\b((?!null|false|true)[A-Za-z][0-9A-Za-z_-]*)\\\\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\"}},\"comment\":\"String object key\",\"match\":\"^\\\\s*((\\\").*(\\\"))\\\\s*(=)\\\\s*\"},{\"begin\":\"^\\\\s*\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Computed object key (any expression between parens)\",\"end\":\"(\\\\))\\\\s*(=|:)\\\\s*\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.parens.end.hcl\"},\"2\":{\"name\":\"keyword.operator.hcl\"}},\"name\":\"meta.mapping.key.hcl\",\"patterns\":[{\"include\":\"#attribute_access\"},{\"include\":\"#attribute_splat\"}]},{\"include\":\"#object_key_values\"}]},\"operators\":{\"patterns\":[{\"match\":\">=\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"<=\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"==\",\"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\":\"\\\\|\\\\|\",\"name\":\"keyword.operator.logical.hcl\"},{\"match\":\"!\",\"name\":\"keyword.operator.logical.hcl\"},{\"match\":\">\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"<\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"\\\\?\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"\\\\.\\\\.\\\\.\",\"name\":\"keyword.operator.hcl\"},{\"match\":\":\",\"name\":\"keyword.operator.hcl\"},{\"match\":\"=>\",\"name\":\"keyword.operator.hcl\"}]},\"parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.begin.hcl\"}},\"comment\":\"Parens - matched *after* function syntax\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.parens.end.hcl\"}},\"patterns\":[{\"include\":\"#comments\"},{\"include\":\"#expressions\"}]},\"string_interpolation\":{\"begin\":\"(?<![%$])([%$]{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.interpolation.begin.hcl\"}},\"comment\":\"String interpolation\",\"end\":\"\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.other.interpolation.end.hcl\"}},\"name\":\"meta.interpolation.hcl\",\"patterns\":[{\"comment\":\"Trim left whitespace\",\"match\":\"\\\\~\\\\s\",\"name\":\"keyword.operator.template.left.trim.hcl\"},{\"comment\":\"Trim right whitespace\",\"match\":\"\\\\s\\\\~\",\"name\":\"keyword.operator.template.right.trim.hcl\"},{\"comment\":\"if/else/endif and for/in/endfor directives\",\"match\":\"\\\\b(if|else|endif|for|in|endfor)\\\\b\",\"name\":\"keyword.control.hcl\"},{\"include\":\"#expressions\"},{\"include\":\"#local_identifiers\"}]},\"string_literals\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.hcl\"}},\"comment\":\"Strings\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.hcl\"}},\"name\":\"string.quoted.double.hcl\",\"patterns\":[{\"include\":\"#string_interpolation\"},{\"include\":\"#char_escapes\"}]},\"tuple_for_expression\":{\"begin\":\"(\\\\[)\\\\s?(for)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.brackets.begin.hcl\"},\"2\":{\"name\":\"keyword.control.hcl\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.brackets.end.hcl\"}},\"patterns\":[{\"include\":\"#for_expression_body\"}]}},\"scopeName\":\"source.hcl\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Prisma\",\"fileTypes\":[\"prisma\"],\"name\":\"prisma\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#model_block_definition\"},{\"include\":\"#config_block_definition\"},{\"include\":\"#enum_block_definition\"},{\"include\":\"#type_definition\"}],\"repository\":{\"array\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.array\",\"patterns\":[{\"include\":\"#value\"}]},\"assignment\":{\"patterns\":[{\"begin\":\"^\\\\s*(\\\\w+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"},\"2\":{\"name\":\"keyword.operator.terraform\"}},\"end\":\"\\\\n\",\"patterns\":[{\"include\":\"#value\"},{\"include\":\"#double_comment_inline\"}]}]},\"attribute\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.attribute.prisma\"}},\"match\":\"(@@?[\\\\w\\\\.]+)\",\"name\":\"source.prisma.attribute\"},\"attribute_with_arguments\":{\"begin\":\"(@@?[\\\\w\\\\.]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.attribute.prisma\"},\"2\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.attribute.with_arguments\",\"patterns\":[{\"include\":\"#named_argument\"},{\"include\":\"#value\"}]},\"boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.prisma\"},\"config_block_definition\":{\"begin\":\"^\\\\s*(generator|datasource)\\\\s+([A-Za-z][\\\\w]*)\\\\s+({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.config.prisma\"},\"2\":{\"name\":\"entity.name.type.config.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#assignment\"}]},\"double_comment\":{\"begin\":\"//\",\"end\":\"$\\\\n?\",\"name\":\"comment.prisma\"},\"double_comment_inline\":{\"match\":\"//[^\\\\n]*\",\"name\":\"comment.prisma\"},\"double_quoted_string\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.quoted.double.start.prisma\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.end.prisma\"}},\"name\":\"unnamed\",\"patterns\":[{\"include\":\"#string_interpolation\"},{\"match\":\"([\\\\w\\\\-\\\\/\\\\._\\\\\\\\%@:?=]+)\",\"name\":\"string.quoted.double.prisma\"}]},\"enum_block_definition\":{\"begin\":\"^\\\\s*(enum)\\\\s+([A-Za-z][\\\\w]*)\\\\s+({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum.prisma\"},\"2\":{\"name\":\"entity.name.type.enum.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#enum_value_definition\"}]},\"enum_value_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"}},\"match\":\"^\\\\s*(\\\\w+)\\\\s*\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"field_definition\":{\"name\":\"scalar.field\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"},\"2\":{\"name\":\"invalid.illegal.colon.prisma\"},\"3\":{\"name\":\"variable.language.relations.prisma\"},\"4\":{\"name\":\"support.type.primitive.prisma\"},\"5\":{\"name\":\"keyword.operator.list_type.prisma\"},\"6\":{\"name\":\"keyword.operator.optional_type.prisma\"},\"7\":{\"name\":\"invalid.illegal.required_type.prisma\"}},\"match\":\"^\\\\s*(\\\\w+)(\\\\s*:)?\\\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\\\b)\\\\b\\\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\\\[\\\\])?(\\\\?)?(!)?\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"functional\":{\"begin\":\"(\\\\w+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.functional.prisma\"},\"2\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.functional\",\"patterns\":[{\"include\":\"#value\"}]},\"identifier\":{\"patterns\":[{\"match\":\"\\\\b(\\\\w)+\\\\b\",\"name\":\"support.constant.constant.prisma\"}]},\"literal\":{\"name\":\"source.prisma.literal\",\"patterns\":[{\"include\":\"#boolean\"},{\"include\":\"#number\"},{\"include\":\"#double_quoted_string\"},{\"include\":\"#identifier\"}]},\"map_key\":{\"name\":\"source.prisma.key\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.key.prisma\"},\"2\":{\"name\":\"punctuation.definition.separator.key-value.prisma\"}},\"match\":\"(\\\\w+)\\\\s*(:)\\\\s*\"}]},\"model_block_definition\":{\"begin\":\"^\\\\s*(model|type|view)\\\\s+([A-Za-z][\\\\w]*)\\\\s*({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.model.prisma\"},\"2\":{\"name\":\"entity.name.type.model.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#field_definition\"}]},\"named_argument\":{\"name\":\"source.prisma.named_argument\",\"patterns\":[{\"include\":\"#map_key\"},{\"include\":\"#value\"}]},\"number\":{\"match\":\"((0(x|X)[0-9a-fA-F]*)|(\\\\+|-)?\\\\b((\\\\d+\\\\.?\\\\d*)|(\\\\.\\\\d+))((e|E)(\\\\+|-)?\\\\d+)?)([LlFfUuDdg]|UL|ul)?\\\\b\",\"name\":\"constant.numeric.prisma\"},\"string_interpolation\":{\"patterns\":[{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.interpolation.start.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.interpolation.end.prisma\"}},\"name\":\"source.tag.embedded.source.prisma\",\"patterns\":[{\"include\":\"#value\"}]}]},\"triple_comment\":{\"begin\":\"///\",\"end\":\"$\\\\n?\",\"name\":\"comment.prisma\"},\"type_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.type.prisma\"},\"2\":{\"name\":\"entity.name.type.type.prisma\"},\"3\":{\"name\":\"support.type.primitive.prisma\"}},\"match\":\"^\\\\s*(type)\\\\s+(\\\\w+)\\\\s*=\\\\s*(\\\\w+)\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"value\":{\"name\":\"source.prisma.value\",\"patterns\":[{\"include\":\"#array\"},{\"include\":\"#functional\"},{\"include\":\"#literal\"}]}},\"scopeName\":\"source.prisma\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Prisma\",\"fileTypes\":[\"prisma\"],\"name\":\"prisma\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#multi_line_comment\"},{\"include\":\"#model_block_definition\"},{\"include\":\"#config_block_definition\"},{\"include\":\"#enum_block_definition\"},{\"include\":\"#type_definition\"}],\"repository\":{\"array\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\]\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.array\",\"patterns\":[{\"include\":\"#value\"}]},\"assignment\":{\"patterns\":[{\"begin\":\"^\\\\s*(\\\\w+)\\\\s*(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"},\"2\":{\"name\":\"keyword.operator.terraform\"}},\"end\":\"\\\\n\",\"patterns\":[{\"include\":\"#value\"},{\"include\":\"#double_comment_inline\"}]}]},\"attribute\":{\"captures\":{\"1\":{\"name\":\"entity.name.function.attribute.prisma\"}},\"match\":\"(@@?[\\\\w\\\\.]+)\",\"name\":\"source.prisma.attribute\"},\"attribute_with_arguments\":{\"begin\":\"(@@?[\\\\w\\\\.]+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.attribute.prisma\"},\"2\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.attribute.with_arguments\",\"patterns\":[{\"include\":\"#named_argument\"},{\"include\":\"#value\"}]},\"boolean\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.boolean.prisma\"},\"config_block_definition\":{\"begin\":\"^\\\\s*(generator|datasource)\\\\s+([A-Za-z][\\\\w]*)\\\\s+({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.config.prisma\"},\"2\":{\"name\":\"entity.name.type.config.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#multi_line_comment\"},{\"include\":\"#assignment\"}]},\"double_comment\":{\"begin\":\"//\",\"end\":\"$\\\\n?\",\"name\":\"comment.prisma\"},\"double_comment_inline\":{\"match\":\"//[^\\\\n]*\",\"name\":\"comment.prisma\"},\"double_quoted_string\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"string.quoted.double.start.prisma\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"string.quoted.double.end.prisma\"}},\"name\":\"unnamed\",\"patterns\":[{\"include\":\"#string_interpolation\"},{\"match\":\"([\\\\w\\\\-\\\\/\\\\._\\\\\\\\%@:?=]+)\",\"name\":\"string.quoted.double.prisma\"}]},\"enum_block_definition\":{\"begin\":\"^\\\\s*(enum)\\\\s+([A-Za-z][\\\\w]*)\\\\s+({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.enum.prisma\"},\"2\":{\"name\":\"entity.name.type.enum.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#multi_line_comment\"},{\"include\":\"#enum_value_definition\"}]},\"enum_value_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"}},\"match\":\"^\\\\s*(\\\\w+)\\\\s*\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"field_definition\":{\"name\":\"scalar.field\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.other.assignment.prisma\"},\"2\":{\"name\":\"invalid.illegal.colon.prisma\"},\"3\":{\"name\":\"variable.language.relations.prisma\"},\"4\":{\"name\":\"support.type.primitive.prisma\"},\"5\":{\"name\":\"keyword.operator.list_type.prisma\"},\"6\":{\"name\":\"keyword.operator.optional_type.prisma\"},\"7\":{\"name\":\"invalid.illegal.required_type.prisma\"}},\"match\":\"^\\\\s*(\\\\w+)(\\\\s*:)?\\\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\\\b)\\\\b\\\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\\\[\\\\])?(\\\\?)?(!)?\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"functional\":{\"begin\":\"(\\\\w+)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.functional.prisma\"},\"2\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.functional\",\"patterns\":[{\"include\":\"#value\"}]},\"identifier\":{\"patterns\":[{\"match\":\"\\\\b(\\\\w)+\\\\b\",\"name\":\"support.constant.constant.prisma\"}]},\"literal\":{\"name\":\"source.prisma.literal\",\"patterns\":[{\"include\":\"#boolean\"},{\"include\":\"#number\"},{\"include\":\"#double_quoted_string\"},{\"include\":\"#identifier\"}]},\"map_key\":{\"name\":\"source.prisma.key\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"variable.parameter.key.prisma\"},\"2\":{\"name\":\"punctuation.definition.separator.key-value.prisma\"}},\"match\":\"(\\\\w+)\\\\s*(:)\\\\s*\"}]},\"model_block_definition\":{\"begin\":\"^\\\\s*(model|type|view)\\\\s+([A-Za-z][\\\\w]*)\\\\s*({)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.model.prisma\"},\"2\":{\"name\":\"entity.name.type.model.prisma\"},\"3\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.tag.prisma\"}},\"name\":\"source.prisma.embedded.source\",\"patterns\":[{\"include\":\"#triple_comment\"},{\"include\":\"#double_comment\"},{\"include\":\"#multi_line_comment\"},{\"include\":\"#field_definition\"}]},\"multi_line_comment\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.prisma\"},\"named_argument\":{\"name\":\"source.prisma.named_argument\",\"patterns\":[{\"include\":\"#map_key\"},{\"include\":\"#value\"}]},\"number\":{\"match\":\"((0(x|X)[0-9a-fA-F]*)|(\\\\+|-)?\\\\b((\\\\d+\\\\.?\\\\d*)|(\\\\.\\\\d+))((e|E)(\\\\+|-)?\\\\d+)?)([LlFfUuDdg]|UL|ul)?\\\\b\",\"name\":\"constant.numeric.prisma\"},\"string_interpolation\":{\"patterns\":[{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.control.interpolation.start.prisma\"}},\"end\":\"\\\\s*\\\\}\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.interpolation.end.prisma\"}},\"name\":\"source.tag.embedded.source.prisma\",\"patterns\":[{\"include\":\"#value\"}]}]},\"triple_comment\":{\"begin\":\"///\",\"end\":\"$\\\\n?\",\"name\":\"comment.prisma\"},\"type_definition\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.type.prisma\"},\"2\":{\"name\":\"entity.name.type.type.prisma\"},\"3\":{\"name\":\"support.type.primitive.prisma\"}},\"match\":\"^\\\\s*(type)\\\\s+(\\\\w+)\\\\s*=\\\\s*(\\\\w+)\"},{\"include\":\"#attribute_with_arguments\"},{\"include\":\"#attribute\"}]},\"value\":{\"name\":\"source.prisma.value\",\"patterns\":[{\"include\":\"#array\"},{\"include\":\"#functional\"},{\"include\":\"#literal\"}]}},\"scopeName\":\"source.prisma\"}"))
2
2
 
3
3
  export default [
4
4
  lang