shiki 1.9.0 → 1.9.1

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,15 +1,37 @@
1
- const lang = Object.freeze({ "displayName": "GDScript", "fileTypes": ["gd"], "name": "gdscript", "patterns": [{ "include": "#statement" }, { "include": "#expression" }], "repository": { "annotated_parameter": { "begin": "(?x)\n\\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)?\n", "beginCaptures": { "1": { "name": "variable.parameter.function.language.gdscript" }, "2": { "name": "punctuation.separator.annotation.gdscript" }, "3": { "name": "entity.name.type.class.builtin.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_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" }, "any_method": { "match": "\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))", "name": "support.function.any-method.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": "#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": { "match": "(?<![^.]\\.|:)\\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", "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" } }, "match": "(?<!/\\s*)(\\$|%|\\$%)([a-zA-Z_]\\w*)\\b(?!\\s*/)", "name": "meta.literal.nodepath.gdscript" }, "builtin_get_node_shorthand_bare_multi": { "begin": "(\\$|%|\\$%)([a-zA-Z_]\\w*)", "beginCaptures": { "1": { "name": "keyword.control.flow.gdscript" }, "2": { "name": "constant.character.escape.gdscript" } }, "end": "(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)", "name": "meta.literal.nodepath.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": "constant.language.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": "constant.language.gdscript" }, "control_flow": { "match": "\\b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\\b", "name": "keyword.control.gdscript" }, "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": "(?x)\n\\b(?=\n([a-zA-Z_]\\w*) \\s* (\\()\n)\n", "beginCaptures": { "2": { "name": "punctuation.definition.arguments.begin.gdscript" } }, "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": "(?x) \\s*\n(func) \\s+\n([a-zA-Z_]\\w*) \\s*\n(?=\\()", "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" }] }, "function_name": { "patterns": [{ "include": "#builtin_classes" }, { "comment": "Some color schemas support meta.function-call.generic scope", "match": "(?x)\n\\b ([a-zA-Z_]\\w*) \\b\n", "name": "support.function.any-method.gdscript" }] }, "getter_setter_godot4": { "patterns": [{ "captures": { "1": { "name": "entity.name.function.gdscript" } }, "match": "\\b(get):" }, { "begin": "(?x) \\s+\n(set) \\s*\n(?=\\()", "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|preload|assert|breakpoint|rpc|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": `(?x)
1
+ const lang = Object.freeze({ "displayName": "GDScript", "fileTypes": ["gd"], "name": "gdscript", "patterns": [{ "include": "#statement" }, { "include": "#expression" }], "repository": { "annotated_parameter": { "begin": "(?x)\n\\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)?\n", "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_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" }, "any_method": { "match": "\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))", "name": "support.function.any-method.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": "#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(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", "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" } }, "match": "(?<!/\\s*)(\\$|%|\\$%)([a-zA-Z_]\\w*)\\b(?!\\s*/)", "name": "meta.literal.nodepath.gdscript" }, "builtin_get_node_shorthand_bare_multi": { "begin": "(\\$|%|\\$%)([a-zA-Z_]\\w*)", "beginCaptures": { "1": { "name": "keyword.control.flow.gdscript" }, "2": { "name": "constant.character.escape.gdscript" } }, "end": "(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)", "name": "meta.literal.nodepath.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": "constant.language.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": "constant.language.gdscript" }, "control_flow": { "match": "\\b(?:if|elif|else|while|break|continue|pass|return|match|when|yield|await)\\b", "name": "keyword.control.gdscript" }, "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": "(?x)\n\\b(?=\n([a-zA-Z_]\\w*) \\s* (\\()\n)\n", "beginCaptures": { "2": { "name": "punctuation.definition.arguments.begin.gdscript" } }, "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": "(?x) \\s*\n(func) \\s+\n([a-zA-Z_]\\w*) \\s*\n(?=\\()", "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" }] }, "function_name": { "patterns": [{ "include": "#builtin_classes" }, { "comment": "Some color schemas support meta.function-call.generic scope", "match": "(?x)\n\\b ([a-zA-Z_]\\w*) \\b\n", "name": "support.function.any-method.gdscript" }] }, "getter_setter_godot4": { "patterns": [{ "captures": { "1": { "name": "entity.name.function.gdscript" } }, "match": "\\b(get):" }, { "begin": "(?x) \\s+\n(set) \\s*\n(?=\\()", "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|preload|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": `(?x)
2
2
  (?=^\\s*$)
3
3
  |
4
4
  (?! (\\s* [rR]? (\\'\\'\\'|\\"\\"\\"|\\'|\\"))
5
5
  |
6
6
  (\\G $) (?# '\\G' is necessary for ST)
7
7
  )
8
- `, "patterns": [{ "include": "#base_expression" }] }] }, "logic_operator": { "match": "\\b(and|or|not|!)\\b", "name": "keyword.operator.wordlike.gdscript" }, "loose_default": { "begin": "(=)", "beginCaptures": { "1": { "name": "keyword.operator.gdscript" } }, "end": "(,)|(?=\\))", "endCaptures": { "1": { "name": "punctuation.separator.parameters.gdscript" } }, "patterns": [{ "include": "#base_expression" }] }, "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" } }, "end": "(\\))", "endCaptures": { "1": { "name": "punctuation.definition.parameters.end.gdscript" } }, "patterns": [{ "begin": `("|')`, "end": "\\1", "name": "string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape", "patterns": [{ "match": "%", "name": "keyword.control.flow" }] }] }, "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": "[-]?([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.float.gdscript" }, { "match": "[-]?[0-9][0-9_]*", "name": "constant.numeric.integer.gdscript" }] }, "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": "(?x)\n([a-zA-Z_]\\w*)\n\\s* (?: (,) | (?=[)#\\n=]))\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": "(?x) \\s*\n(signal) \\s+\n([a-zA-Z_]\\w*) \\s*\n(?=\\()", "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": "(?x) \\s*\n(signal) \\s+\n([a-zA-Z_]\\w*)(?=[\\n\\s])", "name": "meta.signal.gdscript" }, "statement": { "patterns": [{ "include": "#extends_statement" }] }, "statement_keyword": { "patterns": [{ "match": "(?x)\n\\b(?<!\\.)(\ncontinue | assert | break | elif | else | if | pass | return | while )\\b\n", "name": "keyword.control.flow.gdscript" }, { "match": "\\b(?<!\\.)(class)\\b", "name": "storage.type.class.gdscript" }, { "captures": { "1": { "name": "keyword.control.flow.gdscript" } }, "match": `(?x)
8
+ `, "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" }] }, "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" } }, "end": "(\\))", "endCaptures": { "1": { "name": "punctuation.definition.parameters.end.gdscript" } }, "patterns": [{ "begin": `("|')`, "end": "\\1", "name": "string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape", "patterns": [{ "match": "%", "name": "keyword.control.flow" }] }] }, "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": "[-]?([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.float.gdscript" }, { "match": "[-]?[0-9][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": "(?x)\n([a-zA-Z_]\\w*)\n\\s* (?: (,) | (?=[)#\\n=]))\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": "(?x) \\s*\n(signal) \\s+\n([a-zA-Z_]\\w*) \\s*\n(?=\\()", "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": "(?x) \\s*\n(signal) \\s+\n([a-zA-Z_]\\w*)(?=[\\n\\s])", "name": "meta.signal.gdscript" }, "statement": { "patterns": [{ "include": "#extends_statement" }] }, "statement_keyword": { "patterns": [{ "match": "(?x)\n\\b(?<!\\.)(\ncontinue | assert | break | elif | else | if | pass | return | while )\\b\n", "name": "keyword.control.flow.gdscript" }, { "match": "\\b(?<!\\.)(class)\\b", "name": "storage.type.class.gdscript" }, { "captures": { "1": { "name": "keyword.control.flow.gdscript" } }, "match": `(?x)
9
9
  ^\\s*(
10
10
  case | match
11
11
  )(?=\\s*([-+\\w\\d(\\[{'":#]|$))\\b
12
- ` }] }, "string_formatting": { "captures": { "1": { "name": "constant.character.format.placeholder.other.gdscript" } }, "match": "(?x)\n(\n% (\\([\\w\\s]*\\))?\n[-+#0 ]*\n(\\d+|\\*)? (\\.(\\d+|\\*))?\n([hlL])?\n[diouxXeEfFgGcrsab%]\n)\n", "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_formatting" }] }, "variable_declaration": { "begin": "\\b(?:(var)|(const))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*", "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" } }, "end": "$|;", "name": "meta.variable.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" }] } }, "scopeName": "source.gdscript" });
12
+ ` }] }, "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": `(?x)
13
+ (
14
+ {{ | }}
15
+ | (?:
16
+ {
17
+ \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
18
+ (![rsa])?
19
+ ( : \\w? [<>=^]? [-+ ]? \\#?
20
+ \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?
21
+ })
22
+ )
23
+ `, "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": `(?x)
24
+ (
25
+ {
26
+ \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'"]+\\])*
27
+ (![rsa])?
28
+ (:)
29
+ [^'"{}\\n]* (?:
30
+ \\{ [^'"}\\n]*? \\} [^'"{}\\n]*
31
+ )*
32
+ }
33
+ )
34
+ `, "name": "meta.format.brace.gdscript" }] }, "string_percent_placeholders": { "captures": { "1": { "name": "constant.character.format.placeholder.other.gdscript" } }, "match": "(?x)\n(\n% (\\([\\w\\s]*\\))?\n[-+#0 ]*\n(\\d+|\\*)? (\\.(\\d+|\\*))?\n([hlL])?\n[diouxXeEfFgGcrsab%]\n)\n", "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))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*", "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" } }, "end": "$|;", "name": "meta.variable.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" });
13
35
  var gdscript = [
14
36
  lang
15
37
  ];
@@ -23,7 +23,7 @@ import vue_directives from './vue-directives.mjs';
23
23
  import vue_interpolations from './vue-interpolations.mjs';
24
24
  import vue_sfc_style_variable_injection from './vue-sfc-style-variable-injection.mjs';
25
25
 
26
- const lang = Object.freeze({ "displayName": "Vue", "name": "vue", "patterns": [{ "include": "text.html.basic#comment" }, { "include": "#self-closing-tag" }, { "begin": "(<)", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" } }, "end": "(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "patterns": [{ "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)md\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.html.markdown", "patterns": [{ "include": "text.html.markdown" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)html\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.html.derivative", "patterns": [{ "include": "#html-stuff" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)pug\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.pug", "patterns": [{ "include": "text.pug" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)stylus\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.stylus", "patterns": [{ "include": "source.stylus" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)postcss\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.postcss", "patterns": [{ "include": "source.postcss" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)sass\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.sass", "patterns": [{ "include": "source.sass" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)css\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css", "patterns": [{ "include": "source.css" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)scss\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css.scss", "patterns": [{ "include": "source.css.scss" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)less\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css.less", "patterns": [{ "include": "source.css.less" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)js\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.js", "patterns": [{ "include": "source.js" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)ts\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.ts", "patterns": [{ "include": "source.ts" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsx\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.js.jsx", "patterns": [{ "include": "source.js.jsx" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)tsx\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.tsx", "patterns": [{ "include": "source.tsx" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)coffee\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.coffee", "patterns": [{ "include": "source.coffee" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json", "patterns": [{ "include": "source.json" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsonc\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json.comments", "patterns": [{ "include": "source.json.comments" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json5\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json5", "patterns": [{ "include": "source.json5" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)yaml\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.yaml", "patterns": [{ "include": "source.yaml" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)toml\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.toml", "patterns": [{ "include": "source.toml" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)(gql|graphql)\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.graphql", "patterns": [{ "include": "source.graphql" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)vue\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.vue", "patterns": [{ "include": "source.vue" }] }] }, { "begin": "(template)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/template\\b)", "name": "text.html.derivative", "patterns": [{ "include": "#html-stuff" }] }] }, { "begin": "(script)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/script\\b)", "name": "source.js", "patterns": [{ "include": "source.js" }] }] }, { "begin": "(style)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/style\\b)", "name": "source.css", "patterns": [{ "include": "source.css" }] }] }, { "begin": "([a-zA-Z0-9:-]+)", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text" }] }] }], "repository": { "html-stuff": { "patterns": [{ "include": "#template-tag" }, { "include": "text.html.derivative" }, { "include": "text.html.basic" }] }, "self-closing-tag": { "begin": "(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "end": "(/>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "self-closing-tag", "patterns": [{ "include": "#tag-stuff" }] }, "tag-stuff": { "begin": "\\G", "end": "(?=/>)|(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.tag-stuff", "patterns": [{ "include": "#vue-directives" }, { "include": "text.html.basic#attribute" }] }, "template-tag": { "patterns": [{ "include": "#template-tag-1" }, { "include": "#template-tag-2" }] }, "template-tag-1": { "begin": "(<)(template)\\b(>)", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" }, "3": { "name": "punctuation.definition.tag.end.html.vue" } }, "end": "(/?>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.template-tag.start", "patterns": [{ "begin": "\\G", "end": "(?=/>)|((</)(template)\\b)", "endCaptures": { "2": { "name": "punctuation.definition.tag.begin.html.vue" }, "3": { "name": "entity.name.tag.$3.html.vue" } }, "name": "meta.template-tag.end", "patterns": [{ "include": "#html-stuff" }] }] }, "template-tag-2": { "begin": "(<)(template)\\b", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "end": "(/?>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.template-tag.start", "patterns": [{ "begin": "\\G", "end": "(?=/>)|((</)(template)\\b)", "endCaptures": { "2": { "name": "punctuation.definition.tag.begin.html.vue" }, "3": { "name": "entity.name.tag.$3.html.vue" } }, "name": "meta.template-tag.end", "patterns": [{ "include": "#tag-stuff" }, { "include": "#html-stuff" }] }] }, "vue-directives": { "patterns": [{ "include": "#vue-directives-control" }, { "include": "#vue-directives-style-attr" }, { "include": "#vue-directives-original" }, { "include": "#vue-directives-generic-attr" }] }, "vue-directives-control": { "begin": "(v-for)|(v-if|v-else-if|v-else)", "captures": { "1": { "name": "keyword.control.loop.vue" }, "2": { "name": "keyword.control.conditional.vue" } }, "end": "(?=\\s*+[^=\\s])", "name": "meta.attribute.directive.control.vue", "patterns": [{ "include": "#vue-directives-expression" }] }, "vue-directives-expression": { "patterns": [{ "begin": "(=)\\s*('|\"|`)", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.html.vue" }, "2": { "name": "punctuation.definition.string.begin.html.vue" } }, "end": "(\\2)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "patterns": [{ "begin": "(?<=('|\"|`))", "end": "(?=\\1)", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }, { "begin": "(=)\\s*(?=[^'\"`])", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.html.vue" } }, "end": "(?=(\\s|>|\\/>))", "patterns": [{ "begin": "(?=[^'\"`])", "end": "(?=(\\s|>|\\/>))", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }] }, "vue-directives-generic-attr": { "begin": "\\b(generic)\\s*(=)", "captures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.separator.key-value.html.vue" } }, "end": `(?<='|")`, "name": "meta.attribute.generic.vue", "patterns": [{ "begin": `('|")`, "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.html.vue" } }, "comment": "https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020", "end": "(\\1)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "meta.type.parameters.vue", "patterns": [{ "include": "source.ts#comment" }, { "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))", "name": "storage.modifier.ts" }, { "include": "source.ts#type" }, { "include": "source.ts#punctuation-comma" }, { "match": "(=)(?!>)", "name": "keyword.operator.assignment.ts" }] }] }, "vue-directives-original": { "begin": "(?:\\b(v-)|([:\\.])|(@)|(#))(\\[?)([\\w\\-]*)(\\]?)(?:\\.([\\w\\-]*))*", "beginCaptures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.attribute-shorthand.bind.html.vue" }, "3": { "name": "punctuation.attribute-shorthand.event.html.vue" }, "4": { "name": "punctuation.attribute-shorthand.slot.html.vue" }, "5": { "name": "punctuation.separator.key-value.html.vue" }, "6": { "name": "entity.other.attribute-name.html.vue" }, "7": { "name": "punctuation.separator.key-value.html.vue" }, "8": { "name": "entity.other.attribute-name.html.vue" }, "9": { "name": "punctuation.separator.key-value.html.vue" } }, "end": "(?=\\s*+[^=\\s])", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "meta.attribute.directive.vue", "patterns": [{ "include": "#vue-directives-expression" }] }, "vue-directives-style-attr": { "begin": "\\b(style)\\s*(=)", "captures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.separator.key-value.html.vue" } }, "end": `(?<='|")`, "name": "meta.attribute.style.vue", "patterns": [{ "begin": `('|")`, "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.html.vue" } }, "comment": "Copy from source.css#rule-list-innards", "end": "(\\1)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "source.css.embedded.html.vue", "patterns": [{ "include": "source.css#comment-block" }, { "include": "source.css#escapes" }, { "include": "source.css#font-features" }, { "match": "(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*", "name": "variable.css" }, { "begin": "(?<![-a-zA-Z])(?=[-a-zA-Z])", "end": "$|(?![-a-zA-Z])", "name": "meta.property-name.css", "patterns": [{ "include": "source.css#property-names" }] }, { "begin": "(:)\\s*", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.css" } }, "comment": "Modify end to fix #199. TODO: handle ' character.", "contentName": "meta.property-value.css", "end": `\\s*(;)|\\s*(?='|")`, "endCaptures": { "1": { "name": "punctuation.terminator.rule.css" } }, "patterns": [{ "include": "source.css#comment-block" }, { "include": "source.css#property-values" }] }, { "match": ";", "name": "punctuation.terminator.rule.css" }] }] }, "vue-interpolations": { "patterns": [{ "begin": "(\\{\\{)", "beginCaptures": { "1": { "name": "punctuation.definition.interpolation.begin.html.vue" } }, "end": "(\\}\\})", "endCaptures": { "1": { "name": "punctuation.definition.interpolation.end.html.vue" } }, "name": "expression.embedded.vue", "patterns": [{ "begin": "\\G", "end": "(?=\\}\\})", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }] } }, "scopeName": "source.vue", "embeddedLangs": ["html", "markdown", "pug", "stylus", "sass", "css", "scss", "less", "javascript", "typescript", "jsx", "tsx", "coffee", "json", "jsonc", "json5", "yaml", "toml", "graphql", "html-derivative", "markdown-vue", "vue-directives", "vue-interpolations", "vue-sfc-style-variable-injection"] });
26
+ const lang = Object.freeze({ "displayName": "Vue", "name": "vue", "patterns": [{ "include": "text.html.basic#comment" }, { "include": "#self-closing-tag" }, { "begin": "(<)", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" } }, "end": "(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "patterns": [{ "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)md\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.html.markdown", "patterns": [{ "include": "text.html.markdown" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)html\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.html.derivative", "patterns": [{ "include": "#html-stuff" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)pug\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text.pug", "patterns": [{ "include": "text.pug" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)stylus\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.stylus", "patterns": [{ "include": "source.stylus" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)postcss\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.postcss", "patterns": [{ "include": "source.postcss" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)sass\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.sass", "patterns": [{ "include": "source.sass" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)css\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css", "patterns": [{ "include": "source.css" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)scss\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css.scss", "patterns": [{ "include": "source.css.scss" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)less\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.css.less", "patterns": [{ "include": "source.css.less" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)js\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.js", "patterns": [{ "include": "source.js" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)ts\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.ts", "patterns": [{ "include": "source.ts" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsx\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.js.jsx", "patterns": [{ "include": "source.js.jsx" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)tsx\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.tsx", "patterns": [{ "include": "source.tsx" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)coffee\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.coffee", "patterns": [{ "include": "source.coffee" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json", "patterns": [{ "include": "source.json" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)jsonc\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json.comments", "patterns": [{ "include": "source.json.comments" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)json5\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.json5", "patterns": [{ "include": "source.json5" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)yaml\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.yaml", "patterns": [{ "include": "source.yaml" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)toml\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.toml", "patterns": [{ "include": "source.toml" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)(gql|graphql)\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.graphql", "patterns": [{ "include": "source.graphql" }] }] }, { "begin": `([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['"]?)vue\\b\\2)`, "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "source.vue", "patterns": [{ "include": "source.vue" }] }] }, { "begin": "(template)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/template\\b)", "name": "text.html.derivative", "patterns": [{ "include": "#html-stuff" }] }] }, { "begin": "(script)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/script\\b)", "name": "source.js", "patterns": [{ "include": "source.js" }] }] }, { "begin": "(style)\\b", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/style\\b)", "name": "source.css", "patterns": [{ "include": "source.css" }] }] }, { "begin": "([a-zA-Z0-9:-]+)", "beginCaptures": { "1": { "name": "entity.name.tag.$1.html.vue" } }, "end": "(</)(\\1)\\s*(?=>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "patterns": [{ "include": "#tag-stuff" }, { "begin": "(?<=>)", "end": "(?=<\\/)", "name": "text" }] }] }], "repository": { "html-stuff": { "patterns": [{ "include": "#template-tag" }, { "include": "text.html.derivative" }, { "include": "text.html.basic" }] }, "self-closing-tag": { "begin": "(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "end": "(/>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "self-closing-tag", "patterns": [{ "include": "#tag-stuff" }] }, "tag-stuff": { "begin": "\\G", "end": "(?=/>)|(>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.tag-stuff", "patterns": [{ "include": "#vue-directives" }, { "include": "text.html.basic#attribute" }] }, "template-tag": { "patterns": [{ "include": "#template-tag-1" }, { "include": "#template-tag-2" }] }, "template-tag-1": { "begin": "(<)(template)\\b(>)", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" }, "3": { "name": "punctuation.definition.tag.end.html.vue" } }, "end": "(/?>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.template-tag.start", "patterns": [{ "begin": "\\G", "end": "(?=/>)|((</)(template)\\b)", "endCaptures": { "2": { "name": "punctuation.definition.tag.begin.html.vue" }, "3": { "name": "entity.name.tag.$3.html.vue" } }, "name": "meta.template-tag.end", "patterns": [{ "include": "#html-stuff" }] }] }, "template-tag-2": { "begin": "(<)(template)\\b", "beginCaptures": { "1": { "name": "punctuation.definition.tag.begin.html.vue" }, "2": { "name": "entity.name.tag.$2.html.vue" } }, "end": "(/?>)", "endCaptures": { "1": { "name": "punctuation.definition.tag.end.html.vue" } }, "name": "meta.template-tag.start", "patterns": [{ "begin": "\\G", "end": "(?=/>)|((</)(template)\\b)", "endCaptures": { "2": { "name": "punctuation.definition.tag.begin.html.vue" }, "3": { "name": "entity.name.tag.$3.html.vue" } }, "name": "meta.template-tag.end", "patterns": [{ "include": "#tag-stuff" }, { "include": "#html-stuff" }] }] }, "vue-directives": { "patterns": [{ "include": "#vue-directives-control" }, { "include": "#vue-directives-style-attr" }, { "include": "#vue-directives-original" }, { "include": "#vue-directives-generic-attr" }] }, "vue-directives-control": { "begin": "(v-for)|(v-if|v-else-if|v-else)", "captures": { "1": { "name": "keyword.control.loop.vue" }, "2": { "name": "keyword.control.conditional.vue" } }, "end": "(?=\\s*+[^=\\s])", "name": "meta.attribute.directive.control.vue", "patterns": [{ "include": "#vue-directives-expression" }] }, "vue-directives-expression": { "patterns": [{ "begin": "(=)\\s*('|\"|`)", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.html.vue" }, "2": { "name": "punctuation.definition.string.begin.html.vue" } }, "end": "(\\2)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "patterns": [{ "begin": "(?<=('|\"|`))", "end": "(?=\\1)", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }, { "begin": "(=)\\s*(?=[^'\"`])", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.html.vue" } }, "end": "(?=(\\s|>|\\/>))", "patterns": [{ "begin": "(?=[^'\"`])", "end": "(?=(\\s|>|\\/>))", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }] }, "vue-directives-generic-attr": { "begin": "\\b(generic)\\s*(=)", "captures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.separator.key-value.html.vue" } }, "end": `(?<='|")`, "name": "meta.attribute.generic.vue", "patterns": [{ "begin": `('|")`, "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.html.vue" } }, "comment": "https://github.com/microsoft/vscode/blob/fd4346210f59135fad81a8b8c4cea7bf5a9ca6b4/extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json#L4002-L4020", "end": "(\\1)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "meta.type.parameters.vue", "patterns": [{ "include": "source.ts#comment" }, { "match": "(?<![_$[:alnum:]])(?:(?<=\\.\\.\\.)|(?<!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))", "name": "storage.modifier.ts" }, { "include": "source.ts#type" }, { "include": "source.ts#punctuation-comma" }, { "match": "(=)(?!>)", "name": "keyword.operator.assignment.ts" }] }] }, "vue-directives-original": { "begin": "(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?", "beginCaptures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.separator.key-value.html.vue" }, "3": { "name": "punctuation.attribute-shorthand.bind.html.vue" }, "4": { "name": "punctuation.attribute-shorthand.event.html.vue" }, "5": { "name": "punctuation.attribute-shorthand.slot.html.vue" }, "6": { "name": "punctuation.separator.key-value.html.vue" }, "7": { "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }, "8": { "name": "punctuation.separator.key-value.html.vue" }, "9": { "name": "entity.other.attribute-name.html.vue" } }, "end": "(?=\\s*[^=\\s])", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "meta.attribute.directive.vue", "patterns": [{ "1": { "name": "punctuation.separator.key-value.html.vue" }, "2": { "name": "entity.other.attribute-name.html.vue" }, "match": "(\\.)([\\w-]*)" }, { "include": "#vue-directives-expression" }] }, "vue-directives-style-attr": { "begin": "\\b(style)\\s*(=)", "captures": { "1": { "name": "entity.other.attribute-name.html.vue" }, "2": { "name": "punctuation.separator.key-value.html.vue" } }, "end": `(?<='|")`, "name": "meta.attribute.style.vue", "patterns": [{ "begin": `('|")`, "beginCaptures": { "1": { "name": "punctuation.definition.string.begin.html.vue" } }, "comment": "Copy from source.css#rule-list-innards", "end": "(\\1)", "endCaptures": { "1": { "name": "punctuation.definition.string.end.html.vue" } }, "name": "source.css.embedded.html.vue", "patterns": [{ "include": "source.css#comment-block" }, { "include": "source.css#escapes" }, { "include": "source.css#font-features" }, { "match": "(?x) (?<![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F])\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F]\n|\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*", "name": "variable.css" }, { "begin": "(?<![-a-zA-Z])(?=[-a-zA-Z])", "end": "$|(?![-a-zA-Z])", "name": "meta.property-name.css", "patterns": [{ "include": "source.css#property-names" }] }, { "begin": "(:)\\s*", "beginCaptures": { "1": { "name": "punctuation.separator.key-value.css" } }, "comment": "Modify end to fix #199. TODO: handle ' character.", "contentName": "meta.property-value.css", "end": `\\s*(;)|\\s*(?='|")`, "endCaptures": { "1": { "name": "punctuation.terminator.rule.css" } }, "patterns": [{ "include": "source.css#comment-block" }, { "include": "source.css#property-values" }] }, { "match": ";", "name": "punctuation.terminator.rule.css" }] }] }, "vue-interpolations": { "patterns": [{ "begin": "(\\{\\{)", "beginCaptures": { "1": { "name": "punctuation.definition.interpolation.begin.html.vue" } }, "end": "(\\}\\})", "endCaptures": { "1": { "name": "punctuation.definition.interpolation.end.html.vue" } }, "name": "expression.embedded.vue", "patterns": [{ "begin": "\\G", "end": "(?=\\}\\})", "name": "source.ts.embedded.html.vue", "patterns": [{ "include": "source.ts#expression" }] }] }] } }, "scopeName": "source.vue", "embeddedLangs": ["html", "markdown", "pug", "stylus", "sass", "css", "scss", "less", "javascript", "typescript", "jsx", "tsx", "coffee", "json", "jsonc", "json5", "yaml", "toml", "graphql", "html-derivative", "markdown-vue", "vue-directives", "vue-interpolations", "vue-sfc-style-variable-injection"] });
27
27
  var vue = [
28
28
  ...html,
29
29
  ...markdown,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shiki",
3
3
  "type": "module",
4
- "version": "1.9.0",
4
+ "version": "1.9.1",
5
5
  "description": "A beautiful Syntax Highlighter.",
6
6
  "author": "Pine Wu <octref@gmail.com>; Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -92,10 +92,10 @@
92
92
  "dist"
93
93
  ],
94
94
  "dependencies": {
95
- "@shikijs/core": "1.9.0"
95
+ "@shikijs/core": "1.9.1"
96
96
  },
97
97
  "devDependencies": {
98
- "tm-grammars": "^1.12.10",
98
+ "tm-grammars": "^1.12.12",
99
99
  "tm-themes": "^1.4.3",
100
100
  "vscode-oniguruma": "^1.7.0"
101
101
  },