github-linguist 8.0.1 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/go.mod.json +1 -1
  3. data/grammars/markdown.vue.codeblock.json +1 -0
  4. data/grammars/mdx.vue.codeblock.json +1 -0
  5. data/grammars/source.QB64.json +1 -0
  6. data/grammars/source.abap.json +1 -1
  7. data/grammars/source.abl.json +1 -1
  8. data/grammars/source.angelscript.json +1 -1
  9. data/grammars/source.basic.json +1 -1
  10. data/grammars/source.bb.json +1 -1
  11. data/grammars/source.brs.json +1 -1
  12. data/grammars/source.bsl.json +1 -1
  13. data/grammars/source.cmake.json +1 -1
  14. data/grammars/source.cmakecache.json +1 -0
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.dart.json +1 -1
  17. data/grammars/source.fsharp.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.graphql.json +1 -1
  20. data/grammars/source.hcl.json +1 -1
  21. data/grammars/source.hcl.terraform.json +1 -1
  22. data/grammars/source.julia.json +1 -1
  23. data/grammars/source.just.json +1 -1
  24. data/grammars/source.luau.json +1 -1
  25. data/grammars/source.matlab.json +1 -1
  26. data/grammars/source.mdx.astro.json +1 -0
  27. data/grammars/source.mdx.json +1 -1
  28. data/grammars/source.moonbit.json +1 -0
  29. data/grammars/source.msg.json +1 -0
  30. data/grammars/source.ned.json +1 -0
  31. data/grammars/source.nushell.json +1 -1
  32. data/grammars/source.odin.json +1 -1
  33. data/grammars/source.openesql.json +1 -0
  34. data/grammars/source.p4.json +1 -1
  35. data/grammars/source.polar.json +1 -1
  36. data/grammars/source.powerbuilder.json +1 -1
  37. data/grammars/source.rescript.json +1 -1
  38. data/grammars/source.rpgle.json +1 -1
  39. data/grammars/source.scala.json +1 -1
  40. data/grammars/source.sdbl.json +1 -1
  41. data/grammars/source.tact.json +1 -0
  42. data/grammars/source.toc.json +1 -1
  43. data/grammars/source.ts.json +1 -1
  44. data/grammars/source.tsp.json +1 -0
  45. data/grammars/source.tsx.json +1 -1
  46. data/grammars/source.vba.json +1 -1
  47. data/grammars/source.vue.json +1 -0
  48. data/grammars/source.wdl.json +1 -1
  49. data/grammars/text.adblock.json +1 -1
  50. data/grammars/text.md.json +1 -1
  51. data/grammars/version +1 -1
  52. data/grammars/vue.directives.json +1 -0
  53. data/grammars/vue.interpolations.json +1 -0
  54. data/grammars/vue.sfc.style.variable.injection.json +1 -0
  55. data/lib/linguist/VERSION +1 -1
  56. data/lib/linguist/generated.rb +31 -0
  57. data/lib/linguist/generic.yml +1 -0
  58. data/lib/linguist/heuristics.yml +55 -11
  59. data/lib/linguist/languages.json +1 -1
  60. data/lib/linguist/languages.yml +93 -3
  61. data/lib/linguist/lazy_blob.rb +15 -7
  62. data/lib/linguist/repository.rb +18 -13
  63. data/lib/linguist/samples.json +1 -1
  64. data/lib/linguist/source/diff.rb +72 -0
  65. data/lib/linguist/source/repository.rb +64 -0
  66. data/lib/linguist/source/rugged.rb +95 -0
  67. metadata +21 -6
  68. data/grammars/source.cache.cmake.json +0 -1
  69. data/grammars/text.html.vue.json +0 -1
  70. data/grammars/text.mdx.astro.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|\\^=|/=|%=|\u0026=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(##|#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!=|!"},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?=\\b[a-zA-Z_]\\w*\\b\\()","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
1
+ {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"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","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|\\^=|/=|%=|\u0026=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.bare.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.bare.gdscript","begin":"(\\$\\s*|%|\\$%\\s*)(/\\s*)?([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$|%)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(##|#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!=|!"},"const_vars":{"name":"variable.other.constant.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?=\\b[a-zA-Z_]\\w*\\b\\()","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:)","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[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":"(?x)\n (?\u003c! \\w)(?:\n (?:\n \\.[0-9](?: _?[0-9] )*\n |\n [0-9](?: _?[0-9] )* \\. [0-9](?: _?[0-9] )*\n |\n [0-9](?: _?[0-9] )* \\.\n ) (?: [eE][+-]?[0-9](?: _?[0-9] )* )?\n |\n [0-9](?: _?[0-9] )* (?: [eE][+-]?[0-9](?: _?[0-9] )* )\n )([jJ])?\\b\n","captures":{"1":{"name":"storage.type.imaginary.number.gdscript"}}},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
@@ -1 +1 @@
1
- {"name":"GraphQL","scopeName":"source.graphql","patterns":[{"include":"#graphql"}],"repository":{"graphql":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-fragment-definition"},{"include":"#graphql-directive-definition"},{"include":"#graphql-type-interface"},{"include":"#graphql-enum"},{"include":"#graphql-scalar"},{"include":"#graphql-union"},{"include":"#graphql-schema"},{"include":"#graphql-operation-def"},{"include":"#literal-quasi-embedded"}]},"graphql-ampersand":{"match":"\\s*(\u0026)","captures":{"1":{"name":"keyword.operator.logical.graphql"}}},"graphql-arguments":{"name":"meta.arguments.graphql","begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))","end":"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-value"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"},"2":{"name":"punctuation.colon.graphql"}},"endCaptures":{"3":{"name":"punctuation.comma.graphql"}}},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"endCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}}},"graphql-boolean-value":{"match":"\\s*\\b(true|false)\\b","captures":{"1":{"name":"constant.language.boolean.graphql"}}},"graphql-colon":{"match":"\\s*(:)","captures":{"1":{"name":"punctuation.colon.graphql"}}},"graphql-comma":{"match":"\\s*(,)","captures":{"1":{"name":"punctuation.comma.graphql"}}},"graphql-comment":{"patterns":[{"name":"comment.line.graphql.js","match":"(\\s*)(#).*","captures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\"\"\")","end":"(\"\"\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\")","end":"(\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}}]},"graphql-description-docstring":{"name":"comment.block.graphql","begin":"\"\"\"","end":"\"\"\""},"graphql-description-singleline":{"name":"comment.line.number-sign.graphql","match":"#(?=([^\"]*\"[^\"]*\")*[^\"]*$).*$"},"graphql-directive":{"begin":"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-arguments"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"entity.name.function.directive.graphql"}},"applyEndPatternLast":true},"graphql-directive-definition":{"begin":"\\s*(\\bdirective\\b)\\s*(@[_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-variable-definitions"},{"begin":"\\s*(\\bon\\b)\\s*([_A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z]*)","captures":{"2":{"name":"support.type.location.graphql"}}}],"beginCaptures":{"1":{"name":"keyword.on.graphql"},"2":{"name":"support.type.location.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"keyword.directive.graphql"},"2":{"name":"entity.name.function.directive.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-enum":{"name":"meta.enum.graphql","begin":"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?\u003c=})","patterns":[{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-enum-value"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"}],"beginCaptures":{"1":{"name":"keyword.enum.graphql"},"2":{"name":"support.type.enum.graphql"}}},"graphql-enum-value":{"name":"constant.character.enum.graphql","match":"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)"},"graphql-field":{"patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)","captures":{"1":{"name":"string.unquoted.alias.graphql"},"2":{"name":"punctuation.colon.graphql"}}},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},{"include":"#graphql-arguments"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-float-value":{"match":"\\s*(-?(0|[1-9][0-9]*)(\\.[0-9]+)?((e|E)(\\+|-)?[0-9]+)?)","captures":{"1":{"name":"constant.numeric.float.graphql"}}},"graphql-fragment-definition":{"name":"meta.fragment.graphql","begin":"\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?)","end":"(?\u003c=})","patterns":[{"match":"\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))","captures":{"1":{"name":"keyword.on.graphql"},"2":{"name":"support.type.graphql"}}},{"include":"#graphql-variable-definitions"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.fragment.graphql"},"2":{"name":"entity.name.fragment.graphql"}}},"graphql-fragment-spread":{"begin":"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-arguments"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"variable.fragment.graphql"}},"applyEndPatternLast":true},"graphql-ignore-spaces":{"match":"\\s*"},"graphql-inline-fragment":{"begin":"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-input-types":{"patterns":[{"include":"#graphql-scalar-type"},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?","captures":{"1":{"name":"support.type.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},{"name":"meta.type.list.graphql","begin":"\\s*(\\[)","end":"\\s*(\\])(?:\\s*(!))?","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-input-types"},{"include":"#graphql-comma"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.square.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}}]},"graphql-list-value":{"patterns":[{"name":"meta.listvalues.graphql","begin":"\\s*+(\\[)","end":"\\s*(\\])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.square.graphql"}},"endCaptures":{"1":{"name":"meta.brace.square.graphql"}}}]},"graphql-name":{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"entity.name.function.graphql"}}},"graphql-null-value":{"match":"\\s*\\b(null)\\b","captures":{"1":{"name":"constant.language.null.graphql"}}},"graphql-object-field":{"match":"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)","captures":{"1":{"name":"constant.object.key.graphql"},"2":{"name":"string.unquoted.graphql"},"3":{"name":"punctuation.graphql"}}},"graphql-object-value":{"patterns":[{"name":"meta.objectvalues.graphql","begin":"\\s*+({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-field"},{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"endCaptures":{"1":{"name":"meta.brace.curly.graphql"}}}]},"graphql-operation-def":{"patterns":[{"include":"#graphql-query-mutation"},{"include":"#graphql-name"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"}]},"graphql-query-mutation":{"match":"\\s*\\b(query|mutation)\\b","captures":{"1":{"name":"keyword.operation.graphql"}}},"graphql-scalar":{"match":"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"keyword.scalar.graphql"},"2":{"name":"entity.scalar.graphql"}}},"graphql-scalar-type":{"match":"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?","captures":{"1":{"name":"support.type.builtin.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},"graphql-schema":{"begin":"\\s*\\b(schema)\\b","end":"(?\u003c=})","patterns":[{"begin":"\\s*({)","end":"\\s*(})","patterns":[{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-colon"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.arguments.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"keyword.schema.graphql"}}},"graphql-selection-set":{"name":"meta.selectionset.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-field"},{"include":"#graphql-fragment-spread"},{"include":"#graphql-inline-fragment"},{"include":"#graphql-comma"},{"include":"#native-interpolation"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-skip-newlines":{"match":"\\s*\n"},"graphql-string-content":{"patterns":[{"name":"constant.character.escape.graphql","match":"\\\\[/'\"\\\\nrtbf]"},{"name":"constant.character.escape.graphql","match":"\\\\u([0-9a-fA-F]{4})"}]},"graphql-string-value":{"contentName":"string.quoted.double.graphql","begin":"\\s*+((\"))","end":"\\s*+(?:((\"))|(\n))","patterns":[{"include":"#graphql-string-content"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"endCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"},"3":{"name":"invalid.illegal.newline.graphql"}}},"graphql-type-definition":{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-type-object"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"variable.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-type-interface":{"name":"meta.type.interface.graphql","begin":"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?","end":"(?=.)","patterns":[{"begin":"\\s*\\b(implements)\\b\\s*","end":"\\s*(?={)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-ampersand"},{"include":"#graphql-comma"}],"beginCaptures":{"1":{"name":"keyword.implements.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-type-object"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-ignore-spaces"}],"captures":{"1":{"name":"keyword.type.graphql"},"2":{"name":"keyword.type.graphql"},"3":{"name":"keyword.interface.graphql"},"4":{"name":"keyword.input.graphql"},"5":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-type-object":{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-object-type"},{"include":"#graphql-type-definition"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-union":{"begin":"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"begin":"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"punctuation.or.graphql"},"2":{"name":"support.type.graphql"}}}],"captures":{"1":{"name":"punctuation.assignment.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.union.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-union-mark":{"match":"\\s*(\\|)","captures":{"1":{"name":"punctuation.union.graphql"}}},"graphql-value":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-variable-name"},{"include":"#graphql-float-value"},{"include":"#graphql-string-value"},{"include":"#graphql-boolean-value"},{"include":"#graphql-null-value"},{"include":"#graphql-enum-value"},{"include":"#graphql-list-value"},{"include":"#graphql-object-value"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-assignment":{"begin":"\\s(=)","end":"(?=[\n,)])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"punctuation.assignment.graphql"}},"applyEndPatternLast":true},"graphql-variable-definition":{"name":"meta.variables.graphql","begin":"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#graphql-variable-assignment"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-variable-definitions":{"begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-variable-definition"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.round.graphql"}}},"graphql-variable-name":{"match":"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},"native-interpolation":{"name":"native.interpolation","begin":"\\s*(\\${)","end":"(})","patterns":[{"include":"source.js"},{"include":"source.ts"},{},{"include":"source.tsx"}],"beginCaptures":{"1":{"name":"keyword.other.substitution.begin"}},"endCaptures":{"1":{"name":"keyword.other.substitution.end"}}}}}
1
+ {"name":"GraphQL","scopeName":"source.graphql","patterns":[{"include":"#graphql"}],"repository":{"graphql":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-fragment-definition"},{"include":"#graphql-directive-definition"},{"include":"#graphql-type-interface"},{"include":"#graphql-enum"},{"include":"#graphql-scalar"},{"include":"#graphql-union"},{"include":"#graphql-schema"},{"include":"#graphql-operation-def"},{"include":"#literal-quasi-embedded"}]},"graphql-ampersand":{"match":"\\s*(\u0026)","captures":{"1":{"name":"keyword.operator.logical.graphql"}}},"graphql-arguments":{"name":"meta.arguments.graphql","begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))","end":"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-value"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"},"2":{"name":"punctuation.colon.graphql"}},"endCaptures":{"3":{"name":"punctuation.comma.graphql"}}},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"endCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}}},"graphql-boolean-value":{"match":"\\s*\\b(true|false)\\b","captures":{"1":{"name":"constant.language.boolean.graphql"}}},"graphql-colon":{"match":"\\s*(:)","captures":{"1":{"name":"punctuation.colon.graphql"}}},"graphql-comma":{"match":"\\s*(,)","captures":{"1":{"name":"punctuation.comma.graphql"}}},"graphql-comment":{"patterns":[{"name":"comment.line.graphql.js","match":"(\\s*)(#).*","captures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\"\"\")","end":"(\"\"\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\")","end":"(\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}}]},"graphql-description-docstring":{"name":"comment.block.graphql","begin":"\"\"\"","end":"\"\"\""},"graphql-description-singleline":{"name":"comment.line.number-sign.graphql","match":"#(?=([^\"]*\"[^\"]*\")*[^\"]*$).*$"},"graphql-directive":{"begin":"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-arguments"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"entity.name.function.directive.graphql"}},"applyEndPatternLast":true},"graphql-directive-definition":{"begin":"\\s*(\\bdirective\\b)\\s*(@[_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-variable-definitions"},{"begin":"\\s*(\\brepeatable\\b)?\\s*(\\bon\\b)\\s*([_A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z]*)","captures":{"2":{"name":"support.type.location.graphql"}}}],"beginCaptures":{"1":{"name":"keyword.repeatable.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.location.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"keyword.directive.graphql"},"2":{"name":"entity.name.function.directive.graphql"},"3":{"name":"keyword.repeatable.graphql"},"4":{"name":"keyword.on.graphql"},"5":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-enum":{"name":"meta.enum.graphql","begin":"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?\u003c=})","patterns":[{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-enum-value"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"}],"beginCaptures":{"1":{"name":"keyword.enum.graphql"},"2":{"name":"support.type.enum.graphql"}}},"graphql-enum-value":{"name":"constant.character.enum.graphql","match":"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)"},"graphql-field":{"patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)","captures":{"1":{"name":"string.unquoted.alias.graphql"},"2":{"name":"punctuation.colon.graphql"}}},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},{"include":"#graphql-arguments"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-float-value":{"match":"\\s*(-?(0|[1-9][0-9]*)(\\.[0-9]+)?((e|E)(\\+|-)?[0-9]+)?)","captures":{"1":{"name":"constant.numeric.float.graphql"}}},"graphql-fragment-definition":{"name":"meta.fragment.graphql","begin":"\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?)","end":"(?\u003c=})","patterns":[{"match":"\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))","captures":{"1":{"name":"keyword.on.graphql"},"2":{"name":"support.type.graphql"}}},{"include":"#graphql-variable-definitions"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.fragment.graphql"},"2":{"name":"entity.name.fragment.graphql"}}},"graphql-fragment-spread":{"begin":"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-arguments"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"variable.fragment.graphql"}},"applyEndPatternLast":true},"graphql-ignore-spaces":{"match":"\\s*"},"graphql-inline-fragment":{"begin":"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-input-types":{"patterns":[{"include":"#graphql-scalar-type"},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?","captures":{"1":{"name":"support.type.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},{"name":"meta.type.list.graphql","begin":"\\s*(\\[)","end":"\\s*(\\])(?:\\s*(!))?","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-input-types"},{"include":"#graphql-comma"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.square.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}}]},"graphql-list-value":{"patterns":[{"name":"meta.listvalues.graphql","begin":"\\s*+(\\[)","end":"\\s*(\\])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.square.graphql"}},"endCaptures":{"1":{"name":"meta.brace.square.graphql"}}}]},"graphql-name":{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"entity.name.function.graphql"}}},"graphql-null-value":{"match":"\\s*\\b(null)\\b","captures":{"1":{"name":"constant.language.null.graphql"}}},"graphql-object-field":{"match":"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)","captures":{"1":{"name":"constant.object.key.graphql"},"2":{"name":"string.unquoted.graphql"},"3":{"name":"punctuation.graphql"}}},"graphql-object-value":{"patterns":[{"name":"meta.objectvalues.graphql","begin":"\\s*+({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-field"},{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"endCaptures":{"1":{"name":"meta.brace.curly.graphql"}}}]},"graphql-operation-def":{"patterns":[{"include":"#graphql-query-mutation"},{"include":"#graphql-name"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"}]},"graphql-query-mutation":{"match":"\\s*\\b(query|mutation)\\b","captures":{"1":{"name":"keyword.operation.graphql"}}},"graphql-scalar":{"match":"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"keyword.scalar.graphql"},"2":{"name":"entity.scalar.graphql"}}},"graphql-scalar-type":{"match":"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?","captures":{"1":{"name":"support.type.builtin.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},"graphql-schema":{"begin":"\\s*\\b(schema)\\b","end":"(?\u003c=})","patterns":[{"begin":"\\s*({)","end":"\\s*(})","patterns":[{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-colon"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.arguments.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"keyword.schema.graphql"}}},"graphql-selection-set":{"name":"meta.selectionset.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-field"},{"include":"#graphql-fragment-spread"},{"include":"#graphql-inline-fragment"},{"include":"#graphql-comma"},{"include":"#native-interpolation"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-skip-newlines":{"match":"\\s*\n"},"graphql-string-content":{"patterns":[{"name":"constant.character.escape.graphql","match":"\\\\[/'\"\\\\nrtbf]"},{"name":"constant.character.escape.graphql","match":"\\\\u([0-9a-fA-F]{4})"}]},"graphql-string-value":{"contentName":"string.quoted.double.graphql","begin":"\\s*+((\"))","end":"\\s*+(?:((\"))|(\n))","patterns":[{"include":"#graphql-string-content"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"endCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"},"3":{"name":"invalid.illegal.newline.graphql"}}},"graphql-type-definition":{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-type-object"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"variable.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-type-interface":{"name":"meta.type.interface.graphql","begin":"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?","end":"(?=.)","patterns":[{"begin":"\\s*\\b(implements)\\b\\s*","end":"\\s*(?={)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-ampersand"},{"include":"#graphql-comma"}],"beginCaptures":{"1":{"name":"keyword.implements.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-type-object"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-ignore-spaces"}],"captures":{"1":{"name":"keyword.type.graphql"},"2":{"name":"keyword.type.graphql"},"3":{"name":"keyword.interface.graphql"},"4":{"name":"keyword.input.graphql"},"5":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-type-object":{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-object-type"},{"include":"#graphql-type-definition"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-union":{"begin":"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"begin":"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"punctuation.or.graphql"},"2":{"name":"support.type.graphql"}}}],"captures":{"1":{"name":"punctuation.assignment.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.union.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-union-mark":{"match":"\\s*(\\|)","captures":{"1":{"name":"punctuation.union.graphql"}}},"graphql-value":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-variable-name"},{"include":"#graphql-float-value"},{"include":"#graphql-string-value"},{"include":"#graphql-boolean-value"},{"include":"#graphql-null-value"},{"include":"#graphql-enum-value"},{"include":"#graphql-list-value"},{"include":"#graphql-object-value"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-assignment":{"begin":"\\s(=)","end":"(?=[\n,)])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"punctuation.assignment.graphql"}},"applyEndPatternLast":true},"graphql-variable-definition":{"name":"meta.variables.graphql","begin":"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#graphql-variable-assignment"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-variable-definitions":{"begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-variable-definition"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.round.graphql"}}},"graphql-variable-name":{"match":"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},"native-interpolation":{"name":"native.interpolation","begin":"\\s*(\\${)","end":"(})","patterns":[{"include":"source.js"},{"include":"source.ts"},{},{"include":"source.tsx"}],"beginCaptures":{"1":{"name":"keyword.other.substitution.begin"}},"endCaptures":{"1":{"name":"keyword.other.substitution.end"}}}}}
@@ -1 +1 @@
1
- {"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([^?\\r\\n]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"\\\"[^\\\"\\r\\n]*\\\""},{"name":"variable.other.enummember.hcl","match":"[[:alpha:]][[:alnum:]_-]*"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.namespaced.hcl","match":"\\b[[:alpha:]][\\w_-]*::([[:alpha:]][\\w_-]*::)?[[:alpha:]][\\w_-]*\\b"},{"name":"support.function.builtin.hcl","match":"\\b[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!=))\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}}},{"match":"^\\s*((\").*(\"))\\s*(\\=)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
1
+ {"name":"HashiCorp HCL","scopeName":"source.hcl","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)(([^\\S\\r\\n]*([\\w][\\-_\\w]*|\\\"[^\\\"\\r\\n]*\\\"))*)[^\\S\\r\\n]*(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#expressions"},{"include":"#block"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"\\\"[^\\\"\\r\\n]*\\\""},{"name":"variable.other.enummember.hcl","match":"[[:alpha:]][[:alnum:]_-]*"}]},"5":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.namespaced.hcl","match":"\\b[[:alpha:]][\\w_-]*::([[:alpha:]][\\w_-]*::)?[[:alpha:]][\\w_-]*\\b"},{"name":"support.function.builtin.hcl","match":"\\b[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=(?!=))\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl"}}},{"match":"^\\s*((\").*(\"))\\s*(\\=)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#attribute_access"},{"include":"#attribute_splat"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
@@ -1 +1 @@
1
- {"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"},{"name":"support.function.provider.terraform","match":"\\bprovider::[[:alpha:]][\\w_-]*::[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}
1
+ {"name":"HashiCorp Terraform","scopeName":"source.hcl.terraform","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"repository":{"attribute_access":{"begin":"\\.(?!\\*)","end":"[[:alpha:]][\\w-]*|\\d*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"patterns":[{"name":"variable.other.member.hcl","match":"(?!null|false|true)[[:alpha:]][\\w-]*"},{"name":"constant.numeric.integer.hcl","match":"\\d+"}]}}},"attribute_definition":{"name":"variable.declaration.hcl","match":"(\\()?(\\b(?!null\\b|false\\b|true\\b)[[:alpha:]][[:alnum:]_-]*)(\\))?\\s*(\\=(?!\\=|\\\u003e))\\s*","captures":{"1":{"name":"punctuation.section.parens.begin.hcl"},"2":{"name":"variable.other.readwrite.hcl"},"3":{"name":"punctuation.section.parens.end.hcl"},"4":{"name":"keyword.operator.assignment.hcl"}}},"attribute_splat":{"begin":"\\.","end":"\\*","beginCaptures":{"0":{"name":"keyword.operator.accessor.hcl"}},"endCaptures":{"0":{"name":"keyword.operator.splat.hcl"}}},"block":{"name":"meta.block.hcl","begin":"([\\w][\\-\\w]*)([\\s\\\"\\-\\w]*)(\\{)","end":"\\}","patterns":[{"include":"#comments"},{"include":"#attribute_definition"},{"include":"#block"},{"include":"#expressions"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.name.type.terraform","match":"\\bdata|check|import|locals|module|output|provider|resource|terraform|variable\\b"},{"name":"entity.name.type.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"}]},"2":{"patterns":[{"name":"variable.other.enummember.hcl","match":"[\\\"\\-\\w]+"}]},"3":{"name":"punctuation.section.block.begin.hcl"},"5":{"name":"punctuation.section.block.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.hcl"}}},"block_inline_comments":{"name":"comment.block.hcl","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"brackets":{"begin":"\\[","end":"\\]","patterns":[{"name":"keyword.operator.splat.hcl","match":"\\*"},{"include":"#comma"},{"include":"#comments"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}},"char_escapes":{"name":"constant.character.escape.hcl","match":"\\\\[nrt\"\\\\]|\\\\u([[:xdigit:]]{8}|[[:xdigit:]]{4})"},"comma":{"name":"punctuation.separator.hcl","match":"\\,"},"comments":{"patterns":[{"include":"#hash_line_comments"},{"include":"#double_slash_line_comments"},{"include":"#block_inline_comments"}]},"double_slash_line_comments":{"name":"comment.line.double-slash.hcl","begin":"//","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"expressions":{"patterns":[{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#brackets"},{"include":"#objects"},{"include":"#attribute_access"},{"include":"#attribute_splat"},{"include":"#functions"},{"include":"#parens"}]},"for_expression_body":{"patterns":[{"name":"keyword.operator.word.hcl","match":"\\bin\\b"},{"name":"keyword.control.conditional.hcl","match":"\\bif\\b"},{"name":"keyword.operator.hcl","match":"\\:"},{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}]},"functions":{"name":"meta.function-call.hcl","begin":"([:\\-\\w]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"},{"include":"#comma"}],"beginCaptures":{"1":{"patterns":[{"name":"support.function.builtin.terraform","match":"\\b(core::)?(abs|abspath|alltrue|anytrue|base64decode|base64encode|base64gzip|base64sha256|base64sha512|basename|bcrypt|can|ceil|chomp|chunklist|cidrhost|cidrnetmask|cidrsubnet|cidrsubnets|coalesce|coalescelist|compact|concat|contains|csvdecode|dirname|distinct|element|endswith|file|filebase64|filebase64sha256|filebase64sha512|fileexists|filemd5|fileset|filesha1|filesha256|filesha512|flatten|floor|format|formatdate|formatlist|indent|index|join|jsondecode|jsonencode|keys|length|log|lookup|lower|matchkeys|max|md5|merge|min|nonsensitive|one|parseint|pathexpand|plantimestamp|pow|range|regex|regexall|replace|reverse|rsadecrypt|sensitive|setintersection|setproduct|setsubtract|setunion|sha1|sha256|sha512|signum|slice|sort|split|startswith|strcontains|strrev|substr|sum|templatefile|textdecodebase64|textencodebase64|timeadd|timecmp|timestamp|title|tobool|tolist|tomap|tonumber|toset|tostring|transpose|trim|trimprefix|trimspace|trimsuffix|try|upper|urlencode|uuid|uuidv5|values|yamldecode|yamlencode|zipmap)\\b"},{"name":"support.function.provider.terraform","match":"\\bprovider::[[:alpha:]][\\w_-]*::[[:alpha:]][\\w_-]*\\b"}]},"2":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"hash_line_comments":{"name":"comment.line.number-sign.hcl","begin":"#","end":"$\\n?","captures":{"0":{"name":"punctuation.definition.comment.hcl"}}},"hcl_type_keywords":{"name":"storage.type.hcl","match":"\\b(any|string|number|bool|list|set|map|tuple|object)\\b"},"heredoc":{"name":"string.unquoted.heredoc.hcl","begin":"(\\\u003c\\\u003c\\-?)\\s*(\\w+)\\s*$","end":"^\\s*\\2\\s*$","patterns":[{"include":"#string_interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.hcl"},"2":{"name":"keyword.control.heredoc.hcl"}},"endCaptures":{"0":{"name":"keyword.control.heredoc.hcl"}}},"inline_for_expression":{"match":"(for)\\b(.*)\\n","captures":{"1":{"name":"keyword.control.hcl"},"2":{"patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}]}}},"inline_if_expression":{"begin":"(if)\\b","end":"\\n","patterns":[{"include":"#expressions"},{"include":"#comments"},{"include":"#comma"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.hcl"}}},"language_constants":{"name":"constant.language.hcl","match":"\\b(true|false|null)\\b"},"literal_values":{"patterns":[{"include":"#numeric_literals"},{"include":"#language_constants"},{"include":"#string_literals"},{"include":"#heredoc"},{"include":"#hcl_type_keywords"},{"include":"#named_value_references"}]},"local_identifiers":{"name":"variable.other.readwrite.hcl","match":"\\b(?!null|false|true)[[:alpha:]][[:alnum:]_-]*\\b"},"named_value_references":{"name":"variable.other.readwrite.terraform","match":"\\b(var|local|module|data|path|terraform)\\b"},"numeric_literals":{"patterns":[{"name":"constant.numeric.float.hcl","match":"\\b\\d+([Ee][+-]?)\\d+\\b","captures":{"1":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.float.hcl","match":"\\b\\d+(\\.)\\d+(?:([Ee][+-]?)\\d+)?\\b","captures":{"1":{"name":"punctuation.separator.decimal.hcl"},"2":{"name":"punctuation.separator.exponent.hcl"}}},{"name":"constant.numeric.integer.hcl","match":"\\b\\d+\\b"}]},"object_for_expression":{"begin":"(\\{)\\s?(for)\\b","end":"\\}","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"},{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"object_key_values":{"patterns":[{"include":"#comments"},{"include":"#literal_values"},{"include":"#operators"},{"include":"#tuple_for_expression"},{"include":"#object_for_expression"},{"include":"#heredoc"},{"include":"#functions"}]},"objects":{"name":"meta.braces.hcl","begin":"\\{","end":"\\}","patterns":[{"include":"#comments"},{"include":"#objects"},{"include":"#inline_for_expression"},{"include":"#inline_if_expression"},{"match":"\\b((?!null|false|true)[[:alpha:]][[:alnum:]_-]*)\\s*(\\=\\\u003e?)\\s*","captures":{"1":{"name":"meta.mapping.key.hcl variable.other.readwrite.hcl"},"2":{"name":"keyword.operator.assignment.hcl","patterns":[{"name":"storage.type.function.hcl","match":"\\=\\\u003e"}]}}},{"match":"\\b((\").*(\"))\\s*(\\=)\\s*","captures":{"0":{"patterns":[{"include":"#named_value_references"}]},"1":{"name":"meta.mapping.key.hcl string.quoted.double.hcl"},"2":{"name":"punctuation.definition.string.begin.hcl"},"3":{"name":"punctuation.definition.string.end.hcl"},"4":{"name":"keyword.operator.hcl"}}},{"name":"meta.mapping.key.hcl","begin":"^\\s*\\(","end":"(\\))\\s*(=|:)\\s*","patterns":[{"include":"#named_value_references"},{"include":"#attribute_access"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.hcl"},"2":{"name":"keyword.operator.hcl"}}},{"include":"#object_key_values"}],"beginCaptures":{"0":{"name":"punctuation.section.braces.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.braces.end.hcl"}}},"operators":{"patterns":[{"name":"keyword.operator.hcl","match":"\\\u003e\\="},{"name":"keyword.operator.hcl","match":"\\\u003c\\="},{"name":"keyword.operator.hcl","match":"\\=\\="},{"name":"keyword.operator.hcl","match":"\\!\\="},{"name":"keyword.operator.arithmetic.hcl","match":"\\+"},{"name":"keyword.operator.arithmetic.hcl","match":"\\-"},{"name":"keyword.operator.arithmetic.hcl","match":"\\*"},{"name":"keyword.operator.arithmetic.hcl","match":"\\/"},{"name":"keyword.operator.arithmetic.hcl","match":"\\%"},{"name":"keyword.operator.logical.hcl","match":"\\\u0026\\\u0026"},{"name":"keyword.operator.logical.hcl","match":"\\|\\|"},{"name":"keyword.operator.logical.hcl","match":"\\!"},{"name":"keyword.operator.hcl","match":"\\\u003e"},{"name":"keyword.operator.hcl","match":"\\\u003c"},{"name":"keyword.operator.hcl","match":"\\?"},{"name":"keyword.operator.hcl","match":"\\.\\.\\."},{"name":"keyword.operator.hcl","match":"\\:"},{"name":"keyword.operator.hcl","match":"\\=\\\u003e"}]},"parens":{"begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.hcl"}}},"string_interpolation":{"name":"meta.interpolation.hcl","begin":"(?\u003c![%$])([%$]{)","end":"\\}","patterns":[{"name":"keyword.operator.template.left.trim.hcl","match":"\\~\\s"},{"name":"keyword.operator.template.right.trim.hcl","match":"\\s\\~"},{"name":"keyword.control.hcl","match":"\\b(if|else|endif|for|in|endfor)\\b"},{"include":"#expressions"},{"include":"#local_identifiers"}],"beginCaptures":{"1":{"name":"keyword.other.interpolation.begin.hcl"}},"endCaptures":{"0":{"name":"keyword.other.interpolation.end.hcl"}}},"string_literals":{"name":"string.quoted.double.hcl","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"include":"#char_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.hcl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.hcl"}}},"tuple_for_expression":{"begin":"(\\[)\\s?(for)\\b","end":"\\]","patterns":[{"include":"#for_expression_body"}],"beginCaptures":{"1":{"name":"punctuation.section.brackets.begin.hcl"},"2":{"name":"keyword.control.hcl"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.hcl"}}}}}