github-linguist 7.23.0 → 7.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +13 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/hidden.manref.json +1 -1
  5. data/grammars/source.abapcds.json +1 -1
  6. data/grammars/source.astro.json +1 -1
  7. data/grammars/source.ats.json +1 -1
  8. data/grammars/source.bicep.json +1 -1
  9. data/grammars/source.cairo.json +1 -1
  10. data/grammars/source.cl.json +1 -1
  11. data/grammars/source.csswg.json +1 -1
  12. data/grammars/source.cypher.json +1 -0
  13. data/grammars/source.data-weave.json +1 -1
  14. data/grammars/source.denizenscript.json +1 -1
  15. data/grammars/source.editorconfig.json +1 -1
  16. data/grammars/source.elvish.json +1 -1
  17. data/grammars/source.gcode.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.gdshader.json +1 -1
  20. data/grammars/source.hack.json +1 -1
  21. data/grammars/source.httpspec.json +1 -1
  22. data/grammars/source.imba.json +1 -0
  23. data/grammars/source.ink.json +1 -0
  24. data/grammars/source.just.json +1 -0
  25. data/grammars/source.llvm.json +1 -1
  26. data/grammars/source.man-conf.json +1 -1
  27. data/grammars/source.mermaid.c4c-diagram.json +1 -0
  28. data/grammars/source.mermaid.class-diagram.json +1 -0
  29. data/grammars/source.mermaid.er-diagram.json +1 -0
  30. data/grammars/source.mermaid.flowchart.json +1 -0
  31. data/grammars/source.mermaid.gantt.json +1 -0
  32. data/grammars/source.mermaid.gitgraph.json +1 -0
  33. data/grammars/source.mermaid.json +1 -0
  34. data/grammars/source.mermaid.pie-chart.json +1 -0
  35. data/grammars/source.mermaid.requirement-diagram.json +1 -0
  36. data/grammars/source.mermaid.sequence-diagram.json +1 -0
  37. data/grammars/source.mermaid.state-diagram.json +1 -0
  38. data/grammars/source.mermaid.user-journey.json +1 -0
  39. data/grammars/source.mo.json +1 -1
  40. data/grammars/source.move.json +1 -1
  41. data/grammars/source.opts.json +1 -1
  42. data/grammars/source.pddl.happenings.json +1 -0
  43. data/grammars/source.pddl.json +1 -0
  44. data/grammars/source.pddl.plan.json +1 -0
  45. data/grammars/source.polar.json +1 -0
  46. data/grammars/source.python.json +1 -1
  47. data/grammars/source.rescript.json +1 -1
  48. data/grammars/source.rpgle.json +1 -1
  49. data/grammars/source.scala.json +1 -1
  50. data/grammars/source.scenic.json +1 -0
  51. data/grammars/source.sfv.json +1 -0
  52. data/grammars/source.smithy.json +1 -0
  53. data/grammars/source.sqf.json +1 -1
  54. data/grammars/source.svelte.json +1 -1
  55. data/grammars/source.toc.json +1 -1
  56. data/grammars/source.ts.json +1 -1
  57. data/grammars/source.tsx.json +1 -1
  58. data/grammars/source.xojo.json +1 -1
  59. data/grammars/source.yara.json +1 -1
  60. data/grammars/text.adblock.json +1 -1
  61. data/grammars/text.grammarkdown.json +1 -0
  62. data/grammars/text.html.ecmarkup.json +1 -0
  63. data/grammars/text.html.statamic.json +1 -1
  64. data/grammars/text.restructuredtext.json +1 -1
  65. data/grammars/text.roff.json +1 -1
  66. data/grammars/text.youtube.json +1 -0
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/generated.rb +30 -1
  70. data/lib/linguist/heuristics.yml +36 -2
  71. data/lib/linguist/languages.json +1 -1
  72. data/lib/linguist/languages.yml +219 -4
  73. data/lib/linguist/samples.json +1 -1
  74. data/lib/linguist/vendor.yml +0 -1
  75. metadata +29 -3
@@ -1 +1 @@
1
- {"name":"DataWeave","scopeName":"source.data-weave","patterns":[{"include":"#comments"},{"include":"#directives"},{"name":"keyword.operator.body-marker.dw","match":"(---)"},{"include":"#expressions"},{"name":"invalid","match":"([^\\s]+)"}],"repository":{"annotation-directive":{"name":"meta.directive.annot.dw","begin":"(\\s*(annotation)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(?=\\n)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]}],"beginCaptures":{"2":{"name":"storage.type.annotation.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"annotation-usage":{"name":"meta.annot.usage.dw","begin":"(\\s*(\\@)([a-zA-Z][a-zA-Z0-9]*))","end":"(?=\\n)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]}],"beginCaptures":{"2":{"name":"storage.type.annotation.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"array-literal":{"name":"meta.array.literal.dw","begin":"(?\u003c!\\w|}|])(\\[)","end":"\\]","patterns":[{"include":"#expressions"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.dw"}},"endCaptures":{"0":{"name":"meta.brace.square.dw"}}},"attr-literal":{"name":"meta.attributes.dw","begin":"\\@\\(","end":"\\)","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"keyword.operator.attributes.dw"}},"endCaptures":{"0":{"name":"keyword.operator.attributes.dw"}}},"case-clause":{"name":"case-clause.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(case|else(?=\\s*-\u003e))\\b(?!\\$|\\.)","end":"\\-\\\u003e","patterns":[{"begin":"(?\u003c!\\.|\\$)\\b(is)\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.control.is.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b(matches)\\b","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.matches.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b([A-Za-z][a-zA-Z0-9_]*)\\s*:\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"entity.name.variable.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b([A-Za-z][a-zA-Z0-9_]*)\\s*(if|matches)\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"entity.name.variable.dw"},"2":{"name":"keyword.control.if.dw"}}},{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.switch.dw"}},"endCaptures":{"0":{"name":"keyword.control.switch.dw"}}},"cast":{"begin":"(?\u003c!\\.|\\$)\\b(as|is)\\s+","end":"(?=$|^|[;,:})\\]\\s])","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.control.as.dw"}}},"comments":{"patterns":[{"name":"comment.block.dw","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.dw"}}},{"match":"\\s*((//).*$\\n?)","captures":{"1":{"name":"comment.line.double-slash.dw"},"2":{"name":"punctuation.definition.comment.dw"}}}]},"constants":{"patterns":[{"name":"constant.language.dw","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.dw","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"begin":"\\|","end":"\\|","patterns":[{"name":"constant.numeric.dw","match":"([0-9]+)"},{"name":"constant.character.escape.dw","match":"([+:\\-WYMDTHSPZ\\.])"},{"name":"invalid","match":"([^\\|])"}],"beginCaptures":{"0":{"name":"constant.numeric.dw"}},"endCaptures":{"0":{"name":"constant.numeric.dw"}}}]},"directives":{"patterns":[{"include":"#dw-directive"},{"include":"#import-directive"},{"include":"#type-directive"},{"include":"#fun-directive"},{"include":"#var-directive"},{"include":"#ns-directive"},{"include":"#input-directive"},{"include":"#output-directive"},{"include":"#annotation-usage"},{"include":"#annotation-directive"}]},"do-statement":{"name":"do-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(do)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#directives"},{"name":"keyword.operator.body-marker.dw","match":"(---)"},{"include":"#expressions"},{"name":"invalid","match":"([^\\s]+)"}],"beginCaptures":{"1":{"name":"keyword.control.do.dw"},"2":{"name":"punctuation.definitions.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definitions.end.dw"}}},"dw-directive":{"name":"meta.directive.version.dw","begin":"(?\u003c!\\.|\\$)(%dw)\\s+([0-9]\\.[0-9])(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"comment.dw"},"2":{"name":"comment.dw"}}},"expressions":{"name":"expression","patterns":[{"name":"keyword.other.dw","match":"\\b(not)\\s+"},{"include":"#undefined-fun-character"},{"include":"#paren-expression"},{"include":"#strings"},{"include":"#constants"},{"include":"#comments"},{"include":"#match-statement"},{"include":"#using-statement"},{"include":"#do-statement"},{"include":"#if-statement"},{"include":"#regex"},{"include":"#keywords"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#cast"},{"include":"#object-member"},{"include":"#variable-reference"},{"include":"#selectors"},{"include":"#directives"},{"include":"#infix"}]},"fun-directive":{"name":"meta.directive.fun.dw","begin":"(\\s*(fun)\\s+([a-zA-Z][a-zA-Z0-9_]*|--|\\+\\+))","end":"(=)","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]},{"begin":"(:)","end":"(?==)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"function_call":{"name":"function_call","begin":"\\s*\\(","end":"\\s*\\)","patterns":[{"include":"#punctuation-comma"},{"include":"#expressions"}]},"generics":{"patterns":[{"begin":"(:)","end":"(?=,|\u003e)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"keyword.operator.extends.dw","match":"\u003c:"},{"include":"#keywords"},{"name":"entity.name.type.parameter.dw","match":"\\w+"}]},"if-statement":{"name":"meta.if.dw","begin":"(?\u003c!\\.|\\$)\\b(if\\s*)\\(","end":"\\)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.if.dw"}}},"import-directive":{"name":"meta.directive.import.dw","begin":"(\\s*(import)\\s+)","end":"(?=(fun|input|output|type|var|ns|import|%dw|private|annotation|\\@|---)\\s|$)","patterns":[{"include":"#comments"},{"match":"(,)"},{"name":"entity.name.type.dw","match":"(\\*)"},{"match":"\\s+(from)\\s+","captures":{"1":{"name":"keyword.control.from"}}},{"name":"entity.name.type.dw","match":"(?:[a-zA-Z][a-zA-Z0-9]*(?:::[a-zA-Z][a-zA-Z0-9]*)+)\n"},{"name":"entity.name.function.dw","match":"(?:[a-zA-Z][a-zA-Z0-9]*)\n"},{"match":"\\s+(as)\\s+([a-zA-Z][a-zA-Z0-9]*)","captures":{"1":{"name":"keyword.control.as"},"2":{"name":"entity.name.function.dw"}}}],"beginCaptures":{"2":{"name":"keyword.control.import"}}},"infix":{"name":"support.function.dw","match":"(?\u003c!^|,|\\[|\\(|=|\\+|\u003e|\u003c|\\-|\\*|:|\\{|case|is|else|not|as|and|or)(?\u003c=[a-zA-Z0-9_$\\}\\])\"'`|/])\\s*(?!(var|match|case|else|fun|input|output|is|as|default|ns|import|null|false|true|using|do|not|and|or)\\s)(\\+\\+|\\-\\-|[a-zA-Z][a-zA-Z_0-9]*)(\\s+|\\s*(?=[\"'/|{]))"},"input-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(input)\\s+([[:alpha:]][[:alnum:]]*)\\s*","end":"(?=\\n)","patterns":[{"begin":"(\\:\\s*)","end":"(\\s|\\n)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.other.dw"}}},{"name":"string.mime.dw","match":"([^{\\n\\s])"}],"beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"entity.name.variable.dw"}}},"keywords":{"patterns":[{"name":"keyword.reserved.dw","match":"\\b(throw|for|yield|enum|private|async)\\b"},{"name":"invalid","match":"\\b(not)\\b"},{"name":"keyword.control.dw","match":"\\b(if|else|while|for|do|using|unless|default)\\b"},{"name":"keyword.operator.comparison.dw","match":"(~=|==|!=|!=|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.dw","match":"(=)"},{"name":"keyword.operator.declaration.dw","match":"(:)"},{"name":"keyword.operator.arithmetic.dw","match":"(\\-|\\+|\\*|\\/)"},{"name":"keyword.other.dw","match":"\\b(and|or)\\b"}]},"match-block":{"name":"match-block.expr.dw","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.dw"}}},"match-statement":{"name":"match-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(match)\\s*(?=\\{)","end":"\\}","patterns":[{"include":"#match-block"}],"beginCaptures":{"1":{"name":"keyword.control.switch.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.block.dw"}}},"ns-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(ns)\\s+([A-Za-z][a-zA-Z0-9_]*)\\s+([^\\n]*)(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"entity.name.namespace.dw"},"3":{"name":"meta.definition.ns.dw string.url.dw"}}},"object-key":{"patterns":[{"name":"variable.object.member.dw meta.object-literal.namespace.dw","match":"\\b([[:alpha:]][_[:alnum:]]+#)","captures":{"0":{"name":"variable.language.dw"}}},{"name":"variable.object.member.dw meta.object-literal.key.dw","begin":"(?=[\\'\\\"\\`])","end":"(?=@\\(|:)","patterns":[{"include":"#strings"}]},{"name":"variable.object.member.dw","match":"(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=:|@\\()","end":"(?=,|\\}|\\))","captures":{"1":{"name":"meta.object-literal.key.dw"}}}]},"object-literal":{"name":"meta.objectliteral.dw","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.dw"}},"endCaptures":{"0":{"name":"punctuation.definition.block.dw"}}},"object-member":{"name":"meta.object.member.first.dw","patterns":[{"include":"#comments"},{"include":"#paren-expression"},{"include":"#object-key"},{"include":"#attr-literal"},{"include":"#object-member-body"},{"include":"#punctuation-comma"}]},"object-member-body":{"name":"variable.object.member.dw","begin":":","end":"(?=,|\\}|\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.dw punctuation.separator.key-value.dw"}}},"object-member-type":{"patterns":[{"include":"#comments"},{"name":"variable.language.dw","match":"_"},{"name":"variable.language.dw","match":"([a-zA-Z0-9]+#)"},{"name":"entity.name.type.dw","match":"\\(\\s*([a-zA-Z][a-zA-Z0-9]*)\\s*\\)"},{"name":"variable.object.member.dw","match":"([a-zA-Z][a-zA-Z0-9]*)"},{"include":"#strings"},{"name":"keyword.operator.optional.dw","match":"\\?"},{"name":"keyword.operator.optional.dw","match":"\\*"},{"begin":"(\\@\\()","end":"(\\))","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}],"beginCaptures":{"1":{"name":"keyword.operator.attributes.dw"}},"endCaptures":{"1":{"name":"keyword.operator.attributes.dw"}}},{"begin":"(:)","end":"(?=,|}|\\)|\\|}|\\-}|\\|\\-})","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"invalid","match":"([^\\s])"}]},"output-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(output)\\s+([^\\n{\\s]*)(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"string.other.dw"}}},"parameters":{"patterns":[{"begin":"(:)","end":"(?=,|\\)|=)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"begin":"(=)","end":"(?=,|\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"variable.parameter.dw","match":"\\w+"}]},"paren-expression":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"punctuation.expression.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.expression.end.dw"}}},"punctuation-comma":{"name":"punctuation.separator.comma.dw","match":","},"qstring-backtick":{"begin":"`","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.template.dw","match":"([^`])"}],"beginCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.end.dw"}}},"qstring-double":{"begin":"\"","end":"\"","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.quoted.double.dw","match":"([^\"])"}],"beginCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.end.dw"}}},"qstring-single":{"begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.quoted.single.dw","match":"([^'])"}],"beginCaptures":{"0":{"name":"string.quoted.single.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"string.quoted.single.dw punctuation.definition.string.end.dw"},"2":{"name":"invalid.illegal.newline.dw"}}},"regex":{"patterns":[{"name":"string.regexp.dw","begin":"(?\u003c=[=(:,\\[?+!]|replace|match|scan|matches|contains|---|case|-\u003e|and|or|\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/(?![\\/*])(?!\\s*[a-zA-Z0-9_$]))","end":"(/)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.dw"}}},{"name":"string.regexp.dw","begin":"(?\u003c![_$[:alnum:])])\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/(?![\\/*])(?!\\s*[a-zA-Z0-9_$]))","end":"(/)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.dw"}}}]},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((\\?:)?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"selectors":{"name":"meta.selector.data-weave","begin":"(?\u003c![\\[\\(:+*/\\-])(\\s*\\.\\.\\*|\\s*\\.\\.|\\s*\\.\\*|\\s*\\.\\@|\\s*\\.#|\\s*\\.\u0026|\\s*\\.|(?=\\[)|\\:\\:)","end":"(?=\\s|,|\\}|\\)|\\n|\\]|\\(|-|$)","patterns":[{"name":"variable.object.member.dw","match":"\\b([[:alpha:]][_[:alnum:]]+#)","captures":{"0":{"name":"variable.language.dw"}}},{"name":"variable.object.member.dw","match":"((?:[A-Za-z])([a-zA-Z0-9_]*)[?!]?|(\\$)+)"},{"include":"#strings"},{"begin":"(\\[(@|\\^)?)","end":"(\\])","patterns":[{"include":"#expressions"},{"name":"invalid","match":"([\\)])"}]},{"include":"#selectors"}]},"string-character-escape":{"name":"constant.character.escape.dw","match":"\\\\(u[[:xdigit:]]{4}|$|.)"},"strings":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#qstring-backtick"},{"include":"#template"}]},"template":{"begin":"([$[:alpha:]][_$[:alnum:]]*)\\s*(`)","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.template.dw","match":"([^`])"}],"beginCaptures":{"1":{"name":"support.function.dw"},"2":{"name":"string.template.dw punctuation.definition.string.template.begin.dw"}},"endCaptures":{"0":{"name":"string.template.dw punctuation.definition.string.template.end.dw"}}},"template-dollar":{"patterns":[{"name":"variable.parameter.dw","match":"(\\$(\\$)+)"},{"name":"variable.parameter.dw","match":"(\\$)(?![a-zA-Z(])"},{"name":"variable.parameter.dw","match":"(\\$)([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.other.dw"},"2":{"name":"variable.other.dw"}}}]},"template-substitution-element":{"name":"meta.template.expression.dw","begin":"\\$\\(","end":"\\)","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"keyword.other.dw"}},"endCaptures":{"0":{"name":"keyword.other.dw"}}},"type-directive":{"name":"meta.directive.type.dw","begin":"(\\s*(type)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(?=(fun|input|output|type|var|ns|import|%dw|private|---)\\s|(\\@[a-zA-Z][a-zA-Z0-9]*))","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"name":"keyword.other.dw","match":"\\="},{"include":"#types"}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.type.dw"}}},"types":{"patterns":[{"include":"#comments"},{"name":"constant.language.dw","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.dw","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"include":"#strings"},{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#types"},{"include":"#punctuation-comma"},{"include":"#comments"}]},{"begin":"\\{\\-\\|","end":"\\|\\-\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{\\|","end":"\\|\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{\\-","end":"\\-\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"(\\()","end":"(\\)\\s*-\u003e|\\))","patterns":[{"include":"#types"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"keyword.operator.grouping.dw"}},"endCaptures":{"0":{"name":"keyword.operator.grouping.dw"}}},{"name":"support.class.dw","match":"(String|Boolean|Number|Range|Namespace|Uri|DateTime|LocalDateTime|Date|LocalTime|TimeZone|Time|Period|Binary|Null|Regex|Nothing|Any|Object|Key)"},{"begin":"(Array|Type)\\s*\u003c","end":"\u003e","patterns":[{"name":"invalid","match":","},{"include":"#types"}],"beginCaptures":{"1":{"name":"support.type.dw"}}},{"name":"keyword.operator.declaration.dw","match":"(\u0026|\\|)"},{"name":"keyword.operator.declaration.dw","match":"\u003c:"},{"name":"support.class.dw","match":"\\b([A-Z][a-zA-Z0-9_]*)"},{"include":"#undefined-fun-character"},{"match":"\\b(var|fun|ns)\\b"},{"name":"invalid","match":"\\b(input|output|var|ns|import|try|catch|throw|do|for|yield|enum|private|async)\\b"},{"name":"invalid","match":"\\b(if|else|while|for|do|using|unless|default|match)\\b"},{"name":"invalid","match":"(~=|==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e|\\$+)"}]},"undefined-fun-character":{"name":"constant.language.undefined.dw","match":"\\?\\?\\?"},"using-statement":{"name":"using-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(using)\\s*(\\()","end":"(\\))","patterns":[{"match":"((?:\\+\\+|\\-\\-|[A-Za-z])(?:[a-zA-Z0-9_]*))(\\s*=)","captures":{"1":{"name":"entity.name.variable.dw"},"2":{"name":"keyword.operator.dw"}}},{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.using.dw"},"2":{"name":"punctuation.definitions.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definitions.end.dw"}}},"var-directive":{"name":"meta.directive.var.dw","begin":"(\\s*(var)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(=)","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"begin":"(:)","end":"(?==|$)","patterns":[{"include":"#comments"},{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.variable.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"variable-reference":{"patterns":[{"name":"variable.other.dw","match":"\\b(?!(fun|input|output|type|var|ns|import|%dw|private|---)\\b)((\\+\\+|\\-\\-|[A-Za-z])[a-zA-Z0-9_]*)"},{"name":"invalid","match":"\\b(fun|input|output|type|var|ns|import|private)\\b"},{"name":"variable.parameter.dw","match":"(\\$+)"}]}}}
1
+ {"name":"DataWeave","scopeName":"source.data-weave","patterns":[{"include":"#comments"},{"include":"#directives"},{"name":"keyword.operator.body-marker.dw","match":"(---)"},{"include":"#expressions"},{"name":"invalid","match":"([^\\s]+)"}],"repository":{"annotation-directive":{"name":"meta.directive.annot.dw","begin":"(\\s*(annotation)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(?=\\n)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]}],"beginCaptures":{"2":{"name":"storage.type.annotation.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"annotation-usage":{"name":"meta.annot.usage.dw","begin":"(\\s*(\\@)([a-zA-Z][a-zA-Z0-9]*))","end":"(?=\\n)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]}],"beginCaptures":{"2":{"name":"storage.type.annotation.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"array-literal":{"name":"meta.array.literal.dw","begin":"(?\u003c!\\w|}|])(\\[)","end":"\\]","patterns":[{"include":"#expressions"},{"include":"#punctuation-comma"}],"beginCaptures":{"0":{"name":"meta.brace.square.dw"}},"endCaptures":{"0":{"name":"meta.brace.square.dw"}}},"attr-literal":{"name":"meta.attributes.dw","begin":"\\@\\(","end":"\\)","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"keyword.operator.attributes.dw"}},"endCaptures":{"0":{"name":"keyword.operator.attributes.dw"}}},"case-clause":{"name":"case-clause.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(case|else(?=\\s*-\u003e))\\b(?!\\$|\\.)","end":"\\-\\\u003e","patterns":[{"begin":"(?\u003c!\\.|\\$)\\b(is)\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.control.is.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b(matches)\\b","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.matches.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b([A-Za-z][a-zA-Z0-9_]*)\\s*:\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"entity.name.variable.dw"}}},{"begin":"(?\u003c!\\.|\\$)\\b([A-Za-z][a-zA-Z0-9_]*)\\s*(if|matches)\\s+","end":"(?=\\-\\\u003e)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"entity.name.variable.dw"},"2":{"name":"keyword.control.if.dw"}}},{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.switch.dw"}},"endCaptures":{"0":{"name":"keyword.control.switch.dw"}}},"cast":{"begin":"(?\u003c!\\.|\\$)\\b(as|is)\\s+","end":"(?=$|^|[;,:})\\]\\s])","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.control.as.dw"}}},"comments":{"patterns":[{"name":"comment.block.dw","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.dw"}}},{"match":"\\s*((//).*$\\n?)","captures":{"1":{"name":"comment.line.double-slash.dw"},"2":{"name":"punctuation.definition.comment.dw"}}}]},"constants":{"patterns":[{"name":"constant.language.dw","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.dw","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"begin":"\\|","end":"\\|","patterns":[{"name":"constant.numeric.dw","match":"([0-9]+)"},{"name":"constant.character.escape.dw","match":"([+:\\-WYMDTHSPZ\\.])"},{"name":"invalid","match":"([^\\|])"}],"beginCaptures":{"0":{"name":"constant.numeric.dw"}},"endCaptures":{"0":{"name":"constant.numeric.dw"}}}]},"directives":{"patterns":[{"include":"#dw-directive"},{"include":"#import-directive"},{"include":"#type-directive"},{"include":"#fun-directive"},{"include":"#var-directive"},{"include":"#ns-directive"},{"include":"#input-directive"},{"include":"#output-directive"},{"include":"#annotation-usage"},{"include":"#annotation-directive"}]},"do-statement":{"name":"do-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(do)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#directives"},{"name":"keyword.operator.body-marker.dw","match":"(---)"},{"include":"#expressions"},{"name":"invalid","match":"([^\\s]+)"}],"beginCaptures":{"1":{"name":"keyword.control.do.dw"},"2":{"name":"punctuation.definitions.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definitions.end.dw"}}},"dw-directive":{"name":"meta.directive.version.dw","begin":"(?\u003c!\\.|\\$)(%dw)\\s+([0-9]\\.[0-9])(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"comment.dw"},"2":{"name":"comment.dw"}}},"expressions":{"name":"expression","patterns":[{"name":"keyword.other.dw","match":"\\b(not)\\s+"},{"include":"#undefined-fun-character"},{"include":"#paren-expression"},{"include":"#strings"},{"include":"#constants"},{"include":"#comments"},{"include":"#match-statement"},{"include":"#using-statement"},{"include":"#do-statement"},{"include":"#if-statement"},{"include":"#regex"},{"include":"#type_parameters"},{"include":"#keywords"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#cast"},{"include":"#object-member"},{"include":"#variable-reference"},{"include":"#selectors"},{"include":"#directives"},{"include":"#infix"}]},"fun-directive":{"name":"meta.directive.fun.dw","begin":"(\\s*(fun)\\s+([a-zA-Z][a-zA-Z0-9_]*|--|\\+\\+))","end":"(=)","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"begin":"\\(","end":"\\)","patterns":[{"include":"#parameters"}]},{"begin":"(:)","end":"(?==)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.function.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"generics":{"patterns":[{"begin":"(:)","end":"(?=,|\u003e)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"keyword.operator.extends.dw","match":"\u003c:"},{"include":"#keywords"},{"name":"entity.name.type.parameter.dw","match":"\\w+"}]},"if-statement":{"name":"meta.if.dw","begin":"(?\u003c!\\.|\\$)\\b(if\\s*)\\(","end":"\\)","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.if.dw"}}},"import-directive":{"name":"meta.directive.import.dw","begin":"(\\s*(import)\\s+)","end":"(?=(fun|input|output|type|var|ns|import|%dw|private|annotation|\\@|---)\\s|$)","patterns":[{"include":"#comments"},{"match":"(,)"},{"name":"entity.name.type.dw","match":"(\\*)"},{"match":"\\s+(from)\\s+","captures":{"1":{"name":"keyword.control.from"}}},{"name":"entity.name.type.dw","match":"(?:[a-zA-Z][a-zA-Z0-9]*(?:::[a-zA-Z][a-zA-Z0-9]*)+)\n"},{"name":"entity.name.function.dw","match":"(?:[a-zA-Z][a-zA-Z0-9]*)\n"},{"match":"\\s+(as)\\s+([a-zA-Z][a-zA-Z0-9]*)","captures":{"1":{"name":"keyword.control.as"},"2":{"name":"entity.name.function.dw"}}}],"beginCaptures":{"2":{"name":"keyword.control.import"}}},"infix":{"name":"support.function.dw","match":"(?\u003c!^|,|\\[|\\(|=|\\+|\u003e|\u003c|\\-|\\*|:|\\{|case|is|else|not|as|and|or)(?\u003c=[a-zA-Z0-9_$\\}\\])\"'`|/])\\s*(?!(var|match|case|else|fun|input|output|is|as|default|ns|import|null|false|true|using|do|not|and|or)\\s)(\\+\\+|\\-\\-|[a-zA-Z][a-zA-Z_0-9]*)(\\s+|\\s*(?=[\"'/|{]))"},"input-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(input)\\s+([[:alpha:]][[:alnum:]]*)\\s*","end":"(?=\\n)","patterns":[{"begin":"(\\:\\s*)","end":"(\\s|\\n)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.other.dw"}}},{"name":"string.mime.dw","match":"([^{\\n\\s])"}],"beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"entity.name.variable.dw"}}},"keywords":{"patterns":[{"name":"keyword.reserved.dw","match":"\\b(throw|for|yield|enum|private|async)\\b"},{"name":"invalid","match":"\\b(not)\\b"},{"name":"keyword.control.dw","match":"\\b(if|else|while|for|do|using|unless|default)\\b"},{"name":"keyword.operator.comparison.dw","match":"(~=|==|!=|!=|\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.assignment.dw","match":"(=)"},{"name":"keyword.operator.declaration.dw","match":"(:)"},{"name":"keyword.operator.arithmetic.dw","match":"(\\-|\\+|\\*|\\/)"},{"name":"keyword.other.dw","match":"\\b(and|or)\\b"}]},"match-block":{"name":"match-block.expr.dw","begin":"\\{","end":"(?=\\})","patterns":[{"include":"#case-clause"},{"include":"#expressions"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.dw"}}},"match-statement":{"name":"match-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(match)\\s*(?=\\{)","end":"\\}","patterns":[{"include":"#match-block"}],"beginCaptures":{"1":{"name":"keyword.control.switch.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.block.dw"}}},"ns-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(ns)\\s+([A-Za-z][a-zA-Z0-9_]*)\\s+([^\\n]*)(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"entity.name.namespace.dw"},"3":{"name":"meta.definition.ns.dw string.url.dw"}}},"object-key":{"patterns":[{"name":"variable.object.member.dw meta.object-literal.namespace.dw","match":"\\b([[:alpha:]][_[:alnum:]]+#)","captures":{"0":{"name":"variable.language.dw"}}},{"name":"variable.object.member.dw meta.object-literal.key.dw","begin":"(?=[\\'\\\"\\`])","end":"(?=@\\(|:)","patterns":[{"include":"#strings"}]},{"name":"variable.object.member.dw","match":"(?:[_$[:alpha:]][_$[:alnum:]]*)\\s*(?=:|@\\()","end":"(?=,|\\}|\\))","captures":{"1":{"name":"meta.object-literal.key.dw"}}}]},"object-literal":{"name":"meta.objectliteral.dw","begin":"\\{","end":"\\}","patterns":[{"include":"#object-member"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.dw"}},"endCaptures":{"0":{"name":"punctuation.definition.block.dw"}}},"object-member":{"name":"meta.object.member.first.dw","patterns":[{"include":"#comments"},{"include":"#paren-expression"},{"include":"#object-key"},{"include":"#attr-literal"},{"include":"#object-member-body"},{"include":"#punctuation-comma"}]},"object-member-body":{"name":"variable.object.member.dw","begin":":","end":"(?=,|\\}|\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"meta.object-literal.key.dw punctuation.separator.key-value.dw"}}},"object-member-type":{"patterns":[{"include":"#comments"},{"name":"variable.language.dw","match":"_"},{"name":"variable.language.dw","match":"([a-zA-Z0-9]+#)"},{"name":"entity.name.type.dw","match":"\\(\\s*([a-zA-Z][a-zA-Z0-9]*)\\s*\\)"},{"name":"variable.object.member.dw","match":"([a-zA-Z][a-zA-Z0-9]*)"},{"include":"#strings"},{"name":"keyword.operator.optional.dw","match":"\\?"},{"name":"keyword.operator.optional.dw","match":"\\*"},{"begin":"(\\@\\()","end":"(\\))","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}],"beginCaptures":{"1":{"name":"keyword.operator.attributes.dw"}},"endCaptures":{"1":{"name":"keyword.operator.attributes.dw"}}},{"begin":"(:)","end":"(?=,|}|\\)|\\|}|\\-}|\\|\\-})","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"invalid","match":"([^\\s])"}]},"output-directive":{"name":"meta.directive.ns.dw","begin":"(?\u003c!\\.|\\$)\\b(output)\\s+([^\\n{\\s]*)(?!\\$|\\.)","end":"(?=\\n)","beginCaptures":{"1":{"name":"storage.type.dw"},"2":{"name":"string.other.dw"}}},"parameters":{"patterns":[{"begin":"(:)","end":"(?=,|\\)|=)","patterns":[{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"begin":"(=)","end":"(?=,|\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}},{"name":"variable.parameter.dw","match":"\\w+"}]},"paren-expression":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"punctuation.expression.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.expression.end.dw"}}},"punctuation-comma":{"name":"punctuation.separator.comma.dw","match":","},"qstring-backtick":{"begin":"`","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.template.dw","match":"([^`])"}],"beginCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.end.dw"}}},"qstring-double":{"begin":"\"","end":"\"","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.quoted.double.dw","match":"([^\"])"}],"beginCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"0":{"name":"string.quoted.double.dw punctuation.definition.string.end.dw"}}},"qstring-single":{"begin":"'","end":"(\\')|((?:[^\\\\\\n])$)","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.quoted.single.dw","match":"([^'])"}],"beginCaptures":{"0":{"name":"string.quoted.single.dw punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"string.quoted.single.dw punctuation.definition.string.end.dw"},"2":{"name":"invalid.illegal.newline.dw"}}},"regex":{"patterns":[{"name":"string.regexp.dw","begin":"(?\u003c=[=(:,\\[?+!]|replace|match|scan|matches|contains|---|case|-\u003e|and|or|\\*\\/)\\s*(\\/)(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/(?![\\/*])(?!\\s*[a-zA-Z0-9_$]))","end":"(/)","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.dw"}}},{"name":"string.regexp.dw","begin":"(?\u003c![_$[:alnum:])])\\/(?![\\/*])(?=(?:[^\\/\\\\\\[]|\\\\.|\\[([^\\]\\\\]|\\\\.)+\\])+\\/(?![\\/*])(?!\\s*[a-zA-Z0-9_$]))","end":"(/)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.dw"}}}]},"regex-character-class":{"patterns":[{"name":"constant.other.character-class.regexp","match":"\\\\[wWsSdDtrnvf]|\\."},{"name":"constant.character.numeric.regexp","match":"\\\\([0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])"},{"name":"constant.character.control.regexp","match":"\\\\c[A-Z]"},{"name":"constant.character.escape.backslash.regexp","match":"\\\\."}]},"regexp":{"patterns":[{"name":"keyword.control.anchor.regexp","match":"\\\\[bB]|\\^|\\$"},{"name":"keyword.other.back-reference.regexp","match":"\\\\[1-9]\\d*"},{"name":"keyword.operator.quantifier.regexp","match":"[?+*]|\\{(\\d+,\\d+|\\d+,|,\\d+|\\d+)\\}\\??"},{"name":"keyword.operator.or.regexp","match":"\\|"},{"name":"meta.group.assertion.regexp","begin":"(\\()((\\?=)|(\\?!))","end":"(\\))","patterns":[{"include":"#regexp"}],"beginCaptures":{"1":{"name":"punctuation.definition.group.regexp"},"2":{"name":"punctuation.definition.group.assertion.regexp"},"3":{"name":"meta.assertion.look-ahead.regexp"},"4":{"name":"meta.assertion.negative-look-ahead.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.group.regexp"}}},{"name":"meta.group.regexp","begin":"\\((\\?:)?","end":"\\)","patterns":[{"include":"#regexp"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.regexp"},"1":{"name":"punctuation.definition.group.capture.regexp"}},"endCaptures":{"0":{"name":"punctuation.definition.group.regexp"}}},{"name":"constant.other.character-class.set.regexp","begin":"(\\[)(\\^)?","end":"(\\])","patterns":[{"name":"constant.other.character-class.range.regexp","match":"(?:.|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))\\-(?:[^\\]\\\\]|(\\\\(?:[0-7]{3}|x[[:xdigit:]][[:xdigit:]]|u[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]))|(\\\\c[A-Z])|(\\\\.))","captures":{"1":{"name":"constant.character.numeric.regexp"},"2":{"name":"constant.character.control.regexp"},"3":{"name":"constant.character.escape.backslash.regexp"},"4":{"name":"constant.character.numeric.regexp"},"5":{"name":"constant.character.control.regexp"},"6":{"name":"constant.character.escape.backslash.regexp"}}},{"include":"#regex-character-class"}],"beginCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"},"2":{"name":"keyword.operator.negation.regexp"}},"endCaptures":{"1":{"name":"punctuation.definition.character-class.regexp"}}},{"include":"#regex-character-class"}]},"selectors":{"name":"meta.selector.data-weave","begin":"(?\u003c![\\[\\(:+*/\\-])(\\s*\\.\\.\\*|\\s*\\.\\.|\\s*\\.\\*|\\s*\\.\\@|\\s*\\.#|\\s*\\.\u0026|\\s*\\.|(?=\\[)|\\:\\:)","end":"(?=\\s|,|\\}|\\)|\\n|\\]|\\(|-|$)","patterns":[{"name":"variable.object.member.dw","match":"\\b([[:alpha:]][_[:alnum:]]+#)","captures":{"0":{"name":"variable.language.dw"}}},{"name":"variable.object.member.dw","match":"((?:[A-Za-z])([a-zA-Z0-9_]*)[?!]?|(\\$)+)"},{"include":"#strings"},{"begin":"(\\[(@|\\^)?)","end":"(\\])","patterns":[{"include":"#expressions"},{"name":"invalid","match":"([\\)])"}]},{"include":"#selectors"}]},"string-character-escape":{"name":"constant.character.escape.dw","match":"\\\\(u[[:xdigit:]]{4}|$|.)"},"strings":{"patterns":[{"include":"#qstring-single"},{"include":"#qstring-double"},{"include":"#qstring-backtick"},{"include":"#template"}]},"template":{"begin":"([$[:alpha:]][_$[:alnum:]]*)\\s*(`)","end":"`","patterns":[{"include":"#template-substitution-element"},{"include":"#template-dollar"},{"include":"#string-character-escape"},{"name":"string.template.dw","match":"([^`])"}],"beginCaptures":{"1":{"name":"support.function.dw"},"2":{"name":"string.template.dw punctuation.definition.string.template.begin.dw"}},"endCaptures":{"0":{"name":"string.template.dw punctuation.definition.string.template.end.dw"}}},"template-dollar":{"patterns":[{"name":"variable.parameter.dw","match":"(\\$(\\$)+)"},{"name":"variable.parameter.dw","match":"(\\$)(?![a-zA-Z(])"},{"name":"variable.parameter.dw","match":"(\\$)([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.other.dw"},"2":{"name":"variable.other.dw"}}}]},"template-substitution-element":{"name":"meta.template.expression.dw","begin":"\\$\\(","end":"\\)","patterns":[{"include":"#expressions"}],"beginCaptures":{"0":{"name":"keyword.other.dw"}},"endCaptures":{"0":{"name":"keyword.other.dw"}}},"type-directive":{"name":"meta.directive.type.dw","begin":"(\\s*(type)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(?=(fun|input|output|type|var|ns|import|%dw|private|---)\\s|(\\@[a-zA-Z][a-zA-Z0-9]*))","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"name":"keyword.other.dw","match":"\\="},{"include":"#types"}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.type.dw"}}},"type_parameters":{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#types"},{"include":"#punctuation-comma"},{"include":"#comments"}]},"types":{"patterns":[{"include":"#comments"},{"name":"constant.language.dw","match":"\\b(true|false|null)\\b"},{"name":"constant.numeric.dw","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?\\b"},{"include":"#strings"},{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#types"},{"include":"#punctuation-comma"},{"include":"#comments"}]},{"begin":"\\{\\-\\|","end":"\\|\\-\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{\\|","end":"\\|\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{\\-","end":"\\-\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"\\{","end":"\\}","patterns":[{"include":"#punctuation-comma"},{"include":"#object-member-type"}]},{"begin":"(\\()","end":"(\\)\\s*-\u003e|\\))","patterns":[{"include":"#types"},{"include":"#parameters"}],"beginCaptures":{"0":{"name":"keyword.operator.grouping.dw"}},"endCaptures":{"0":{"name":"keyword.operator.grouping.dw"}}},{"name":"support.class.dw","match":"(String|Boolean|Number|Range|Namespace|Uri|DateTime|LocalDateTime|Date|LocalTime|TimeZone|Time|Period|Binary|Null|Regex|Nothing|Any|Object|Key)"},{"begin":"(Array|Type)\\s*\u003c","end":"\u003e","patterns":[{"name":"invalid","match":","},{"include":"#types"}],"beginCaptures":{"1":{"name":"support.type.dw"}}},{"name":"keyword.operator.declaration.dw","match":"(\u0026|\\|)"},{"name":"keyword.operator.declaration.dw","match":"\u003c:"},{"name":"support.class.dw","match":"\\b([A-Z][a-zA-Z0-9_]*)"},{"include":"#undefined-fun-character"},{"match":"\\b(var|fun|ns)\\b"},{"name":"invalid","match":"\\b(input|output|var|ns|import|try|catch|throw|do|for|yield|enum|private|async)\\b"},{"name":"invalid","match":"\\b(if|else|while|for|do|using|unless|default|match)\\b"},{"name":"invalid","match":"(~=|==|!=|===|!==|\u003c=|\u003e=|\u003c|\u003e|\\$+)"}]},"undefined-fun-character":{"name":"constant.language.undefined.dw","match":"\\?\\?\\?"},"using-statement":{"name":"using-statement.expr.dw","begin":"(?\u003c!\\.|\\$)\\b(using)\\s*(\\()","end":"(\\))","patterns":[{"match":"((?:\\+\\+|\\-\\-|[A-Za-z])(?:[a-zA-Z0-9_]*))(\\s*=)","captures":{"1":{"name":"entity.name.variable.dw"},"2":{"name":"keyword.operator.dw"}}},{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.using.dw"},"2":{"name":"punctuation.definitions.begin.dw"}},"endCaptures":{"1":{"name":"punctuation.definitions.end.dw"}}},"var-directive":{"name":"meta.directive.var.dw","begin":"(\\s*(var)\\s+([a-zA-Z][a-zA-Z0-9]*))","end":"(=)","patterns":[{"begin":"\u003c","end":"\u003e","patterns":[{"include":"#generics"}]},{"begin":"(:)","end":"(?==|$)","patterns":[{"include":"#comments"},{"include":"#types"}],"beginCaptures":{"1":{"name":"keyword.operator.declaration.dw"}}}],"beginCaptures":{"2":{"name":"storage.type.dw"},"3":{"name":"entity.name.variable.dw"}},"endCaptures":{"0":{"name":"keyword.operator.assignment.dw"}}},"variable-reference":{"patterns":[{"name":"variable.other.dw","match":"\\b(?!(fun|input|output|type|var|ns|import|%dw|private|---)\\b)((\\+\\+|\\-\\-|[A-Za-z])[a-zA-Z0-9_]*)"},{"name":"invalid","match":"\\b(fun|input|output|type|var|ns|import|private)\\b"},{"name":"variable.parameter.dw","match":"(\\$+)"}]}}}
@@ -1 +1 @@
1
- {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"(-)\\s([^\\s\u003c\u003e\"']+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(^(?!.*- |#|\\n|.*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input)(?=(?::))).*)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input).*)(?=(:)\\s)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
1
+ {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"^\\s*(-)\\s([^\\s\u003c\u003e\"']+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(?i)(^(?!^\\s*-|#|\n|^\\s*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input)(?=(?::))).*?)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(?i)(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input).*)(?=(:)\\s)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.not_script_key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
@@ -1 +1 @@
1
- {"name":"EditorConfig","scopeName":"source.editorconfig","patterns":[{"include":"#main"}],"repository":{"bareword":{"name":"string.unquoted.bareword.editorconfig","match":"[^=#;\\s]+"},"comment":{"patterns":[{"name":"comment.line.number-sign.editorconfig","begin":"(\\s*)(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.editorconfig"},"2":{"name":"punctuation.definition.comment.editorconfig"}}},{"name":"comment.line.semicolon.editorconfig","begin":"(\\s*)(;)","end":"$","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.editorconfig"},"2":{"name":"punctuation.definition.comment.editorconfig"}}}]},"escape":{"name":"constant.character.escape.editorconfig","match":"\\\\."},"keywords":{"patterns":[{"name":"constant.language.boolean.${1:/downcase}.editorconfig","match":"(?i)(?\u003c=\\s|=)(true|false|on|off|yes|no)(?=$|\\s)"},{"name":"constant.language.${1:/downcase}.editorconfig","match":"(?i)(?\u003c=\\s|=)(CRLF|CR|LF|tab|space|unset)(?=$|\\s)"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#section"},{"include":"#rule"}]},"number":{"name":"constant.numeric.decimal.integer.int.editorconfig","match":"\\d+"},"pathBracketsCurly":{"begin":"{","end":"}|(?=$)","patterns":[{"include":"#escape"},{"name":"punctuation.separator.delimiter.comma.editorconfig","match":","},{"include":"#pathRange"},{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.definition.brace.bracket.curly.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.brace.bracket.curly.end.editorconfig"}}},"pathBracketsSquare":{"begin":"\\[","end":"\\]|(?=$)","patterns":[{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.definition.brace.bracket.square.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.brace.bracket.square.end.editorconfig"}}},"pathRange":{"name":"meta.range.editorconfig","match":"([0-9]+)(\\.{2})([0-9]+)","captures":{"1":{"patterns":[{"include":"#number"}]},"2":{"name":"punctuation.definition.separator.range.editorconfig"},"3":{"patterns":[{"include":"#number"}]}}},"pathSpec":{"patterns":[{"include":"#escape"},{"include":"#pathBracketsCurly"},{"include":"#pathBracketsSquare"},{"name":"keyword.operator.glob.wildcard.globstar.editorconfig","match":"\\*{2}"},{"name":"keyword.operator.glob.wildcard.editorconfig","match":"\\*"},{"name":"keyword.operator.glob.wildcard.editorconfig","match":"\\?"}]},"rule":{"patterns":[{"match":"^\\s*(indent_(width))(?=$|[=\\s])","captures":{"1":{"name":"keyword.other.definition.indent_size.editorconfig"},"2":{"name":"invalid.illegal.confusable.editorconfig"}}},{"match":"^\\s*(tab_(size))(?=$|[=\\s])","captures":{"1":{"name":"keyword.other.definition.tab_width.editorconfig"},"2":{"name":"invalid.illegal.confusable.editorconfig"}}},{"name":"meta.rule.${1:/downcase}.editorconfig","begin":"(?ix)\n^ \\s*\n( end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)","end":"$","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.other.definition.${1:/downcase}.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.charset.editorconfig","begin":"^\\s*(charset)\\s*(=)","end":"$","patterns":[{"name":"constant.language.charset.encoding.${1:/downcase}.editorconfig","match":"(?i)(?\u003c=\\s|=)([-\\w]+)(?=$|\\s)"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.other.definition.${1:/downcase}.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.custom.editorconfig","begin":"^\\s*(?![\\[#;])([^\\s=]+)\\s*(=)","end":"$","patterns":[{"include":"#value"},{"include":"#bareword"}],"beginCaptures":{"1":{"name":"keyword.other.definition.custom.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}}]},"section":{"name":"meta.section.editorconfig","begin":"^\\s*(?=\\[.*?\\])","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#sectionHeader"},{"include":"#comment"},{"include":"#rule"}]},"sectionHeader":{"name":"meta.section.header.editorconfig","contentName":"entity.name.section.group-title.editorconfig","begin":"\\G\\[","end":"\\]|(?=$)","patterns":[{"name":"keyword.control.logical.not.negation.editorconfig","match":"\\G!"},{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.section.brace.bracket.square.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.section.brace.bracket.square.end.editorconfig"}}},"string":{"patterns":[{"name":"string.quoted.double.editorconfig","begin":"\"","end":"\"","patterns":[{"include":"#escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.editorconfig"}}},{"name":"string.quoted.single.editorconfig","begin":"'","end":"'","patterns":[{"include":"#escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.editorconfig"}}}]},"value":{"patterns":[{"include":"#escape"},{"include":"#comment"},{"include":"#keywords"},{"include":"#number"},{"include":"#string"}]}}}
1
+ {"name":"EditorConfig","scopeName":"source.editorconfig","patterns":[{"include":"#main"}],"repository":{"array":{"begin":"(?:\\G|^)(?=\\s*[^#\\s,]+\\s*(?:,\\s*[^#\\s,]+)++\\s*$)","end":"(?=\\s*(?:$|#))","patterns":[{"name":"string.unquoted.bareword.editorconfig","match":"[^#\\s,]+"},{"include":"#comma"}]},"bareword":{"name":"string.unquoted.bareword.editorconfig","match":"[^=#;\\s]+"},"bestGuess":{"patterns":[{"include":"#value"},{"include":"#bareword"},{"include":"#comment"}]},"comma":{"name":"punctuation.separator.delimiter.comma.editorconfig","match":","},"comment":{"patterns":[{"name":"comment.line.number-sign.editorconfig","begin":"(\\s*)(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.editorconfig"},"2":{"name":"punctuation.definition.comment.editorconfig"}}},{"name":"comment.line.semicolon.editorconfig","begin":"(\\s*)(;)","end":"$","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.editorconfig"},"2":{"name":"punctuation.definition.comment.editorconfig"}}}]},"escape":{"name":"constant.character.escape.editorconfig","match":"\\\\."},"keywords":{"patterns":[{"name":"constant.language.boolean.${1:/downcase}.editorconfig","match":"(?i)(?:\\G|^|(?\u003c=\\s|=))(true|false|on|off|yes|no)(?=$|\\s)"},{"name":"constant.language.${1:/downcase}.editorconfig","match":"(?i)(?:\\G|^|(?\u003c=\\s|=))(CRLF|CR|LF|tab|space|unset)(?=$|\\s)"}]},"main":{"patterns":[{"include":"#comment"},{"include":"#section"},{"include":"#rule"}]},"number":{"name":"constant.numeric.decimal.integer.int.editorconfig","match":"\\d+"},"pathBracketsCurly":{"begin":"{","end":"}|(?=$)","patterns":[{"include":"#escape"},{"include":"#comma"},{"include":"#pathRange"},{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.definition.brace.bracket.curly.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.brace.bracket.curly.end.editorconfig"}}},"pathBracketsSquare":{"begin":"\\[","end":"\\]|(?=$)","patterns":[{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.definition.brace.bracket.square.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.brace.bracket.square.end.editorconfig"}}},"pathRange":{"name":"meta.range.editorconfig","match":"([0-9]+)(\\.{2})([0-9]+)","captures":{"1":{"patterns":[{"include":"#number"}]},"2":{"name":"punctuation.definition.separator.range.editorconfig"},"3":{"patterns":[{"include":"#number"}]}}},"pathSpec":{"patterns":[{"include":"#escape"},{"include":"#pathBracketsCurly"},{"include":"#pathBracketsSquare"},{"name":"keyword.operator.glob.wildcard.globstar.editorconfig","match":"\\*{2}"},{"name":"keyword.operator.glob.wildcard.editorconfig","match":"\\*"},{"name":"keyword.operator.glob.wildcard.editorconfig","match":"\\?"}]},"rule":{"patterns":[{"match":"^\\s*(indent_(width))(?=$|[=\\s])","captures":{"1":{"name":"keyword.other.definition.indent_size.editorconfig"},"2":{"name":"invalid.illegal.confusable.editorconfig"}}},{"match":"^\\s*(tab_(size))(?=$|[=\\s])","captures":{"1":{"name":"keyword.other.definition.tab_width.editorconfig"},"2":{"name":"invalid.illegal.confusable.editorconfig"}}},{"name":"meta.rule.${1:/downcase}.editorconfig","begin":"(?ix)\n^ \\s*\n( end_of_line\n| indent_size\n| indent_style\n| insert_final_newline\n| max_line_length\n| root\n| tab_width\n| trim_trailing_whitespace\n) \\s* (=)","end":"$","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.other.definition.${1:/downcase}.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.charset.editorconfig","begin":"^\\s*(charset)\\s*(=)","end":"$","patterns":[{"name":"constant.language.charset.encoding.${1:/downcase}.editorconfig","match":"(?i)(?\u003c=\\s|=)([-\\w]+)(?=$|\\s)"},{"include":"#value"}],"beginCaptures":{"1":{"name":"keyword.other.definition.${1:/downcase}.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.vendor-specific.intellij.editorconfig","begin":"(?i)^\\s*(ij_[^#\\s=]+)\\s*(=)","end":"(?=\\s*(?:$|#))","patterns":[{"include":"#array"},{"include":"#value"},{"include":"#bareword"}],"beginCaptures":{"1":{"name":"keyword.other.definition.vendor-specific.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.vendor-specific.microsoft.${2:/downcase}.editorconfig","begin":"(?i)^\\s*((csharp|dotnet|java|vs|vscode|visual_studio)_[^\\s=]+)\\s*(=)","end":"$","patterns":[{"name":"string.unquoted.pathname.windows.editorconfig","begin":"[A-Z]:\\\\(?=[^\\s:])","end":"(?=\\s*(?:$|:|#|;))","patterns":[{"match":"\\\\"},{"include":"#pathSpec"}]},{"name":"meta.severity-level.editorconfig","match":"\\G\\s*(?:(true|false)(:))?(error|warning|suggestion|silent|none|default)(?=$|[\\s;#])","captures":{"1":{"patterns":[{"include":"#keywords"}]},"2":{"name":"punctuation.separator.warning.editorconfig"},"3":{"name":"constant.language.severity-level.editorconfig"}}},{"include":"#bestGuess"}],"beginCaptures":{"1":{"name":"keyword.other.definition.custom.editorconfig"},"3":{"name":"punctuation.separator.key-value.editorconfig"}}},{"name":"meta.rule.custom.editorconfig","begin":"^\\s*(?![\\[#;])([^\\s=]+)\\s*(=)","end":"$","patterns":[{"include":"#bestGuess"}],"beginCaptures":{"1":{"name":"keyword.other.definition.custom.editorconfig"},"2":{"name":"punctuation.separator.key-value.editorconfig"}}}]},"section":{"name":"meta.section.editorconfig","begin":"^\\s*(?=\\[.*?\\])","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#sectionHeader"},{"include":"#comment"},{"include":"#rule"}]},"sectionHeader":{"name":"meta.section.header.editorconfig","contentName":"entity.name.section.group-title.editorconfig","begin":"\\G\\[","end":"\\]|(?=$)","patterns":[{"name":"keyword.control.logical.not.negation.editorconfig","match":"\\G!"},{"include":"#pathSpec"}],"beginCaptures":{"0":{"name":"punctuation.section.brace.bracket.square.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.section.brace.bracket.square.end.editorconfig"}}},"string":{"patterns":[{"name":"string.quoted.double.editorconfig","begin":"\"","end":"\"","patterns":[{"include":"#escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.editorconfig"}}},{"name":"string.quoted.single.editorconfig","begin":"'","end":"'","patterns":[{"include":"#escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.editorconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.editorconfig"}}}]},"value":{"patterns":[{"include":"#escape"},{"include":"#comment"},{"include":"#keywords"},{"include":"#number"},{"include":"#string"}]}}}
@@ -1 +1 @@
1
- {"name":"Elvish","scopeName":"source.elvish","patterns":[{"name":"string.quoted.double.elvish","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.elvish","match":"\\\\."}]},{"name":"string.quoted.single.elvish","begin":"'","end":"'"},{"name":"comment.line.number-sign.elvish","begin":"#","end":"$"},{"name":"variable.other.elvish","match":"\\$[\\w\\d_:~-]+"},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(var|set|tmp|del)((\\s+[\\w\\d_:~-]+)+)","captures":{"1":{"name":"keyword.other.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(for)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"}\\s+(catch|except)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(nop|!=|!=s|%|\\*|\\+|-gc|-ifaddrs|-log|-override-wcwidth|-stack|-|/|\u003c|\u003c=|\u003c=s|\u003cs|==|==s|\u003e|\u003e=|\u003e=s|\u003es|all|assoc|base|bool|break|call|cd|compare|constantly|continue|count|defer|deprecate|dissoc|drop|each|eawk|echo|eq|eval|exact-num|exec|exit|external|fail|fg|float64|from-json|from-lines|from-terminated|get-env|has-env|has-external|has-key|has-value|is|keys|kind-of|make-map|multi-error|nop|not-eq|not|ns|num|one|only-bytes|only-values|order|peach|pprint|print|printf|put|rand|randint|range|read-line|read-upto|repeat|repr|resolve|return|run-parallel|search-external|set-env|show|sleep|slurp|src|styled|styled-segment|take|tilde-abbr|time|to-json|to-lines|to-string|to-terminated|unset-env|use-mod|wcswidth)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"support.function.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(and|or|coalesce)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.operator.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(use|var|set|tmp|del|pragma|fn)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(while|for|try|if)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"match":"}\\s+(elif|else|catch|except|finally)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"name":"keyword.operator.elvish","match":"[*?|\u0026;\u003c\u003e()\\[\\]{}]"}]}
1
+ {"name":"Elvish","scopeName":"source.elvish","patterns":[{"name":"string.quoted.double.elvish","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.elvish","match":"\\\\."}]},{"name":"string.quoted.single.elvish","begin":"'","end":"'"},{"name":"comment.line.number-sign.elvish","begin":"#","end":"$"},{"name":"variable.other.elvish","match":"\\$[\\w\\d_:~-]+"},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(var|set|tmp|del)((\\s+[\\w\\d_:~-]+)+)","captures":{"1":{"name":"keyword.other.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(for)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=})\\s+(catch|except)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(nop|!=|!=s|%|\\*|\\+|-gc|-ifaddrs|-log|-override-wcwidth|-stack|-|/|\u003c|\u003c=|\u003c=s|\u003cs|==|==s|\u003e|\u003e=|\u003e=s|\u003es|all|assoc|base|bool|break|call|cd|compare|constantly|continue|count|defer|deprecate|dissoc|drop|each|eawk|echo|eq|eval|exact-num|exec|exit|external|fail|fg|float64|from-json|from-lines|from-terminated|get-env|has-env|has-external|has-key|has-value|is|keys|kind-of|make-map|multi-error|nop|not-eq|not|ns|num|one|only-bytes|only-values|order|peach|pprint|print|printf|put|rand|randint|range|read-line|read-upto|repeat|repr|resolve|return|run-parallel|search-external|set-env|show|sleep|slurp|src|styled|styled-segment|take|tilde-abbr|time|to-json|to-lines|to-string|to-terminated|unset-env|use-mod|wcswidth)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"support.function.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(and|or|coalesce)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.operator.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(use|var|set|tmp|del|pragma|fn)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(while|for|try|if)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"match":"(?\u003c=})\\s+(elif|else|catch|except|finally)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"name":"keyword.operator.elvish","match":"[*?|\u0026;\u003c\u003e()\\[\\]{}]"}]}
@@ -1 +1 @@
1
- {"name":"VSCode GCode Syntax","scopeName":"source.gcode","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comments"},{"include":"#control"},{"include":"#gcodes"},{"include":"#mcodes"},{"include":"#operators"},{"include":"#speedsfeeds"},{"include":"#prognumbers"},{"include":"#coords"},{"include":"#tools"},{"include":"#modifiers"},{"include":"#macrovars"},{"include":"#rs274ngc"}]},"comments":{"patterns":[{"name":"comment.gcode","match":"(\\(.+\\))"},{"name":"comment.gcode","begin":";","end":"\\n"}]},"control":{"patterns":[{"name":"keyword.control.gcode","match":"(?i)(GOTO\\s?\\d+)"},{"name":"keyword.control.gcode","match":"(?i)(EQ|NE|LT|GT|LE|GE|AND|OR|XOR)"},{"name":"keyword.control.gcode","match":"(?i)(DO\\s?\\d*|WHILE|WH|END|IF|THEN|ELSE|ENDIF)"},{"name":"string.gcode","match":"([\\%])"}]},"coords":{"patterns":[{"name":"string.gcode","match":"([xX])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"string.gcode","match":"([yY])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"invalid.gcode","match":"([zZ])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"constant.character.escape.gcode","match":"([aAbBcC])\\s?(\\-*\\d?\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"}]},"gcodes":{"patterns":[{"name":"constant.numeric.gcode","match":"[gG](1)?5[4-9](.1)?\\s?(P[0-9]{1,3})?"},{"name":"constant.numeric.gcode","match":"[gG]1[1-2][0-9]"},{"name":"constant.numeric.gcode","match":"[gG]15\\s?(H[0-9]{1,2})?"},{"name":"markup.bold.gcode","match":"[gG][0-9]{1,3}(\\.[0-9])?"}]},"macrovars":{"patterns":[{"name":"variable.other.gcode","match":"[#][0-9]*"}]},"mcodes":{"patterns":[{"name":"keyword.operator.quantifier.regexp.gcode","match":"[mM][0-9]{1,3}"}]},"modifiers":{"patterns":[{"name":"constant.character.escape.gcode","match":"([iIjJkK])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"support.constant.math.gcode","match":"([qQrR])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"},{"name":"support.constant.math.gcode","match":"([uUwW])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"}]},"operators":{"patterns":[{"name":"support.constant.math.gcode","match":"(?i)(SIN|COS|TAN|ASIN|ACOS|ATAN|FIX|FUP|LN|ROUND|SQRT)"},{"name":"support.constant.math.gcode","match":"(?i)(FIX|FUP|ROUND|ABS|MOD)"},{"name":"support.constant.math.gcode","match":"(\\+|\\*|\\/|\\*\\*)"},{"name":"invalid.gcode","match":"(\\-)"}]},"prognumbers":{"patterns":[{"name":"constant.numeric.gcode","match":"(^[nN])(\\d+)"},{"name":"string.regexp.gcode","match":"(^[oO])(\\d+)?"},{"name":"string.regexp.gcode","match":"([pP])\\s?(\\d?\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"rs274ngc":{"patterns":[{"name":"keyword.control.gcode","match":"(?i)(ENDSUB|SUB)"},{"name":"support.type.gcode","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"markup.bold.gcode"}},"endCaptures":{"0":{"name":"markup.bold.gcode"}}}]},"speedsfeeds":{"patterns":[{"name":"constant.language.gcode","match":"([sS])\\s?(\\d+|(?=[#\\[]))"},{"name":"constant.language.gcode","match":"([eEfF])\\s?\\.?(\\d+(\\.\\d*)?|(?=[#\\[]))"}]},"tools":{"patterns":[{"name":"constant.character.gcode","match":"([dD])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([hH])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"([tT])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"}]}}}
1
+ {"name":"VSCode GCode Syntax","scopeName":"source.gcode","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#comments"},{"include":"#control"},{"include":"#gcodes"},{"include":"#mcodes"},{"include":"#operators"},{"include":"#speedsfeeds"},{"include":"#prognumbers"},{"include":"#coords"},{"include":"#tools"},{"include":"#modifiers"},{"include":"#macrovars"},{"include":"#rs274ngc"}]},"comments":{"patterns":[{"name":"comment.gcode","match":"(\\(.+\\))"},{"name":"comment.gcode","begin":";","end":"\\n"}]},"control":{"patterns":[{"name":"keyword.control.gcode","match":"(?i)(GOTO\\s?\\d+)"},{"name":"keyword.control.gcode","match":"(?i)(EQ|NE|LT|GT|LE|GE|AND|OR|XOR)"},{"name":"keyword.control.gcode","match":"(?i)(DO\\s?\\d*|WHILE|WH|END|IF|THEN|ELSE|ENDIF)"},{"name":"string.gcode","match":"([\\%])"}]},"coords":{"patterns":[{"name":"string.gcode","match":"(?i)([X])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"string.gcode","match":"(?i)([Y])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"invalid.gcode","match":"(?i)([Z])\\s?(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"constant.character.escape.gcode","match":"(?i)([ABC])\\s?(\\-*\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"}]},"gcodes":{"patterns":[{"name":"constant.numeric.gcode","match":"(?i)[G](1)?5[4-9](.1)?\\s?(P[0-9]{1,3})?"},{"name":"constant.numeric.gcode","match":"(?i)[G]1[1-2][0-9]"},{"name":"constant.numeric.gcode","match":"(?i)[G]15\\s?(H[0-9]{1,2})?"},{"name":"markup.bold.gcode","match":"(?i)[G][0-9]{1,3}(\\.[0-9])?"}]},"macrovars":{"patterns":[{"name":"variable.other.gcode","match":"[#][0-9]*"}]},"mcodes":{"patterns":[{"name":"keyword.operator.quantifier.regexp.gcode","match":"(?i)[M][0-9]{1,3}"}]},"modifiers":{"patterns":[{"name":"constant.character.escape.gcode","match":"(?i)([IJK])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]))"},{"name":"support.constant.math.gcode","match":"(?i)([QR])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"},{"name":"support.constant.math.gcode","match":"(?i)([UW])(\\-?\\d*\\.?\\d+\\.?|\\-?\\.?(?=[#\\[]]))"}]},"operators":{"patterns":[{"name":"support.constant.math.gcode","match":"(?i)(SIN|COS|TAN|ASIN|ACOS|ATAN|FIX|FUP|LN|ROUND|SQRT)"},{"name":"support.constant.math.gcode","match":"(?i)(FIX|FUP|ROUND|ABS|MOD)"},{"name":"support.constant.math.gcode","match":"(\\+|\\*|\\/|\\*\\*)"},{"name":"invalid.gcode","match":"(\\-)"}]},"prognumbers":{"patterns":[{"name":"constant.numeric.gcode","match":"(?i)(^[N])(\\d+)"},{"name":"string.regexp.gcode","match":"(?i)(^[O])(\\d+)?"},{"name":"string.regexp.gcode","match":"(?i)([P])\\s?(\\d?\\.?\\d+\\.?|\\.?(?=[#\\[]))"}]},"rs274ngc":{"patterns":[{"name":"keyword.control.gcode","match":"(?i)(ENDSUB|SUB)"},{"name":"support.type.gcode","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"markup.bold.gcode"}},"endCaptures":{"0":{"name":"markup.bold.gcode"}}}]},"speedsfeeds":{"patterns":[{"name":"constant.language.gcode","match":"(?i)([S])\\s?(\\d+|(?=[#\\[]))"},{"name":"constant.language.gcode","match":"(?i)([EF])\\s?\\.?(\\d+(\\.\\d*)?|(?=[#\\[]))"}]},"tools":{"patterns":[{"name":"constant.character.gcode","match":"(?i)([D])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"(?i)([H])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"},{"name":"constant.character.gcode","match":"(?i)([T])\\s?(\\d+(\\.\\d*)?|(?=[#\\[]))"}]}}}
@@ -1 +1 @@
1
- {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#in_keyword"},{"include":"#getter_setter_godot4"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#lambda_declaration"},{"include":"#control_flow"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#self"},{"include":"#const_def"},{"include":"#class_def"},{"include":"#var_def"},{"include":"#type_hint"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#node_path"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#signal-declaration-bare"},{"include":"#signal-declaration"},{"include":"#function-declaration"},{"include":"#function_keyword"},{"include":"#any-method"},{"include":"#any-property"},{"include":"#extends"}],"repository":{"annotated-parameter":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotated-parameter2":{"begin":"(?x)\n \\b\n ([[:alpha:]_]\\w*) \\s* (:) \\s* ([[:alpha:]_]\\w*)? \\s* (=)? \\s* ([[:alpha:].0-9\\'\\\"_]*)?\n","end":"(,)|(?=\\))","beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"patterns":[{"include":"#builtin_classes"},{"include":"#pascal_case_class"}]},"4":{"name":"keyword.operator.assignment.gdscript"},"5":{"patterns":[{"include":"#base_expression"}]}},"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)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any-method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any-property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#keywords"},{"include":"#logic_op"},{"include":"#lambda_declaration"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#function-call"},{"include":"#comment"},{"include":"#self"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_func"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#line-continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(abs|absf|absi|acos|asin|assert|atan|atan2|bytes2var|bytes2var_with_objects|ceil|char|clamp|clampf|clampi|Color8|convert|cos|cosh|cubic_interpolate|db2linear|decimals|dectime|deg2rad|dict2inst|ease|error_string|exp|floor|fmod|fposmod|funcref|get_stack|hash|inst2dict|instance_from_id|inverse_lerp|is_equal_approx|is_inf|is_instance_id_valid|is_instance_valid|is_nan|is_zero_approx|len|lerp|lerp_angle|linear2db|load|log|max|maxf|maxi|min|minf|mini|move_toward|nearest_po2|pingpong|posmod|pow|preload|print|printerr|printraw|prints|printt|print_debug|print_stack|print_verbose|push_error|push_warning|rad2deg|randf|randfn|randf_range|randi|randi_range|randomize|rand_from_seed|rand_range|rand_seed|range|range_lerp|range_step_decimals|rid_allocate_id|rid_from_int64|round|seed|sign|signf|signi|sin|sinh|smoothstep|snapped|sqrt|stepify|step_decimals|str|str2var|tan|tanh|typeof|type_exists|var2bytes|var2bytes_with_objects|var2str|weakref|wrapf|wrapi|yield)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"}]},"builtin_get_node_shorthand_bare":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)","end":"[^\\w%]","patterns":[{"name":"constant.character.escape","match":"[a-zA-Z_][a-zA-Z_0-9]*/?"},{"name":"invalid.illegal.escape.gdscript","match":"%[a-zA-Z_][a-zA-Z_0-9]*/?"}],"beginCaptures":{"1":{"name":"keyword.control.flow"}}},"builtin_get_node_shorthand_quoted":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)([\\\"\\'])","end":"([\\\"\\'])","patterns":[{"name":"keyword.control.flow","match":"%"},{"name":"constant.character.escape","match":"[^%]*"}],"beginCaptures":{"1":{"name":"keyword.control.flow"},"2":{"name":"constant.character.escape"}},"endCaptures":{"1":{"name":"constant.character.escape"}}},"class_def":{"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_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_][a-zA-Z_0-9]*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_def":{"match":"\\b(?i:(const))\\s+([a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"constant.language.gdscript"}}},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|yield|await)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?"},"function-arguments":{"contentName":"meta.function-call.arguments.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([[:alpha:]_]\\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"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function-call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([[:alpha:]_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function-name"},{"include":"#function-arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function-declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_][a-zA-Z_0-9]*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line-continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function-name":{"patterns":[{"include":"#builtin_func"},{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([[:alpha:]_]\\w*) \\b\n"}]},"function_keyword":{"name":"keyword.language.gdscript","match":"func"},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line-continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"name":"keyword.control.gdscript"},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:class|class_name|extends|is|onready|tool|static|export|setget|const|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line-continuation"}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line-continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"},"loose-default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"name":"meta.literal.nodepath.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated-parameter"},{"match":"(?x)\n ([[:alpha:]_]\\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":"support.class.library.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal-declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_][a-zA-Z_0-9]*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line-continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal-declaration-bare":{"match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_][a-zA-Z_0-9]*)(?=[\\n\\s])","captures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"strings":{"patterns":[{"begin":"(?:(?\u003c=get_node|has_node|find_node|get_node_or_null|NodePath)\\s*\\(\\s*)","end":"(?:\\s*\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']"},{"include":"#base_expression"}]},{"name":"invalid.illegal.escape.gdscript","begin":"'''","end":"'''"},{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"type_hint":{"match":"\\:\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*(?=[=\\n]|setget)","captures":{"1":{"name":"entity.name.type.class.gdscript"}}},"var_def":{"match":"\\b(?i:(var))\\s+(?=[a-zA-Z_][a-zA-Z_0-9]*)","captures":{"1":{"name":"storage.type.var.gdscript"}}}}}
1
+ {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#base_expression"},{"include":"#logic_op"},{"include":"#in_keyword"},{"include":"#getter_setter_godot4"},{"include":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#lambda_declaration"},{"include":"#control_flow"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#self"},{"include":"#class_definition"},{"include":"#variable_definition"},{"include":"#class_name"},{"include":"#builtin_func"},{"include":"#builtin_get_node_shorthand"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#function_keyword"},{"include":"#any_method"},{"include":"#any_property"},{"include":"#extends"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\b\n ([a-zA-Z_]\\w*) \\s* (:)\n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|icon|onready|rpc|tool|warning_ignore)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"name":"variable.other.property.gdscript","match":"(?\u003c=[^.]\\.)\\b([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_op":{"name":"keyword.operator.arithmetic.gdscript","match":"\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},"assignment_op":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#keywords"},{"include":"#logic_op"},{"include":"#lambda_declaration"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_func"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"support.class.library.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray|super)\\b"},"builtin_func":{"name":"support.function.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(abs|absf|absi|acos|asin|assert|atan|atan2|bytes2var|bytes2var_with_objects|ceil|char|clamp|clampf|clampi|Color8|convert|cos|cosh|cubic_interpolate|db2linear|decimals|dectime|deg2rad|dict2inst|ease|error_string|exp|floor|fmod|fposmod|funcref|get_stack|hash|inst2dict|instance_from_id|inverse_lerp|is_equal_approx|is_inf|is_instance_id_valid|is_instance_valid|is_nan|is_zero_approx|len|lerp|lerp_angle|linear2db|load|log|max|maxf|maxi|min|minf|mini|move_toward|nearest_po2|pingpong|posmod|pow|preload|print|printerr|printraw|prints|printt|print_debug|print_stack|print_verbose|push_error|push_warning|rad2deg|randf|randfn|randf_range|randi|randi_range|randomize|rand_from_seed|rand_range|rand_seed|range|range_lerp|range_step_decimals|rid_allocate_id|rid_from_int64|round|seed|sign|signf|signi|sin|sinh|smoothstep|snapped|sqrt|stepify|step_decimals|str|str2var|tan|tanh|typeof|type_exists|var2bytes|var2bytes_with_objects|var2str|weakref|wrapf|wrapi|yield)\\b(?=(\\()([^)]*)(\\)))"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"}]},"builtin_get_node_shorthand_bare":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)","end":"[^\\w%]","patterns":[{"name":"constant.character.escape","match":"[a-zA-Z_]\\w*/?"},{"name":"invalid.illegal.escape.gdscript","match":"%[a-zA-Z_]\\w*/?"}],"beginCaptures":{"1":{"name":"keyword.control.flow"}}},"builtin_get_node_shorthand_quoted":{"name":"support.function.builtin.shorthand.gdscript","begin":"(\\$)([\"'])","end":"([\"'])|$","patterns":[{"name":"keyword.control.flow","match":"%"},{"name":"constant.character.escape","match":"[^%]*"}],"beginCaptures":{"1":{"name":"keyword.control.flow"},"2":{"name":"constant.character.escape"}},"endCaptures":{"1":{"name":"constant.character.escape"}}},"class_definition":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_op":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?i:if|elif|else|for|while|break|continue|pass|return|match|yield|await)\\b"},"extends":{"name":"entity.other.inherited-class.gdscript","match":"(?\u003c=extends)\\s+[a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?"},"function_arguments":{"contentName":"meta.function-call.arguments.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"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((:)|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_keyword":{"name":"keyword.language.gdscript","match":"func"},"function_name":{"patterns":[{"include":"#builtin_func"},{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"match":"\\b(for)\\s+[a-zA-Z_]\\w*\\s+(in)\\b","captures":{"1":{"name":"keyword.control.gdscript"},"2":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?i:class|class_name|extends|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?i:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_op":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"name":"meta.literal.nodepath.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"\\b(?i:0x[[:xdigit:]]*)\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+\\.\\d*(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\.\\d+(e[\\-\\+]?\\d+)?))\\b"},{"name":"constant.numeric.float.gdscript","match":"\\b(?i:(\\d+e[\\-\\+]?\\d+))\\b"},{"name":"constant.numeric.integer.gdscript","match":"\\b\\d+\\b"}]},"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":"support.class.library.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"match":"\\s*(\\-\\\u003e)\\s*([a-zA-Z_]\\w*)\\s*\\:","captures":{"1":{},"2":{"name":"entity.name.type.class.gdscript"}}}],"beginCaptures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"strings":{"patterns":[{"begin":"(?:(?\u003c=get_node|has_node|find_node|get_node_or_null|NodePath)\\s*\\(\\s*)","end":"(?:\\s*\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']"},{"include":"#base_expression"}]},{"name":"invalid.illegal.escape.gdscript","begin":"'''","end":"'''"},{"name":"string.quoted.double.gdscript","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.quoted.single.gdscript","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.untitled","match":"\\\\."}]},{"name":"string.nodepath.gdscript","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.untitled","match":"\\."}]}]},"variable_definition":{"begin":"\\b(?:(var)|(const))","end":"$","patterns":[{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"storage.type.var.gdscript"},"2":{"name":"storage.type.const.gdscript"}}}}}
@@ -1 +1 @@
1
- {"name":"GDShader","scopeName":"source.gdshader","patterns":[{"include":"#any"}],"repository":{"any":{"patterns":[{"include":"#comment"},{"include":"#enclosed"},{"include":"#classifier"},{"include":"#definition"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"},{"include":"#operator"}]},"arraySize":{"name":"meta.array-size.gdshader","begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"}],"captures":{"0":{"name":"punctuation.bracket.gdshader"}}},"classifier":{"name":"meta.classifier.gdshader","begin":"(?=\u0008(?:shader_type|render_mode)\u0008)","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#identifierClassification"},{"include":"#separator"}]},"classifierKeyword":{"name":"keyword.language.classifier.gdshader","match":"\u0008(?:shader_type|render_mode)\u0008"},"comment":{"patterns":[{"include":"#commentLine"},{"include":"#commentBlock"}]},"commentBlock":{"name":"comment.block.gdshader","begin":"/\\*","end":"\\*/"},"commentLine":{"name":"comment.line.double-slash.gdshader","begin":"//","end":"$"},"constantFloat":{"name":"constant.language.float.gdshader","match":"\u0008(?:E|PI|TAU)\u0008"},"constructor":{"name":"entity.name.type.constructor.gdshader","match":"\u0008[a-zA-Z_]\\w*(?=\\s*\\[\\s*\\w*\\s*\\]\\s*[(])|\u0008[A-Z]\\w*(?=\\s*[(])"},"controlKeyword":{"name":"keyword.control.gdshader","match":"\u0008(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\u0008"},"definition":{"patterns":[{"include":"#structDefinition"}]},"element":{"patterns":[{"include":"#literalFloat"},{"include":"#literalInt"},{"include":"#literalBool"},{"include":"#identifierType"},{"include":"#constructor"},{"include":"#processorFunction"},{"include":"#identifierFunction"},{"include":"#swizzling"},{"include":"#identifierField"},{"include":"#constantFloat"},{"include":"#languageVariable"},{"include":"#identifierVariable"}]},"enclosed":{"name":"meta.parenthesis.gdshader","begin":"\\(","end":"\\)","patterns":[{"include":"#any"}],"captures":{"0":{"name":"punctuation.parenthesis.gdshader"}}},"fieldDefinition":{"name":"meta.definition.field.gdshader","begin":"\u0008[a-zA-Z_]\\w*\u0008","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#arraySize"},{"include":"#fieldName"},{"include":"#any"}],"beginCaptures":{"0":{"patterns":[{"include":"#typeKeyword"},{"name":"entity.name.type.gdshader","match":".+"}]}}},"fieldName":{"name":"entity.name.variable.field.gdshader","match":"\u0008[a-zA-Z_]\\w*\u0008"},"hintKeyword":{"name":"support.type.annotation.gdshader","match":"\u0008(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[rgba]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\u0008"},"identifierClassification":{"name":"entity.other.inherited-class.gdshader","match":"\u0008[a-z_]+\u0008"},"identifierField":{"name":"entity.name.variable.field.gdshader"},"identifierFunction":{"name":"entity.name.function.gdshader","match":"\u0008[a-zA-Z_]\\w*(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},"identifierType":{"name":"entity.name.type.gdshader","match":"\u0008[a-zA-Z_]\\w*(?=(?:\\s*\\[\\s*\\w*\\s*\\])?\\s+[a-zA-Z_]\\w*\u0008)"},"identifierVariable":{"name":"variable.name.gdshader","match":"\u0008[a-zA-Z_]\\w*\u0008"},"keyword":{"patterns":[{"include":"#classifierKeyword"},{"include":"#structKeyword"},{"include":"#controlKeyword"},{"include":"#modifierKeyword"},{"include":"#precisionKeyword"},{"include":"#typeKeyword"},{"include":"#hintKeyword"}]},"languageVariable":{"name":"variable.language.gdshader","match":"\u0008(?:[A-Z][A-Z_0-9]*)\u0008"},"literalBool":{"name":"constant.language.boolean.gdshader","match":"\u0008(?:false|true)\u0008"},"literalFloat":{"name":"constant.numeric.float.gdshader","match":"\u0008(?:\\d+[eE][-+]?\\d+|(?:\\d*[.]\\d+|\\d+[.])(?:[eE][-+]?\\d+)?)[fF]?"},"literalInt":{"name":"constant.numeric.integer.gdshader","match":"\u0008(?:0[xX][0-9A-Fa-f]+|\\d+[uU]?)\u0008"},"modifierKeyword":{"name":"storage.modifier.gdshader","match":"\u0008(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\u0008"},"operator":{"name":"keyword.operator.gdshader","match":"\\\u003c\\\u003c\\=?|\\\u003e\\\u003e\\=?|[-+*/\u0026|\u003c\u003e=!]\\=|\\\u0026\\\u0026|[|][|]|[-+~!*/%\u003c\u003e\u0026^|=]"},"precisionKeyword":{"name":"storage.type.built-in.primitive.precision.gdshader","match":"\u0008(?:low|medium|high)p\u0008"},"processorFunction":{"name":"support.function.gdshader","match":"\u0008(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},"separator":{"patterns":[{"name":"punctuation.accessor.gdshader","match":"[.]"},{"include":"#separatorComma"},{"name":"punctuation.terminator.statement.gdshader","match":"[;]"},{"name":"keyword.operator.type.annotation.gdshader","match":"[:]"}]},"separatorComma":{"name":"punctuation.separator.comma.gdshader","match":"[,]"},"structDefinition":{"begin":"(?=\u0008(?:struct)\u0008)","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#structName"},{"include":"#structDefinitionBlock"},{"include":"#separator"}]},"structDefinitionBlock":{"name":"meta.definition.block.struct.gdshader","begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#precisionKeyword"},{"include":"#fieldDefinition"},{"include":"#keyword"},{"include":"#any"}],"captures":{"0":{"name":"punctuation.definition.block.struct.gdshader"}}},"structKeyword":{"name":"keyword.other.struct.gdshader","match":"\u0008(?:struct)\u0008"},"structName":{"name":"entity.name.type.struct.gdshader","match":"\u0008[a-zA-Z_]\\w*\u0008"},"swizzling":{"name":"variable.other.property.gdshader"},"typeKeyword":{"name":"support.type.gdshader","match":"\u0008(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\u0008"}}}
1
+ {"name":"GDShader","scopeName":"source.gdshader","patterns":[{"include":"#any"}],"repository":{"any":{"patterns":[{"include":"#comment"},{"include":"#enclosed"},{"include":"#classifier"},{"include":"#definition"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"},{"include":"#operator"}]},"arraySize":{"name":"meta.array-size.gdshader","begin":"\\[","end":"\\]","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#element"},{"include":"#separator"}],"captures":{"0":{"name":"punctuation.bracket.gdshader"}}},"classifier":{"name":"meta.classifier.gdshader","begin":"(?=\\b(?:shader_type|render_mode)\\b)","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#identifierClassification"},{"include":"#separator"}]},"classifierKeyword":{"name":"keyword.language.classifier.gdshader","match":"\\b(?:shader_type|render_mode)\\b"},"comment":{"patterns":[{"include":"#commentLine"},{"include":"#commentBlock"}]},"commentBlock":{"name":"comment.block.gdshader","begin":"/\\*","end":"\\*/"},"commentLine":{"name":"comment.line.double-slash.gdshader","begin":"//","end":"$"},"constantFloat":{"name":"constant.language.float.gdshader","match":"\\b(?:E|PI|TAU)\\b"},"constructor":{"name":"entity.name.type.constructor.gdshader","match":"\\b[a-zA-Z_]\\w*(?=\\s*\\[\\s*\\w*\\s*\\]\\s*[(])|\\b[A-Z]\\w*(?=\\s*[(])"},"controlKeyword":{"name":"keyword.control.gdshader","match":"\\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\\b"},"definition":{"patterns":[{"include":"#structDefinition"}]},"element":{"patterns":[{"include":"#literalFloat"},{"include":"#literalInt"},{"include":"#literalBool"},{"include":"#identifierType"},{"include":"#constructor"},{"include":"#processorFunction"},{"include":"#identifierFunction"},{"include":"#swizzling"},{"include":"#identifierField"},{"include":"#constantFloat"},{"include":"#languageVariable"},{"include":"#identifierVariable"}]},"enclosed":{"name":"meta.parenthesis.gdshader","begin":"\\(","end":"\\)","patterns":[{"include":"#any"}],"captures":{"0":{"name":"punctuation.parenthesis.gdshader"}}},"fieldDefinition":{"name":"meta.definition.field.gdshader","begin":"\\b[a-zA-Z_]\\w*\\b","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#arraySize"},{"include":"#fieldName"},{"include":"#any"}],"beginCaptures":{"0":{"patterns":[{"include":"#typeKeyword"},{"name":"entity.name.type.gdshader","match":".+"}]}}},"fieldName":{"name":"entity.name.variable.field.gdshader","match":"\\b[a-zA-Z_]\\w*\\b"},"hintKeyword":{"name":"support.type.annotation.gdshader","match":"\\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[rgba]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\\b"},"identifierClassification":{"name":"entity.other.inherited-class.gdshader","match":"\\b[a-z_]+\\b"},"identifierField":{"match":"([.])\\s*([a-zA-Z_]\\w*)\\b(?!\\s*\\()","captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"entity.name.variable.field.gdshader"}}},"identifierFunction":{"name":"entity.name.function.gdshader","match":"\\b[a-zA-Z_]\\w*(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},"identifierType":{"name":"entity.name.type.gdshader","match":"\\b[a-zA-Z_]\\w*(?=(?:\\s*\\[\\s*\\w*\\s*\\])?\\s+[a-zA-Z_]\\w*\\b)"},"identifierVariable":{"name":"variable.name.gdshader","match":"\\b[a-zA-Z_]\\w*\\b"},"keyword":{"patterns":[{"include":"#classifierKeyword"},{"include":"#structKeyword"},{"include":"#controlKeyword"},{"include":"#modifierKeyword"},{"include":"#precisionKeyword"},{"include":"#typeKeyword"},{"include":"#hintKeyword"}]},"languageVariable":{"name":"variable.language.gdshader","match":"\\b(?:[A-Z][A-Z_0-9]*)\\b"},"literalBool":{"name":"constant.language.boolean.gdshader","match":"\\b(?:false|true)\\b"},"literalFloat":{"name":"constant.numeric.float.gdshader","match":"\\b(?:\\d+[eE][-+]?\\d+|(?:\\d*[.]\\d+|\\d+[.])(?:[eE][-+]?\\d+)?)[fF]?"},"literalInt":{"name":"constant.numeric.integer.gdshader","match":"\\b(?:0[xX][0-9A-Fa-f]+|\\d+[uU]?)\\b"},"modifierKeyword":{"name":"storage.modifier.gdshader","match":"\\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\\b"},"operator":{"name":"keyword.operator.gdshader","match":"\\\u003c\\\u003c\\=?|\\\u003e\\\u003e\\=?|[-+*/\u0026|\u003c\u003e=!]\\=|\\\u0026\\\u0026|[|][|]|[-+~!*/%\u003c\u003e\u0026^|=]"},"precisionKeyword":{"name":"storage.type.built-in.primitive.precision.gdshader","match":"\\b(?:low|medium|high)p\\b"},"processorFunction":{"name":"support.function.gdshader","match":"\\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\\s|/\\*(?:\\*(?!/)|[^*])*\\*/)*[(])"},"separator":{"patterns":[{"name":"punctuation.accessor.gdshader","match":"[.]"},{"include":"#separatorComma"},{"name":"punctuation.terminator.statement.gdshader","match":"[;]"},{"name":"keyword.operator.type.annotation.gdshader","match":"[:]"}]},"separatorComma":{"name":"punctuation.separator.comma.gdshader","match":"[,]"},"structDefinition":{"begin":"(?=\\b(?:struct)\\b)","end":"(?\u003c=;)","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#structName"},{"include":"#structDefinitionBlock"},{"include":"#separator"}]},"structDefinitionBlock":{"name":"meta.definition.block.struct.gdshader","begin":"\\{","end":"\\}","patterns":[{"include":"#comment"},{"include":"#precisionKeyword"},{"include":"#fieldDefinition"},{"include":"#keyword"},{"include":"#any"}],"captures":{"0":{"name":"punctuation.definition.block.struct.gdshader"}}},"structKeyword":{"name":"keyword.other.struct.gdshader","match":"\\b(?:struct)\\b"},"structName":{"name":"entity.name.type.struct.gdshader","match":"\\b[a-zA-Z_]\\w*\\b"},"swizzling":{"match":"([.])\\s*([xyzw]{2,4}|[rgba]{2,4}|[stpq]{2,4})\\b","captures":{"1":{"name":"punctuation.accessor.gdshader"},"2":{"name":"variable.other.property.gdshader"}}},"typeKeyword":{"name":"support.type.gdshader","match":"\\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\\b"}}}