github-linguist 7.22.1 → 7.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) 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/inline.graphql.json +1 -0
  6. data/grammars/inline.graphql.php.json +1 -0
  7. data/grammars/inline.graphql.python.json +1 -0
  8. data/grammars/inline.graphql.re.json +1 -0
  9. data/grammars/inline.graphql.res.json +1 -0
  10. data/grammars/inline.prisma.json +1 -1
  11. data/grammars/liquid.injection.json +1 -1
  12. data/grammars/markdown.graphql.codeblock.json +1 -0
  13. data/grammars/markdown.rescript.codeblock.json +1 -0
  14. data/grammars/source.abapcds.json +1 -1
  15. data/grammars/source.astro.json +1 -1
  16. data/grammars/source.ats.json +1 -1
  17. data/grammars/source.bicep.json +1 -1
  18. data/grammars/source.brs.json +1 -1
  19. data/grammars/source.cairo.json +1 -1
  20. data/grammars/source.cl.json +1 -1
  21. data/grammars/source.cobol.json +1 -1
  22. data/grammars/source.context.json +1 -0
  23. data/grammars/source.cs.json +1 -1
  24. data/grammars/source.csswg.json +1 -1
  25. data/grammars/source.curry.json +1 -1
  26. data/grammars/source.cypher.json +1 -0
  27. data/grammars/source.dart.json +1 -1
  28. data/grammars/source.data-weave.json +1 -1
  29. data/grammars/source.denizenscript.json +1 -1
  30. data/grammars/source.ditroff.json +1 -1
  31. data/grammars/source.editorconfig.json +1 -1
  32. data/grammars/source.elvish-transcript.json +1 -0
  33. data/grammars/source.elvish.in.markdown.json +1 -0
  34. data/grammars/source.elvish.json +1 -0
  35. data/grammars/source.fsharp.json +1 -1
  36. data/grammars/source.ftl.json +1 -1
  37. data/grammars/source.gcode.json +1 -1
  38. data/grammars/source.gdscript.json +1 -1
  39. data/grammars/source.gdshader.json +1 -1
  40. data/grammars/source.gemini.json +1 -0
  41. data/grammars/source.graphql.json +1 -1
  42. data/grammars/source.hack.json +1 -1
  43. data/grammars/source.hocon.json +1 -0
  44. data/grammars/source.httpspec.json +1 -1
  45. data/grammars/source.imba.json +1 -0
  46. data/grammars/source.ink.json +1 -0
  47. data/grammars/source.jsonnet.json +1 -1
  48. data/grammars/source.julia.json +1 -1
  49. data/grammars/source.just.json +1 -0
  50. data/grammars/source.kusto.json +1 -1
  51. data/grammars/source.llvm.json +1 -1
  52. data/grammars/source.man-conf.json +1 -1
  53. data/grammars/source.mermaid.c4c-diagram.json +1 -0
  54. data/grammars/source.mermaid.class-diagram.json +1 -0
  55. data/grammars/source.mermaid.er-diagram.json +1 -0
  56. data/grammars/source.mermaid.flowchart.json +1 -0
  57. data/grammars/source.mermaid.gantt.json +1 -0
  58. data/grammars/source.mermaid.gitgraph.json +1 -0
  59. data/grammars/source.mermaid.json +1 -0
  60. data/grammars/source.mermaid.pie-chart.json +1 -0
  61. data/grammars/source.mermaid.requirement-diagram.json +1 -0
  62. data/grammars/source.mermaid.sequence-diagram.json +1 -0
  63. data/grammars/source.mermaid.state-diagram.json +1 -0
  64. data/grammars/source.mermaid.user-journey.json +1 -0
  65. data/grammars/source.mo.json +1 -1
  66. data/grammars/source.move.json +1 -1
  67. data/grammars/source.opts.json +1 -1
  68. data/grammars/source.p4.json +1 -1
  69. data/grammars/source.pddl.happenings.json +1 -0
  70. data/grammars/source.pddl.json +1 -0
  71. data/grammars/source.pddl.plan.json +1 -0
  72. data/grammars/source.pic.json +1 -1
  73. data/grammars/source.polar.json +1 -0
  74. data/grammars/source.postscript.json +1 -1
  75. data/grammars/source.python.json +1 -1
  76. data/grammars/source.ql.json +1 -1
  77. data/grammars/source.rescript.json +1 -1
  78. data/grammars/source.rpgle.json +1 -1
  79. data/grammars/source.rsc.json +1 -1
  80. data/grammars/source.scala.json +1 -1
  81. data/grammars/source.scenic.json +1 -0
  82. data/grammars/source.sexp.json +1 -0
  83. data/grammars/source.sfv.json +1 -0
  84. data/grammars/source.smithy.json +1 -0
  85. data/grammars/source.sqf.json +1 -1
  86. data/grammars/source.stan.json +1 -1
  87. data/grammars/source.svelte.json +1 -1
  88. data/grammars/source.toc.json +1 -1
  89. data/grammars/source.ts.json +1 -1
  90. data/grammars/source.ts.prismaClientRawSQL.json +1 -0
  91. data/grammars/source.tsx.json +1 -1
  92. data/grammars/source.v.json +1 -1
  93. data/grammars/source.xojo.json +1 -1
  94. data/grammars/source.yara.json +1 -1
  95. data/grammars/text.adblock.json +1 -0
  96. data/grammars/text.checksums.json +1 -1
  97. data/grammars/text.grammarkdown.json +1 -0
  98. data/grammars/text.html.ecmarkup.json +1 -0
  99. data/grammars/text.html.liquid.json +1 -1
  100. data/grammars/text.html.statamic.json +1 -1
  101. data/grammars/text.info.json +1 -1
  102. data/grammars/text.marko.json +1 -1
  103. data/grammars/text.restructuredtext.json +1 -1
  104. data/grammars/text.roff.json +1 -1
  105. data/grammars/text.texinfo.json +1 -1
  106. data/grammars/text.youtube.json +1 -0
  107. data/grammars/version +1 -1
  108. data/lib/linguist/VERSION +1 -1
  109. data/lib/linguist/generated.rb +32 -3
  110. data/lib/linguist/generic.yml +1 -0
  111. data/lib/linguist/heuristics.yml +86 -4
  112. data/lib/linguist/languages.json +1 -1
  113. data/lib/linguist/languages.yml +264 -5
  114. data/lib/linguist/samples.json +1 -1
  115. data/lib/linguist/vendor.yml +0 -1
  116. metadata +45 -3
@@ -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"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Elvish transcript","scopeName":"source.elvish-transcript","patterns":[{"contentName":"meta.embedded.block.elvish","begin":"(^|\\G)[~/][^ ]*\u003e ","while":"(^|\\G) ","patterns":[{"include":"source.elvish"}]}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.elvish.in.markdown","patterns":[{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish)((\\s+|:|,|\\{|\\?)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.elvish","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.elvish"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish-transcript)((\\s+|:|,|\\{|\\?)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.elvish-transcript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.elvish-transcript"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}]}
@@ -0,0 +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":"(?\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":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use\\!|and|and!)\\s*(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
1
+ {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
@@ -1 +1 @@
1
- {"scopeName":"source.ftl","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\s*(\\.[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\s*[^\\.])","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}}},"comment":{"name":"comment.fluent","match":"^##?#?\\s.*$"},"function-comma":{"name":"support.function.function-comma.fluent","match":","},"function-named-argument":{"name":"variable.other.named-argument.fluent","begin":"([a-zA-Z0-9]+:)\\s*([\"a-zA-Z0-9]+)","end":"(?=\\)|,|\\s)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}}},"function-positional-argument":{"name":"variable.other.function.positional-argument.fluent","match":"\\$[a-zA-Z0-9_-]+"},"invalid-placeable-string-missing-end-quote":{"name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent","match":"\"[^\"]+$"},"invalid-placeable-wrong-placeable-missing-end":{"name":"invalid.illegal.wrong-placeable-missing-end.fluent","match":"([^}A-Z]*$|[^-][^\u003e]$)\\b"},"message":{"contentName":"string.fluent","begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}}},"placeable":{"contentName":"variable.other.placeable.content.fluent","begin":"({)","end":"(})","patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}],"beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}}},"placeable-function":{"contentName":"string.placeable-function.fluent","begin":"([A-Z][A-Z0-9_-]*\\()","end":"(\\))","patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}],"beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}}},"placeable-reference-or-number":{"name":"variable.other.placeable.reference-or-number.fluent","match":"((-|\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)"},"placeable-string":{"contentName":"string.placeable-string-content.fluent","begin":"(\")(?=[^\\n]*\")","end":"(\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"contentName":"string.selector.content.fluent","begin":"(-\u003e)","end":"^(?=\\s*})","patterns":[{"include":"#selector-item"}],"beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}}},"selector-item":{"contentName":"string.selector-item.content.fluent","begin":"(\\s*\\*?\\[)([a-zA-Z0-9_-]+)(\\]\\s*)","end":"^(?=\\s|})","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}}},"wrong-line":{"name":"invalid.illegal.wrong-line.fluent","match":".*"}}}
1
+ {"scopeName":"source.ftl","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\s*(\\.[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\s*[^\\.])","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}}},"comment":{"name":"comment.fluent","match":"^##?#?\\s.*$"},"function-comma":{"name":"support.function.function-comma.fluent","match":","},"function-named-argument":{"name":"variable.other.named-argument.fluent","begin":"([a-zA-Z0-9]+:)\\s*([\"a-zA-Z0-9]+)","end":"(?=\\)|,|\\s)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}}},"function-positional-argument":{"name":"variable.other.function.positional-argument.fluent","match":"\\$[a-zA-Z0-9_-]+"},"invalid-placeable-string-missing-end-quote":{"name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent","match":"\"[^\"]+$"},"invalid-placeable-wrong-placeable-missing-end":{"name":"invalid.illegal.wrong-placeable-missing-end.fluent","match":"([^}A-Z]*$|[^-][^\u003e]$)\\b"},"message":{"contentName":"string.fluent","begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}}},"placeable":{"contentName":"variable.other.placeable.content.fluent","begin":"({)","end":"(})","patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}],"beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}}},"placeable-function":{"contentName":"string.placeable-function.fluent","begin":"([A-Z][A-Z0-9_-]*\\()","end":"(\\))","patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}],"beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}}},"placeable-reference-or-number":{"name":"variable.other.placeable.reference-or-number.fluent","match":"((-|\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)"},"placeable-string":{"contentName":"string.placeable-string-content.fluent","begin":"(\")(?=[^\\n]*\")","end":"(\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"contentName":"string.selector.content.fluent","begin":"(-\u003e)","end":"^(?=\\s*})","patterns":[{"include":"#selector-item"}],"beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}}},"selector-item":{"contentName":"string.selector-item.content.fluent","begin":"(\\s*\\*?\\[)([a-zA-Z0-9_-]+)(\\]\\s*)","end":"^(?=(\\s*})|(\\s*\\[)|(\\s*\\*))","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}}},"wrong-line":{"name":"invalid.illegal.wrong-line.fluent","match":".*"}}}
@@ -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":"#compare_op"},{"include":"#arithmetic_op"},{"include":"#assignment_op"},{"include":"#control_flow"},{"include":"#decorators"},{"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":"#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"}}},"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":"#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(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)\\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":{"name":"support.function.builtin.shorthand.gdscript","match":"(\\$)([\\\"\\'].*[\\\"\\']|(?:[a-zA-Z_][a-zA-Z_0-9]*/?)*)","captures":{"1":{"name":"keyword.control.flow"},"2":{"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|in|yield)\\b"},"decorators":{"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":"keyword.control.flow"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"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"}]},"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)\\b"},"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|find_node|get_node)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"constant.character.escape","begin":"[\\\"\\']","end":"[\\\"\\']"}],"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":"[\\\"\\']"}],"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
- {"scopeName":"source.gdshader","patterns":[{"include":"#shader_type"},{"include":"source.glsl"}],"repository":{"shader_type":{"name":"storage.type.glsl","match":"(shader_type)"}}}
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"}}}
@@ -0,0 +1 @@
1
+ {"name":"Gemini","scopeName":"source.gemini","patterns":[{"include":"#headings"},{"include":"#links"},{"include":"#quote"},{"include":"#raw"},{"include":"#unorderedLists"}],"repository":{"headings":{"patterns":[{"name":"markup.heading.1.gemini","match":"^(#)(?:[^#].*)?\n","captures":{"1":{"name":"punctuation.definition.heading.1.gemini"}}},{"name":"markup.heading.2.gemini","match":"^(##)(?:[^#].*)?\n","captures":{"1":{"name":"punctuation.definition.heading.2.gemini"}}},{"name":"markup.heading.3.gemini","match":"^(###)(?:[^#].*)?\n","captures":{"1":{"name":"punctuation.definition.heading.3.gemini"}}}]},"links":{"patterns":[{"match":"^=\u003e[ \t]+([^ \t]+)(?:[ \t]+(.*))?","captures":{"1":{"name":"markup.underline.link.markdown.gemini"},"2":{"name":"string.other.link.title.markdown.gemini"}}}]},"quote":{"patterns":[{"name":"markup.quote.markdown.gemini","match":"^(\u003e).*$","captures":{"1":{"name":"punctuation.definition.quote.begin.markdown.gemini"}}}]},"raw":{"patterns":[{"name":"markup.raw.gemini","begin":"^```.*\n","end":"^```.*\n"}]},"unorderedLists":{"patterns":[{"name":"markup.list.unnumbered.gemini","match":"^(\\*)[ \t]+.+\n","captures":{"1":{"name":"punctuation.definition.list.begin.markdown.gemini"}}}]}}}
@@ -1 +1 @@
1
- {"name":"GraphQL","scopeName":"source.graphql","patterns":[{"include":"#graphql"}],"repository":{"graphql":{"patterns":[{"include":"#graphql-fragment-definition"},{"include":"#graphql-type-interface"},{"include":"#graphql-enum"},{"include":"#graphql-scalar"},{"include":"#graphql-union"},{"include":"#graphql-schema"},{"include":"#graphql-operation-def"},{"include":"#graphql-comment"},{"include":"#graphql-directive"},{"include":"#graphql-blockstring-value"},{"include":"#graphql-string-value"}]},"graphql-arguments":{"name":"meta.arguments.graphql","begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))?","end":"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)","patterns":[{"include":"#graphql-value"},{"include":"#graphql-comment"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.arguments.graphql"},"2":{"name":"punctuation.colon.graphql"}},"endCaptures":{"3":{"name":"punctuation.comma.graphql"}}}],"beginCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"endCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}}},"graphql-blockstring-value":{"contentName":"string.quoted.block.graphql","begin":"\\s*+((\"\"\"))","end":"\\s*+(?:((\"\"\")))","patterns":[{"include":"#graphql-string-content"}],"beginCaptures":{"1":{"name":"string.quoted.block.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"endCaptures":{"1":{"name":"string.quoted.block.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"}}},"graphql-boolean-value":{"match":"\\s*\\b(true|false)\\b","captures":{"1":{"name":"constant.boolean.graphql"}}},"graphql-colon":{"match":"\\s*(:)","captures":{"1":{"name":"punctuation.colon.graphql"}}},"graphql-comma":{"match":"\\s*(,)","captures":{"1":{"name":"punctuation.comma.graphql"}}},"graphql-comment":{"name":"comment.line.graphql.js","match":"(\\s*)(#).*","captures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},"graphql-directive":{"begin":"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))","end":"(?=.)","patterns":[{"include":"#graphql-arguments"},{"include":"#graphql-comment"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"entity.name.function.directive.graphql"}},"applyEndPatternLast":true},"graphql-enum":{"name":"meta.enum.graphql","begin":"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?\u003c=})","patterns":[{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-enum-value"},{"include":"#graphql-blockstring-value"},{"include":"#graphql-string-value"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}}],"beginCaptures":{"1":{"name":"keyword.enum.graphql"},"2":{"name":"support.type.enum.graphql"}}},"graphql-enum-value":{"name":"constant.character.enum.graphql","match":"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)"},"graphql-field":{"patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)","captures":{"1":{"name":"string.unquoted.alias.graphql"},"2":{"name":"punctuation.colon.graphql"}}},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},{"include":"#graphql-arguments"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"},{"include":"#graphql-skip-newlines"}]},"graphql-float-value":{"match":"\\s*((-)?(0|([1-9]\\d*)(\\.\\d*)?((e|E)(\\+|-)?\\d*)?))","captures":{"1":{"name":"constant.float.graphql"}}},"graphql-fragment-definition":{"name":"meta.fragment.graphql","begin":"\\s*(?:(\\bfragment\\b)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)))","end":"(?\u003c=})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.fragment.graphql"},"2":{"name":"entity.name.fragment.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}}},"graphql-fragment-spread":{"begin":"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"variable.fragment.graphql"}},"applyEndPatternLast":true},"graphql-inline-fragment":{"begin":"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-input-types":{"patterns":[{"include":"#graphql-scalar-type"},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?","captures":{"1":{"name":"support.type.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},{"name":"meta.type.list.graphql","begin":"\\s*(\\[)","end":"\\s*(\\])(?:\\s*(!))?","patterns":[{"include":"#graphql-input-types"},{"include":"#graphql-comment"},{"include":"#graphql-comma"}],"captures":{"1":{"name":"meta.brace.squart.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}}]},"graphql-int-value":{"match":"\\s*((-)?(0|[1-9][0-9]*))","captures":{"1":{"name":"constant.int.graphql"}}},"graphql-list-value":{"patterns":[{"name":"meta.listvalues.graphql","begin":"\\s*+(\\[)","end":"\\s*(\\])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.square.graphql"}},"endCaptures":{"1":{"name":"meta.brace.square.graphql"}}}]},"graphql-name":{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"entity.name.function.graphql"}}},"graphql-object-field":{"match":"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)","captures":{"1":{"name":"constant.object.key.graphql"},"2":{"name":"string.unquoted.graphql"},"3":{"name":"punctuation.graphql"}}},"graphql-object-value":{"patterns":[{"name":"meta.objectvalues.graphql","begin":"\\s*+({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-field"},{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"endCaptures":{"1":{"name":"meta.brace.curly.graphql"}}}]},"graphql-operation-def":{"patterns":[{"include":"#graphql-query-mutation"},{"include":"#graphql-name"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"}]},"graphql-query-mutation":{"match":"\\s*\\b(query|mutation)\\b","captures":{"1":{"name":"keyword.operation.graphql"}}},"graphql-scalar":{"match":"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"keyword.scalar.graphql"},"2":{"name":"entity.scalar.graphql"}}},"graphql-scalar-type":{"match":"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?","captures":{"1":{"name":"support.type.builtin.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},"graphql-schema":{"begin":"\\s*\\b(schema)\\b","end":"(?\u003c=})","patterns":[{"begin":"\\s*({)","end":"\\s*(})","patterns":[{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-colon"},{"include":"#graphql-comment"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.arguments.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-directive"},{"include":"#graphql-comment"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"keyword.schema.graphql"}}},"graphql-selection-set":{"name":"meta.selectionset.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-field"},{"include":"#graphql-fragment-spread"},{"include":"#graphql-inline-fragment"},{"include":"#graphql-comma"},{"include":"#graphql-comment"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-skip-newlines":{"match":"\\s*\n"},"graphql-string-content":{"patterns":[{"name":"constant.character.escape.graphql","match":"\\\\[/'\"\\\\nrtbf]"},{"name":"constant.character.escape.graphql","match":"\\\\u([0-9a-fA-F]{4})"}]},"graphql-string-value":{"contentName":"string.quoted.double.graphql","begin":"\\s*+((\"))","end":"\\s*+(?:((\"))|(\n))","patterns":[{"include":"#graphql-string-content"}],"beginCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"endCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"},"3":{"name":"invalid.illegal.newline.graphql"}}},"graphql-type-definition":{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"include":"#graphql-directive"},{"include":"#graphql-comment"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-type-object"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"}],"beginCaptures":{"1":{"name":"variable.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-type-interface":{"name":"meta.type.interface.graphql","begin":"\\s*\\b(?:(extends)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?","end":"(?\u003c=})","patterns":[{"match":"\\s*(?:\\b(implements)\\b|(\u0026))\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"keyword.implements.graphql"},"2":{"name":"keyword.implements.graphql"},"3":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-directive"},{"include":"#graphql-type-object"}],"captures":{"1":{"name":"keyword.type.graphql"},"2":{"name":"keyword.type.graphql"},"3":{"name":"keyword.interface.graphql"},"4":{"name":"keyword.input.graphql"},"5":{"name":"support.type.graphql"}}},"graphql-type-object":{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-type-definition"},{"include":"#graphql-blockstring-value"},{"include":"#graphql-string-value"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-union":{"begin":"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"begin":"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"match":"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"punctuation.or.graphql"},"2":{"name":"support.type.graphql"}}}],"captures":{"1":{"name":"punctuation.assignment.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.union.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-union-mark":{"match":"\\s*(\\|)","captures":{"1":{"name":"punctuation.union.graphql"}}},"graphql-value":{"patterns":[{"include":"#graphql-variable-name"},{"include":"#graphql-float-value"},{"include":"#graphql-int-value"},{"include":"#graphql-blockstring-value"},{"include":"#graphql-string-value"},{"include":"#graphql-boolean-value"},{"include":"#graphql-enum-value"},{"include":"#graphql-list-value"},{"include":"#graphql-object-value"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-assignment":{"begin":"\\s(=)","end":"(?=.)","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"punctuation.assignment.graphql"}},"applyEndPatternLast":true},"graphql-variable-definition":{"name":"meta.variables.graphql","begin":"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#graphql-variable-assignment"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-variable-definitions":{"begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-variable-definition"},{"include":"#graphql-blockstring-value"},{"include":"#graphql-string-value"}],"captures":{"1":{"name":"meta.brace.round.graphql"}}},"graphql-variable-name":{"match":"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}}}}
1
+ {"name":"GraphQL","scopeName":"source.graphql","patterns":[{"include":"#graphql"}],"repository":{"graphql":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-fragment-definition"},{"include":"#graphql-directive-definition"},{"include":"#graphql-type-interface"},{"include":"#graphql-enum"},{"include":"#graphql-scalar"},{"include":"#graphql-union"},{"include":"#graphql-schema"},{"include":"#graphql-operation-def"},{"include":"#literal-quasi-embedded"}]},"graphql-ampersand":{"match":"\\s*(\u0026)","captures":{"1":{"name":"keyword.operator.logical.graphql"}}},"graphql-arguments":{"name":"meta.arguments.graphql","begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))","end":"(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-value"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"},"2":{"name":"punctuation.colon.graphql"}},"endCaptures":{"3":{"name":"punctuation.comma.graphql"}}},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}},"endCaptures":{"1":{"name":"meta.brace.round.directive.graphql"}}},"graphql-boolean-value":{"match":"\\s*\\b(true|false)\\b","captures":{"1":{"name":"constant.language.boolean.graphql"}}},"graphql-colon":{"match":"\\s*(:)","captures":{"1":{"name":"punctuation.colon.graphql"}}},"graphql-comma":{"match":"\\s*(,)","captures":{"1":{"name":"punctuation.comma.graphql"}}},"graphql-comment":{"patterns":[{"name":"comment.line.graphql.js","match":"(\\s*)(#).*","captures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\"\"\")","end":"(\"\"\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}},{"name":"comment.line.graphql.js","begin":"(\")","end":"(\")","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.graphql"}}}]},"graphql-description-docstring":{"name":"comment.block.graphql","begin":"\"\"\"","end":"\"\"\""},"graphql-description-singleline":{"name":"comment.line.number-sign.graphql","match":"#(?=([^\"]*\"[^\"]*\")*[^\"]*$).*$"},"graphql-directive":{"begin":"\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-arguments"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"entity.name.function.directive.graphql"}},"applyEndPatternLast":true},"graphql-directive-definition":{"begin":"\\s*(\\bdirective\\b)\\s*(@[_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-variable-definitions"},{"begin":"\\s*(\\bon\\b)\\s*([_A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z]*)","captures":{"2":{"name":"support.type.location.graphql"}}}],"beginCaptures":{"1":{"name":"keyword.on.graphql"},"2":{"name":"support.type.location.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-skip-newlines"},{"include":"#graphql-comment"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"keyword.directive.graphql"},"2":{"name":"entity.name.function.directive.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-enum":{"name":"meta.enum.graphql","begin":"\\s*+\\b(enum)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?\u003c=})","patterns":[{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-type"},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-enum-value"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"}],"beginCaptures":{"1":{"name":"keyword.enum.graphql"},"2":{"name":"support.type.enum.graphql"}}},"graphql-enum-value":{"name":"constant.character.enum.graphql","match":"\\s*(?!=\\b(true|false|null)\\b)([_A-Za-z][_0-9A-Za-z]*)"},"graphql-field":{"patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)\\s*(:)","captures":{"1":{"name":"string.unquoted.alias.graphql"},"2":{"name":"punctuation.colon.graphql"}}},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},{"include":"#graphql-arguments"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}]},"graphql-float-value":{"match":"\\s*(-?(0|[1-9][0-9]*)(\\.[0-9]+)?((e|E)(\\+|-)?[0-9]+)?)","captures":{"1":{"name":"constant.numeric.float.graphql"}}},"graphql-fragment-definition":{"name":"meta.fragment.graphql","begin":"\\s*(?:(\\bfragment\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)?\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*)))","end":"(?\u003c=})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.fragment.graphql"},"2":{"name":"entity.name.fragment.graphql"},"3":{"name":"keyword.on.graphql"},"4":{"name":"support.type.graphql"}}},"graphql-fragment-spread":{"begin":"\\s*(\\.\\.\\.)\\s*(?!\\bon\\b)([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"variable.fragment.graphql"}},"applyEndPatternLast":true},"graphql-ignore-spaces":{"match":"\\s*"},"graphql-inline-fragment":{"begin":"\\s*(\\.\\.\\.)\\s*(?:(\\bon\\b)\\s*([_A-Za-z][_0-9A-Za-z]*))?","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-selection-set"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.operator.spread.graphql"},"2":{"name":"keyword.on.graphql"},"3":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-input-types":{"patterns":[{"include":"#graphql-scalar-type"},{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(!))?","captures":{"1":{"name":"support.type.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},{"name":"meta.type.list.graphql","begin":"\\s*(\\[)","end":"\\s*(\\])(?:\\s*(!))?","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-input-types"},{"include":"#graphql-comma"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.square.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}}]},"graphql-list-value":{"patterns":[{"name":"meta.listvalues.graphql","begin":"\\s*+(\\[)","end":"\\s*(\\])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.square.graphql"}},"endCaptures":{"1":{"name":"meta.brace.square.graphql"}}}]},"graphql-name":{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"entity.name.function.graphql"}}},"graphql-null-value":{"match":"\\s*\\b(null)\\b","captures":{"1":{"name":"constant.language.null.graphql"}}},"graphql-object-field":{"match":"\\s*(([_A-Za-z][_0-9A-Za-z]*))\\s*(:)","captures":{"1":{"name":"constant.object.key.graphql"},"2":{"name":"string.unquoted.graphql"},"3":{"name":"punctuation.graphql"}}},"graphql-object-value":{"patterns":[{"name":"meta.objectvalues.graphql","begin":"\\s*+({)","end":"\\s*(})","patterns":[{"include":"#graphql-object-field"},{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"meta.brace.curly.graphql"}},"endCaptures":{"1":{"name":"meta.brace.curly.graphql"}}}]},"graphql-operation-def":{"patterns":[{"include":"#graphql-query-mutation"},{"include":"#graphql-name"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-directive"},{"include":"#graphql-selection-set"}]},"graphql-query-mutation":{"match":"\\s*\\b(query|mutation)\\b","captures":{"1":{"name":"keyword.operation.graphql"}}},"graphql-scalar":{"match":"\\s*\\b(scalar)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"keyword.scalar.graphql"},"2":{"name":"entity.scalar.graphql"}}},"graphql-scalar-type":{"match":"\\s*\\b(Int|Float|String|Boolean|ID)\\b(?:\\s*(!))?","captures":{"1":{"name":"support.type.builtin.graphql"},"2":{"name":"keyword.operator.nulltype.graphql"}}},"graphql-schema":{"begin":"\\s*\\b(schema)\\b","end":"(?\u003c=})","patterns":[{"begin":"\\s*({)","end":"\\s*(})","patterns":[{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-colon"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.arguments.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"keyword.schema.graphql"}}},"graphql-selection-set":{"name":"meta.selectionset.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-field"},{"include":"#graphql-fragment-spread"},{"include":"#graphql-inline-fragment"},{"include":"#graphql-comma"},{"include":"#native-interpolation"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-skip-newlines":{"match":"\\s*\n"},"graphql-string-content":{"patterns":[{"name":"constant.character.escape.graphql","match":"\\\\[/'\"\\\\nrtbf]"},{"name":"constant.character.escape.graphql","match":"\\\\u([0-9a-fA-F]{4})"}]},"graphql-string-value":{"contentName":"string.quoted.double.graphql","begin":"\\s*+((\"))","end":"\\s*+(?:((\"))|(\n))","patterns":[{"include":"#graphql-string-content"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.begin.graphql"}},"endCaptures":{"1":{"name":"string.quoted.double.graphql"},"2":{"name":"punctuation.definition.string.end.graphql"},"3":{"name":"invalid.illegal.newline.graphql"}}},"graphql-type-definition":{"begin":"\\s*([_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*(([_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(})))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-variable-definitions"},{"include":"#graphql-type-object"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"variable.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-type-interface":{"name":"meta.type.interface.graphql","begin":"\\s*\\b(?:(extends?)?\\b\\s*\\b(type)|(interface)|(input))\\b\\s*([_A-Za-z][_0-9A-Za-z]*)?","end":"(?=.)","patterns":[{"begin":"\\s*\\b(implements)\\b\\s*","end":"\\s*(?={)","patterns":[{"match":"\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"support.type.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-ampersand"},{"include":"#graphql-comma"}],"beginCaptures":{"1":{"name":"keyword.implements.graphql"}}},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-type-object"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-ignore-spaces"}],"captures":{"1":{"name":"keyword.type.graphql"},"2":{"name":"keyword.type.graphql"},"3":{"name":"keyword.interface.graphql"},"4":{"name":"keyword.input.graphql"},"5":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-type-object":{"name":"meta.type.object.graphql","begin":"\\s*({)","end":"\\s*(})","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-object-type"},{"include":"#graphql-type-definition"},{"include":"#literal-quasi-embedded"}],"beginCaptures":{"1":{"name":"punctuation.operation.graphql"}},"endCaptures":{"1":{"name":"punctuation.operation.graphql"}}},"graphql-union":{"begin":"\\s*\\b(union)\\b\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"begin":"\\s*(=)\\s*([_A-Za-z][_0-9A-Za-z]*)","end":"(?=.)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"},{"match":"\\s*(\\|)\\s*([_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"punctuation.or.graphql"},"2":{"name":"support.type.graphql"}}}],"captures":{"1":{"name":"punctuation.assignment.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-skip-newlines"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"keyword.union.graphql"},"2":{"name":"support.type.graphql"}},"applyEndPatternLast":true},"graphql-union-mark":{"match":"\\s*(\\|)","captures":{"1":{"name":"punctuation.union.graphql"}}},"graphql-value":{"patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-variable-name"},{"include":"#graphql-float-value"},{"include":"#graphql-string-value"},{"include":"#graphql-boolean-value"},{"include":"#graphql-null-value"},{"include":"#graphql-enum-value"},{"include":"#graphql-list-value"},{"include":"#graphql-object-value"},{"include":"#literal-quasi-embedded"}]},"graphql-variable-assignment":{"begin":"\\s(=)","end":"(?=[\n,)])","patterns":[{"include":"#graphql-value"}],"beginCaptures":{"1":{"name":"punctuation.assignment.graphql"}},"applyEndPatternLast":true},"graphql-variable-definition":{"name":"meta.variables.graphql","begin":"\\s*(\\$?[_A-Za-z][_0-9A-Za-z]*)(?=\\s*\\(|:)","end":"(?=\\s*((\\$?[_A-Za-z][_0-9A-Za-z]*)\\s*(\\(|:)|(}|\\))))|\\s*(,)","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-directive"},{"include":"#graphql-colon"},{"include":"#graphql-input-types"},{"include":"#graphql-variable-assignment"},{"include":"#literal-quasi-embedded"},{"include":"#graphql-skip-newlines"}],"beginCaptures":{"1":{"name":"variable.parameter.graphql"}},"endCaptures":{"5":{"name":"punctuation.comma.graphql"}}},"graphql-variable-definitions":{"begin":"\\s*(\\()","end":"\\s*(\\))","patterns":[{"include":"#graphql-comment"},{"include":"#graphql-description-docstring"},{"include":"#graphql-description-singleline"},{"include":"#graphql-variable-definition"},{"include":"#literal-quasi-embedded"}],"captures":{"1":{"name":"meta.brace.round.graphql"}}},"graphql-variable-name":{"match":"\\s*(\\$[_A-Za-z][_0-9A-Za-z]*)","captures":{"1":{"name":"variable.graphql"}}},"native-interpolation":{"name":"native.interpolation","begin":"\\s*(\\${)","end":"(})","patterns":[{"include":"source.js"},{"include":"source.ts"},{},{"include":"source.tsx"}],"beginCaptures":{"1":{"name":"keyword.other.substitution.begin"}},"endCaptures":{"1":{"name":"keyword.other.substitution.end"}}}}}