github-linguist 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/liquid.injection.json +1 -1
  3. data/grammars/source.abap.json +1 -1
  4. data/grammars/source.abl.json +1 -1
  5. data/grammars/source.answersetprogramming.json +1 -0
  6. data/grammars/source.apacheconf.json +1 -0
  7. data/grammars/source.assembly.json +1 -1
  8. data/grammars/source.ats.json +1 -1
  9. data/grammars/source.brs.json +1 -1
  10. data/grammars/source.bst.json +1 -0
  11. data/grammars/source.c.linker.json +1 -0
  12. data/grammars/source.cairo0.json +1 -1
  13. data/grammars/source.cobol.json +1 -1
  14. data/grammars/source.cs.json +1 -1
  15. data/grammars/source.curry.json +1 -1
  16. data/grammars/source.dds.dspf.json +1 -1
  17. data/grammars/source.erlang.json +1 -1
  18. data/grammars/source.gdscript.json +1 -1
  19. data/grammars/source.git-revlist.json +1 -1
  20. data/grammars/source.gleam.json +1 -1
  21. data/grammars/source.hack.json +1 -1
  22. data/grammars/source.hcl.json +1 -1
  23. data/grammars/source.ice.json +1 -1
  24. data/grammars/source.ispc.json +1 -0
  25. data/grammars/source.jai.json +1 -0
  26. data/grammars/source.json.comments.json +1 -0
  27. data/grammars/source.just.json +1 -1
  28. data/grammars/source.kdl.json +1 -0
  29. data/grammars/source.lean.markdown.json +1 -1
  30. data/grammars/source.lean4.markdown.json +1 -1
  31. data/grammars/source.matlab.json +1 -1
  32. data/grammars/source.mo.json +1 -1
  33. data/grammars/source.moonbit.json +1 -1
  34. data/grammars/source.mzn.json +1 -0
  35. data/grammars/source.nr.json +1 -1
  36. data/grammars/source.openesql.json +1 -1
  37. data/grammars/source.overpassql.json +1 -0
  38. data/grammars/source.polar.json +1 -1
  39. data/grammars/source.prisma.json +1 -1
  40. data/grammars/source.purescript.json +1 -1
  41. data/grammars/source.ql.json +1 -1
  42. data/grammars/source.qsharp.json +1 -1
  43. data/grammars/source.rascal.json +1 -1
  44. data/grammars/source.rpgle.json +1 -1
  45. data/grammars/source.scala.json +1 -1
  46. data/grammars/source.scm.json +1 -0
  47. data/grammars/source.slang.json +1 -0
  48. data/grammars/source.slice.json +1 -1
  49. data/grammars/source.sourcepawn.json +1 -1
  50. data/grammars/source.stan.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.tact.json +1 -1
  53. data/grammars/source.talon.json +1 -1
  54. data/grammars/source.templ.json +1 -1
  55. data/grammars/source.textgrid.json +1 -1
  56. data/grammars/source.toc.json +1 -1
  57. data/grammars/source.ts.prismaClientRawSQL.json +1 -1
  58. data/grammars/source.tsp.json +1 -1
  59. data/grammars/source.typst.json +1 -1
  60. data/grammars/source.vue.json +1 -1
  61. data/grammars/source.wdl.json +1 -1
  62. data/grammars/source.xmake.json +1 -0
  63. data/grammars/text.html.liquid.json +1 -1
  64. data/grammars/text.html.markdown.d2.json +1 -1
  65. data/grammars/text.rtf.json +1 -1
  66. data/grammars/version +1 -1
  67. data/lib/linguist/VERSION +1 -1
  68. data/lib/linguist/generated.rb +1 -1
  69. data/lib/linguist/heuristics.yml +57 -17
  70. data/lib/linguist/languages.json +1 -1
  71. data/lib/linguist/languages.yml +155 -23
  72. data/lib/linguist/samples.json +1 -1
  73. data/lib/linguist/shebang.rb +1 -1
  74. metadata +16 -6
  75. data/grammars/source.apache-config.json +0 -1
  76. data/grammars/source.apache-config.mod_perl.json +0 -1
  77. data/grammars/text.html.erlang.yaws.json +0 -1
@@ -1 +1 @@
1
- {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.scala","match":"([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){3,}"},{"match":"((?:[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){2,}|_\\*)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\|\\||\u0026\u0026)"},{"name":"keyword.operator.comparison.scala","match":"(\\!=|==|\\\u003c=|\u003e=)"},{"name":"keyword.operator.scala","match":".."}]}}},{"match":"(?\u003c!_)([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|\\\\)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\!)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\*|-|\\+|/|%|~)"},{"name":"keyword.operator.comparison.scala","match":"(=|\\\u003c|\u003e)"},{"name":"keyword.operator.scala","match":"."}]}}}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
1
+ {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc|groupname|groupprio|groupdesc|group|contentDiagram|documentable|syntax)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#namedBounds"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.scala","match":"([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){3,}"},{"match":"((?:[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|[\\\\]){2,}|_\\*)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\|\\||\u0026\u0026)"},{"name":"keyword.operator.comparison.scala","match":"(\\!=|==|\\\u003c=|\u003e=)"},{"name":"keyword.operator.scala","match":".."}]}}},{"match":"(?\u003c!_)([!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|\\\\)","captures":{"1":{"patterns":[{"name":"keyword.operator.logical.scala","match":"(\\!)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\*|-|\\+|/|%|~)"},{"name":"keyword.operator.comparison.scala","match":"(=|\\\u003c|\u003e)"},{"name":"keyword.operator.scala","match":"."}]}}}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"namedBounds":{"patterns":[{"match":"\\s+(as)\\s+([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\b","captures":{"1":{"name":"keyword.other.import.as.scala"},"2":{"name":"variable.stable.declaration.scala"}}}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Tree-sitter Query","scopeName":"source.scm","patterns":[{"include":"#expression"}],"repository":{"bracket-expression":{"name":"expression.group","begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.paren.open"}},"endCaptures":{"0":{"name":"punctuation.paren.close"}}},"capture":{"patterns":[{"name":"variable.other.readwrite.scm","match":"\\@[a-zA-Z_.]+"}]},"comment":{"name":"comment.line.scm","begin":";;","end":"\\n","beginCaptures":{"0":{"name":"comment.line.scm"}}},"expression":{"patterns":[{"include":"#comment"},{"include":"#field"},{"include":"#capture"},{"include":"#node"},{"include":"#parent-expression"},{"include":"#bracket-expression"}]},"field":{"patterns":[{"name":"entity.name.scm","match":"[a-zA-Z_]+:"}]},"node":{"patterns":[{"name":"node.scm","match":"[a-zA-Z_]+"}]},"paren-expression":{"name":"expression.group","begin":"\\(","end":"\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.paren.open"}},"endCaptures":{"0":{"name":"punctuation.paren.close"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Slang","scopeName":"source.slang","patterns":[{"include":"#preprocessor-rule-enabled"},{"include":"#preprocessor-rule-disabled"},{"include":"#preprocessor-rule-conditional"},{"include":"#predefined_macros"},{"include":"#comments"},{"include":"#switch_statement"},{"name":"keyword.control.slang","match":"\\b(break|continue|do|else|for|goto|if|return|while|try|throw|catch|defer|discard)\\b"},{"include":"#storage_types"},{"name":"keyword.other.typedef.slang","match":"typedef"},{"name":"keyword.other.additional.slang","match":"\\b(throws|using|__generic|func|associatedtype|public|internal|private|import|module|implementing|__include|export|__exported|groupshared|let|var|property|extension|in|out|inout|ref|namespace|this|cbuffer|tbuffer|(dynamic_)?uniform|typealias|new|__extern_cpp|__(target|stage)_intrinsic|__intrinsic_asm|spirv_asm|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref|expand|each|where|typename)\\b"},{"name":"storage.modifier.slang","match":"\\b(const|extern|register|restrict|static|volatile|inline|nointerpolation|precise|row_major|column_major|snorm|unorm|globallycoherent|layout)\\b"},{"name":"constant.other.variable.mac-classic.slang","match":"\\bk[A-Z]\\w*\\b"},{"name":"variable.other.readwrite.global.mac-classic.slang","match":"\\bg[A-Z]\\w*\\b"},{"name":"variable.other.readwrite.static.mac-classic.slang","match":"\\bs[A-Z]\\w*\\b"},{"name":"constant.language.slang","match":"\\b(nullptr|none|true|false)\\b"},{"include":"#operators"},{"include":"#numbers"},{"include":"#strings"},{"name":"meta.preprocessor.macro.slang","begin":"((?:(?:(?\u003e\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z)))((#)\\s*define\\b)\\s+((?\u003c!\\w)[a-zA-Z_]\\w*(?!\\w))(?:(\\()([^()\\\\]+)(\\)))?","end":"(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-define-line-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"10":{"name":"punctuation.definition.parameters.end.slang"},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"keyword.control.directive.define.slang"},"6":{"name":"punctuation.definition.directive.slang"},"7":{"name":"entity.name.function.preprocessor.slang"},"8":{"name":"punctuation.definition.parameters.begin.slang"},"9":{"patterns":[{"match":"(?\u003c=[(,])\\s*((?\u003c!\\w)[a-zA-Z_]\\w*(?!\\w))\\s*","captures":{"1":{"name":"variable.parameter.preprocessor.slang"}}},{"name":"punctuation.separator.parameters.slang","match":","},{"name":"ellipses.slang punctuation.vararg-ellipses.variable.parameter.preprocessor.slang","match":"\\.\\.\\."}]}}},{"name":"meta.preprocessor.diagnostic.slang","begin":"^\\s*((#)\\s*(error|warning))\\b\\s*","end":"(?\u003c!\\\\)(?=\\n)","patterns":[{"name":"string.quoted.double.slang","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"name":"string.quoted.single.slang","begin":"'","end":"'|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"name":"string.unquoted.single.slang","begin":"[^'\"]","end":"(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}],"beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$3.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"name":"meta.preprocessor.include.slang","begin":"^\\s*((#)\\s*(include(?:_next)?|import|module|implementing|__include))\\b\\s*","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#line_continuation_character"},{"name":"string.quoted.double.include.slang","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"name":"string.quoted.other.lt-gt.include.slang","begin":"\u003c","end":"\u003e","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.$3.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"include":"#pragma-mark"},{"include":"#preprocessor-version"},{"name":"meta.preprocessor.slang","begin":"^\\s*((#)\\s*line)\\b","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#line_continuation_character"}],"beginCaptures":{"1":{"name":"keyword.control.directive.line.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"name":"meta.preprocessor.slang","begin":"^\\s*(?:((#)\\s*undef))\\b","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"name":"entity.name.function.preprocessor.slang","match":"[a-zA-Z_$][\\w$]*"},{"include":"#line_continuation_character"}],"beginCaptures":{"1":{"name":"keyword.control.directive.undef.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"name":"meta.preprocessor.pragma.slang","begin":"^\\s*(?:((#)\\s*pragma))\\b","end":"(?=(?://|/\\*))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#strings"},{"name":"entity.other.attribute-name.pragma.preprocessor.slang","match":"[a-zA-Z_$][\\w\\-$]*"},{"include":"#numbers"},{"include":"#line_continuation_character"}],"beginCaptures":{"1":{"name":"keyword.control.directive.pragma.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"name":"support.type.stdint.slang","match":"(?x) \\b\n(int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|intptr_t|uintptr_t)\n\\b"},{"name":"support.type.string.slang","match":"(?x) \\b(string)\\b"},{"name":"support.type.ptr.slang","match":"(?x) \\b(Ptr)\\b"},{"name":"support.type.hlsl.slang","match":"(?x) \\b((RW)?StructuredBuffer|(RW)?Buffer|(RW)?ByteAddressBuffer|ConstantBuffer|ParameterBlock|(RW)?Texture([1-3]D|Cube)(MS)?(Array)?|Sampler(Comparison)?State|RaytracingAccelerationStructure)\\b"},{"name":"support.type.vector.slang","match":"(?x) \\b(bool|char|half|float|int|double|uint)[1-4](x[1-4])?\\b"},{"include":"#block"},{"include":"#parens"},{"include":"#line_continuation_character"},{"name":"meta.bracket.square.access.slang","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))?(\\[)(?!\\])","end":"\\]","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.slang"},"2":{"name":"punctuation.definition.begin.bracket.square.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.slang"}}},{"name":"storage.modifier.array.bracket.square.slang","match":"\\[\\s*\\]"},{"name":"punctuation.terminator.statement.slang","match":";"},{"name":"punctuation.separator.delimiter.slang","match":","}],"repository":{"access-method":{"name":"meta.function-call.member.slang","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))\\s*(?:(\\.)|(-\u003e))((?:(?:[a-zA-Z_][a-zA-Z_0-9]*)\\s*(?:(?:\\.)|(?:-\u003e)))*)\\s*([a-zA-Z_][a-zA-Z_0-9]*)(\\()","end":"\\)","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.slang"},"2":{"name":"punctuation.separator.dot-access.slang"},"3":{"name":"punctuation.separator.pointer-access.slang"},"4":{"patterns":[{"name":"punctuation.separator.dot-access.slang","match":"\\."},{"name":"punctuation.separator.pointer-access.slang","match":"-\u003e"},{"name":"variable.object.slang","match":"[a-zA-Z_][a-zA-Z_0-9]*"},{"name":"everything.else.slang","match":".+"}]},"5":{"name":"entity.name.function.member.slang"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.slang"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.slang"}}},"backslash_escapes":{"name":"constant.character.escape.slang","match":"(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )"},"block":{"patterns":[{"name":"meta.block.slang","begin":"{","end":"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)","patterns":[{"include":"#block_innards"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.slang"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.slang"}}}]},"block_innards":{"patterns":[{"include":"#preprocessor-rule-enabled-block"},{"include":"#preprocessor-rule-disabled-block"},{"include":"#preprocessor-rule-conditional-block"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#c_function_call"},{"name":"meta.initialization.slang","begin":"(?x)\n(?:\n (?:\n\t(?=\\s)(?\u003c!else|new|return)\n\t(?\u003c=\\w) \\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref) # or word + space before name\n )\n)\n(\n (?:[A-Za-z_][A-Za-z0-9_]*+ | :: )++ # actual name\n |\n (?:(?\u003c=operator) (?:[-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\]))\n)\n\\s*(\\() # opening bracket","end":"\\)","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.other.slang"},"2":{"name":"punctuation.section.parens.begin.bracket.round.initialization.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.initialization.slang"}}},{"begin":"{","end":"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)","patterns":[{"include":"#block_innards"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.slang"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.slang"}}},{"include":"#parens-block"},{"include":"$base"}]},"c_conditional_context":{"patterns":[{"include":"$self"},{"include":"#block_innards"}]},"c_function_call":{"name":"meta.function-call.slang","begin":"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|countof|where|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref|__target_intrinsic|__intrinsic_asm|spirv_asm|expand|each)\\s*\\()\n(?=\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)","end":"(?\u003c=\\))(?!\\w)","patterns":[{"include":"#function-call-innards"}]},"case_statement":{"name":"meta.conditional.case.slang","begin":"((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))((?\u003c!\\w)case(?!\\w))","end":"(:)","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}],"beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"keyword.control.case.slang"}},"endCaptures":{"1":{"name":"punctuation.separator.colon.case.slang"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.documentation.slang","begin":"(?:^)(?\u003e\\s*)(\\/\\/[!\\/]+)","end":"(?\u003c=\\n)(?\u003c!\\\\\\n)","patterns":[{"include":"#line_continuation_character"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|\u003c|\u003e|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.italic.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.bold.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.inline.raw.string.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"patterns":[{"name":"keyword.other.parameter.direction.$0.slang","match":"in|out|ref"}]},"3":{"name":"variable.parameter.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.gtkdoc","match":"(?:\\b[A-Z]+:|@[a-z_]+:)"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.slang"}}},{"name":"comment.block.documentation.slang","match":"(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)","captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.slang"},"2":{"patterns":[{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|\u003c|\u003e|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.italic.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.bold.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.inline.raw.string.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"patterns":[{"name":"keyword.other.parameter.direction.$0.slang","match":"in|out"}]},"3":{"name":"variable.parameter.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.gtkdoc","match":"(?:\\b[A-Z]+:|@[a-z_]+:)"}]},"3":{"name":"punctuation.definition.comment.end.documentation.slang"}}},{"name":"comment.block.documentation.slang","begin":"((?\u003e\\s*)\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s)))","end":"([!*]*\\*\\/)","patterns":[{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|\u003c|\u003e|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.italic.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.bold.doxygen.slang"}}},{"match":"((?\u003c=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"name":"markup.inline.raw.string.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?"},{"match":"((?\u003c=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?\\s*(?:in|out)\\s*)+)\\])?\\s+(\\b\\w+\\b)","captures":{"1":{"name":"storage.type.class.doxygen.slang"},"2":{"patterns":[{"name":"keyword.other.parameter.direction.$0.slang","match":"in|out"}]},"3":{"name":"variable.parameter.slang"}}},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.doxygen.slang","match":"(?\u003c=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?"},{"name":"storage.type.class.gtkdoc","match":"(?:\\b[A-Z]+:|@[a-z_]+:)"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.documentation.slang"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.end.documentation.slang"}}},{"name":"comment.block.banner.slang","match":"^\\/\\* =(\\s*.*?)\\s*= \\*\\/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.slang"}}},{"name":"comment.block.slang","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.slang"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.end.slang"}}},{"name":"comment.line.banner.slang","match":"^\\/\\/ =(\\s*.*?)\\s*=$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.slang"}}},{"begin":"((?:^[ \\t]+)?)(?=\\/\\/)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.slang","begin":"(\\/\\/)","end":"(?=\\n)","patterns":[{"include":"#line_continuation_character"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.slang"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.slang"}}}]},"default_statement":{"name":"meta.conditional.case.slang","begin":"((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))((?\u003c!\\w)default(?!\\w))","end":"(:)","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}],"beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"keyword.control.default.slang"}},"endCaptures":{"1":{"name":"punctuation.separator.colon.case.default.slang"}}},"disabled":{"begin":"^\\s*#\\s*if(n?def)?\\b.*$","end":"^\\s*#\\s*endif\\b","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]},"evaluation_context":{"patterns":[{"include":"#function-call-innards"},{"include":"$base"}]},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|countof|where|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref|expand|each)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"entity.name.function.slang"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.slang"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.slang"}}},{"include":"#block_innards"}]},"function-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"include":"#vararg_ellipses"},{"name":"meta.function.definition.parameters.slang","begin":"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|countof|where|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref|expand|each)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#probably_a_parameter"},{"include":"#function-innards"}],"beginCaptures":{"1":{"name":"entity.name.function.slang"},"2":{"name":"punctuation.section.parameters.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.slang"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-innards"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.slang"}}},{"include":"$base"}]},"inline_comment":{"match":"(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/))","captures":{"1":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"2":{"name":"comment.block.slang"},"3":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]}}},"line_continuation_character":{"patterns":[{"match":"(\\\\)\\n","captures":{"1":{"name":"constant.character.escape.line-continuation.slang"}}}]},"member_access":{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*(\\b(?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\b)[a-zA-Z_]\\w*\\b(?!\\())","captures":{"1":{"name":"variable.other.object.access.slang"},"2":{"name":"punctuation.separator.dot-access.slang"},"3":{"name":"punctuation.separator.pointer-access.slang"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.slang"},"2":{"name":"punctuation.separator.dot-access.slang"},"3":{"name":"punctuation.separator.pointer-access.slang"}}}]},"5":{"name":"variable.other.member.slang"}}},"method_access":{"contentName":"meta.function-call.member.slang","begin":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()","end":"(\\))","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.other.object.access.slang"},"2":{"name":"punctuation.separator.dot-access.slang"},"3":{"name":"punctuation.separator.pointer-access.slang"},"4":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.slang"},"2":{"name":"punctuation.separator.dot-access.slang"},"3":{"name":"punctuation.separator.pointer-access.slang"}}}]},"5":{"name":"entity.name.function.member.slang"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.slang"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.slang"}}},"numbers":{"match":"(?\u003c!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-])*","captures":{"0":{"patterns":[{"begin":"(?=.)","end":"$","patterns":[{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfFzZhH](?!\\w))?$","captures":{"1":{"name":"keyword.other.unit.hexadecimal.slang"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.slang"},"11":{"name":"constant.numeric.exponent.hexadecimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.slang"},"2":{"name":"constant.numeric.hexadecimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.hexadecimal.slang"},"5":{"name":"constant.numeric.hexadecimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.slang"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.slang"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfFzZhH](?!\\w))?$","captures":{"10":{"name":"keyword.operator.minus.exponent.decimal.slang"},"11":{"name":"constant.numeric.exponent.decimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.slang"},"2":{"name":"constant.numeric.decimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"constant.numeric.decimal.point.slang"},"5":{"name":"constant.numeric.decimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric"},"8":{"name":"keyword.other.unit.exponent.decimal.slang"},"9":{"name":"keyword.operator.plus.exponent.decimal.slang"}}},{"match":"(\\G0[bB])([01](?:[01]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?|[uU]?z|z[uU])|[fF])(?!\\w))?$","captures":{"1":{"name":"keyword.other.unit.binary.slang"},"2":{"name":"constant.numeric.binary.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.slang"}}},{"match":"(\\G0)((?:[0-7]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?|[uU]?z|z[uU])|LL?[uU]?)|[fF])(?!\\w))?$","captures":{"1":{"name":"keyword.other.unit.octal.slang"},"2":{"name":"constant.numeric.octal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"4":{"name":"keyword.other.unit.suffix.integer.slang"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?|[uU]?z|z[uU])|[fF])(?!\\w))?$","captures":{"1":{"name":"keyword.other.unit.hexadecimal.slang"},"2":{"name":"constant.numeric.hexadecimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.slang"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.slang"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.slang"},"8":{"name":"constant.numeric.exponent.hexadecimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.slang"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?|[uU]?z|z[uU])|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?$","captures":{"2":{"name":"constant.numeric.decimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric"},"5":{"name":"keyword.other.unit.exponent.decimal.slang"},"6":{"name":"keyword.operator.plus.exponent.decimal.slang"},"7":{"name":"keyword.operator.minus.exponent.decimal.slang"},"8":{"name":"constant.numeric.exponent.decimal.slang","patterns":[{"name":"punctuation.separator.constant.numeric","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.slang"}}},{"name":"invalid.illegal.constant.numeric","match":"(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-])+"}]}]}}},"operators":{"patterns":[{"name":"keyword.operator.sizeof.slang","match":"(?\u003c![\\w$])(sizeof|countof)(?![\\w$])"},{"name":"keyword.other.additional.slang","match":"(?\u003c![\\w$])(as)(?![\\w$])"},{"name":"keyword.other.additional.slang","match":"(?\u003c![\\w$])(is)(?![\\w$])"},{"name":"keyword.operator.decrement.slang","match":"--"},{"name":"keyword.operator.increment.slang","match":"\\+\\+"},{"name":"keyword.operator.assignment.compound.slang","match":"%=|\\+=|-=|\\*=|(?\u003c!\\()/="},{"name":"keyword.operator.assignment.compound.bitwise.slang","match":"\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\\|="},{"name":"keyword.operator.bitwise.shift.slang","match":"\u003c\u003c|\u003e\u003e"},{"name":"keyword.operator.comparison.slang","match":"!=|\u003c=|\u003e=|==|\u003c|\u003e"},{"name":"keyword.operator.logical.slang","match":"\u0026\u0026|!|\\|\\|"},{"name":"keyword.operator.slang","match":"\u0026|\\||\\^|~"},{"name":"keyword.operator.assignment.slang","match":"="},{"name":"keyword.operator.slang","match":"%|\\*|/|-|\\+"},{"begin":"(\\?)","end":"(:)","patterns":[{"include":"#function-call-innards"},{"include":"$base"}],"beginCaptures":{"1":{"name":"keyword.operator.ternary.slang"}},"endCaptures":{"1":{"name":"keyword.operator.ternary.slang"}}}]},"parens":{"name":"meta.parens.slang","begin":"\\(","end":"\\)","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.slang"}}},"parens-block":{"name":"meta.parens.block.slang","begin":"\\(","end":"\\)","patterns":[{"include":"#block_innards"},{"name":"punctuation.range-based.slang","match":"(?-mix:(?\u003c!:):(?!:))"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.slang"}}},"pragma-mark":{"name":"meta.section.slang","match":"^\\s*(((#)\\s*pragma\\s+mark)\\s+(.*))","captures":{"1":{"name":"meta.preprocessor.pragma.slang"},"2":{"name":"keyword.control.directive.pragma.pragma-mark.slang"},"3":{"name":"punctuation.definition.directive.slang"},"4":{"name":"entity.name.tag.pragma-mark.slang"}}},"predefined_macros":{"patterns":[{"match":"\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b","captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.slang"}}},{"name":"entity.name.other.preprocessor.macro.predefined.probably.$1.slang","match":"\\b__([A-Z_]+)__\\b"}]},"preprocessor-rule-conditional":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?\\b)","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"name":"meta.preprocessor.slang","begin":"^\\s*((#)\\s*elif\\b)","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}],"beginCaptures":{"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"include":"$base"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"match":"^\\s*#\\s*(else|elif|endif)\\b","captures":{"0":{"name":"invalid.illegal.stray-$1.slang"}}}]},"preprocessor-rule-conditional-block":{"patterns":[{"begin":"^\\s*((#)\\s*if(?:n?def)?\\b)","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"name":"meta.preprocessor.slang","begin":"^\\s*((#)\\s*elif\\b)","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}],"beginCaptures":{"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"include":"#block_innards"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"match":"^\\s*#\\s*(else|elif|endif)\\b","captures":{"0":{"name":"invalid.illegal.stray-$1.slang"}}}]},"preprocessor-rule-conditional-line":{"patterns":[{"name":"keyword.control.directive.conditional.slang","match":"(?:\\bdefined\\b\\s*$)|(?:\\bdefined\\b(?=\\s*\\(*\\s*(?:(?!defined\\b)[a-zA-Z_$][\\w$]*\\b)\\s*\\)*\\s*(?:\\n|//|/\\*|\\?|\\:|\u0026\u0026|\\|\\||\\\\\\s*\\n)))"},{"name":"invalid.illegal.macro-name.slang","match":"\\bdefined\\b"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"begin":"\\?","end":":","patterns":[{"include":"#preprocessor-rule-conditional-line"}],"beginCaptures":{"0":{"name":"keyword.operator.ternary.slang"}},"endCaptures":{"0":{"name":"keyword.operator.ternary.slang"}}},{"include":"#operators"},{"name":"constant.language.slang","match":"\\b(NULL|true|false|TRUE|FALSE)\\b"},{"name":"entity.name.function.preprocessor.slang","match":"[a-zA-Z_$][\\w$]*"},{"include":"#line_continuation_character"},{"begin":"\\(","end":"\\)|(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.slang"}}}]},"preprocessor-rule-define-line-blocks":{"patterns":[{"begin":"{","end":"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#preprocessor-rule-define-line-blocks"},{"include":"#preprocessor-rule-define-line-contents"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.slang"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.slang"}}},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-define-line-contents":{"patterns":[{"include":"#vararg_ellipses"},{"name":"meta.block.slang","begin":"{","end":"}|(?=\\s*#\\s*(?:elif|else|endif)\\b)|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#preprocessor-rule-define-line-blocks"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.slang"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.slang"}}},{"name":"punctuation.section.parens.begin.bracket.round.slang","match":"\\("},{"name":"punctuation.section.parens.end.bracket.round.slang","match":"\\)"},{"name":"meta.function.slang","begin":"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\s*\\()\n(?=\n (?:[A-Za-z_][A-Za-z0-9_]*+|::)++\\s*\\( # actual name\n |\n (?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+!]+|\\(\\)|\\[\\]))\\s*\\(\n)","end":"(?\u003c=\\))(?!\\w)|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#preprocessor-rule-define-line-functions"}]},{"name":"string.quoted.double.slang","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"name":"string.quoted.single.slang","begin":"'","end":"'|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"include":"#method_access"},{"include":"#member_access"},{"include":"$base"}]},"preprocessor-rule-define-line-functions":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#vararg_ellipses"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#operators"},{"begin":"(?x)\n(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|countof|where|(__)?(f|b)wd_diff|__dispatch_kernel|no_diff|__constref|expand|each)\\s*\\()\n(\n(?:[A-Za-z_][A-Za-z0-9_]*+|::)++ # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+!]+|\\(\\)|\\[\\]))\n)\n\\s*(\\()","end":"(\\))|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#preprocessor-rule-define-line-functions"}],"beginCaptures":{"1":{"name":"entity.name.function.slang"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.slang"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.slang"}}},{"begin":"\\(","end":"(\\))|(?\u003c!\\\\)(?=\\s*\\n)","patterns":[{"include":"#preprocessor-rule-define-line-functions"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.slang"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.slang"}}},{"include":"#preprocessor-rule-define-line-contents"}]},"preprocessor-rule-disabled":{"patterns":[{"begin":"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif"},{"include":"#preprocessor-rule-enabled-else"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif\\b)","end":"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"$base"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.if-branch.slang","begin":"\\n","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}}]},"preprocessor-rule-disabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"include":"#preprocessor-rule-enabled-elif-block"},{"include":"#preprocessor-rule-enabled-else-block"},{"include":"#preprocessor-rule-disabled-elif"},{"begin":"^\\s*((#)\\s*elif\\b)","end":"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#block_innards"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.if-branch.in-block.slang","begin":"\\n","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}}]},"preprocessor-rule-disabled-elif":{"begin":"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0+\\b\\)*\\s*(?:$|//|/\\*))","end":"(?=^\\s*((#)\\s*(?:elif|else|endif)\\b))","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"contentName":"comment.block.preprocessor.elif-branch.slang","begin":"\\n","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},"preprocessor-rule-enabled":{"patterns":[{"begin":"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"contentName":"comment.block.preprocessor.else-branch.slang","begin":"^\\s*((#)\\s*else\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.if-branch.slang","begin":"^\\s*((#)\\s*elif\\b)","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"begin":"\\n","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"$base"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"},"3":{"name":"constant.numeric.preprocessor.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}}]},"preprocessor-rule-enabled-block":{"patterns":[{"begin":"^\\s*((#)\\s*if\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","end":"^\\s*((#)\\s*endif\\b)","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"contentName":"comment.block.preprocessor.else-branch.in-block.slang","begin":"^\\s*((#)\\s*else\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.if-branch.in-block.slang","begin":"^\\s*((#)\\s*elif\\b)","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"begin":"\\n","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#block_innards"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}},"endCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}}]},"preprocessor-rule-enabled-elif":{"begin":"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*(?:endif)\\b))","patterns":[{"contentName":"comment.block.preprocessor.elif-branch.slang","begin":"^\\s*((#)\\s*(else)\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.elif-branch.slang","begin":"^\\s*((#)\\s*(elif)\\b)","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"include":"$base"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},"preprocessor-rule-enabled-elif-block":{"begin":"^\\s*((#)\\s*elif\\b)(?=\\s*\\(*\\b0*1\\b\\)*\\s*(?:$|//|/\\*))","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"name":"meta.preprocessor.slang","begin":"\\G(?=.)(?!//|/\\*(?!.*\\\\\\s*\\n))","end":"(?=//)|(?=/\\*(?!.*\\\\\\s*\\n))|(?\u003c!\\\\)(?=\\n)","patterns":[{"include":"#preprocessor-rule-conditional-line"}]},{"include":"#comments"},{"begin":"\\n","end":"(?=^\\s*((#)\\s*(?:endif)\\b))","patterns":[{"contentName":"comment.block.preprocessor.elif-branch.in-block.slang","begin":"^\\s*((#)\\s*(else)\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"contentName":"comment.block.preprocessor.elif-branch.slang","begin":"^\\s*((#)\\s*(elif)\\b)","end":"(?=^\\s*((#)\\s*(?:else|elif|endif)\\b))","patterns":[{"include":"#disabled"},{"include":"#pragma-mark"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},{"include":"#block_innards"}]}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},"preprocessor-rule-enabled-else":{"begin":"^\\s*((#)\\s*else\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"$base"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},"preprocessor-rule-enabled-else-block":{"begin":"^\\s*((#)\\s*else\\b)","end":"(?=^\\s*((#)\\s*endif\\b))","patterns":[{"include":"#block_innards"}],"beginCaptures":{"0":{"name":"meta.preprocessor.slang"},"1":{"name":"keyword.control.directive.conditional.slang"},"2":{"name":"punctuation.definition.directive.slang"}}},"preprocessor-version":{"name":"meta.section.slang","match":"^\\s*((#\\s*version)\\s+(.*))","captures":{"2":{"name":"keyword.control.directive.version.slang"},"3":{"name":"constant.numeric.decimal.slang"}}},"probably_a_parameter":{"match":"(?\u003c=[a-zA-Z_0-9] |[\u0026*\u003e\\]\\)])\\s*([a-zA-Z_]\\w*)\\s*(?=(?:\\[\\]\\s*)?(?:,|\\)))","captures":{"1":{"name":"variable.parameter.probably.slang"}}},"static_assert":{"begin":"((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))((?\u003c!\\w)static_assert|_Static_assert(?!\\w))((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))(\\()","end":"(\\))","patterns":[{"name":"meta.static_assert.message.slang","begin":"(,)\\s*(?=(?:L|u8|u|U\\s*\\\")?)","end":"(?=\\))","patterns":[{"include":"#string_context"}],"beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.slang"}}},{"include":"#evaluation_context"}],"beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.slang"},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"keyword.other.static_assert.slang"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"8":{"name":"comment.block.slang"},"9":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.slang"}}},"storage_types":{"patterns":[{"name":"storage.type.built-in.primitive.slang","match":"(?-mix:(?\u003c!\\w)(?:unsigned|signed|double|_Bool|short|float|half|long|void|char|bool|int|uint)(?!\\w))"},{"match":"\\b(namespace|enum|enum\\s+class|struct|class|interface)\\s+([A-Za-z0-9_]+)((\\.|::)([A-Za-z0-9_]+))*","captures":{"1":{"name":"keyword.$1.slang"},"2":{"name":"support.type.$1.slang"},"4":{"name":"punctuation.separator.dot-access.slang"},"5":{"name":"support.type.$1.slang"}}},{"name":"meta.asm.slang","begin":"(\\b(?:__asm__|asm)\\b)\\s*((?:volatile)?)","end":"(?!\\G)","patterns":[{"match":"(?:^)((?:(?:(?\u003e\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z)))(?:\\n|$)","captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]}}},{"include":"#comments"},{"begin":"(((?:(?:(?\u003e\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z)))\\()","end":"(\\))","patterns":[{"name":"string.quoted.double.slang","contentName":"meta.embedded.assembly.slang","begin":"(R?)(\")","end":"(\")","patterns":[{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}],"beginCaptures":{"1":{"name":"meta.encoding.slang"},"2":{"name":"punctuation.definition.string.begin.assembly.slang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.assembly.slang"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#evaluation_context"}],"beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.slang"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.slang"}}},{"match":"\\[((?:(?:(?\u003e\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z)))([a-zA-Z_]\\w*)((?:(?:(?\u003e\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+?|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z)))\\]","captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"variable.other.asm.label.slang"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"8":{"name":"comment.block.slang"},"9":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]}}},{"name":"punctuation.separator.delimiter.colon.assembly.slang","match":":"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"punctuation.section.parens.begin.bracket.round.assembly.slang"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"4":{"name":"comment.block.slang"},"5":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.assembly.slang"}}}],"beginCaptures":{"1":{"name":"storage.type.asm.slang"},"2":{"name":"storage.modifier.slang"}}}]},"string_escaped_char":{"patterns":[{"name":"constant.character.escape.slang","match":"(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3]\\d{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )"},{"name":"invalid.illegal.unknown-escape.slang","match":"\\\\."}]},"string_placeholder":{"patterns":[{"name":"constant.other.placeholder.slang","match":"(?x) %\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type"},{"match":"(%)(?!\"\\s*(PRI|SCN))","captures":{"1":{"name":"invalid.illegal.placeholder.slang"}}}]},"strings":{"patterns":[{"name":"string.quoted.double.raw","begin":"((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(","end":"\\)\\2(\\3)\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"},"1":{"name":"invalid.illegal.delimiter-too-long"}}},{"name":"string.quoted.double.slang","begin":"((?:u|u8|U|L)?)?\"","end":"\"","patterns":[{"include":"#string_escaped_char"},{"include":"#string_placeholder"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}},{"name":"string.quoted.single.slang","begin":"'","end":"'","patterns":[{"include":"#string_escaped_char"},{"include":"#line_continuation_character"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.slang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.slang"}}}]},"switch_conditional_parentheses":{"name":"meta.conditional.switch.slang","begin":"((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))(\\()","end":"(\\))","patterns":[{"include":"#evaluation_context"},{"include":"#c_conditional_context"}],"beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"3":{"name":"comment.block.slang"},"4":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.slang"}},"endCaptures":{"1":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.slang"}}},"switch_statement":{"name":"meta.block.switch.slang","begin":"(((?\u003e(?:(?:(?\u003e(?\u003c!\\s)\\s+)|(\\/\\*)((?\u003e(?:[^\\*]|(?\u003e\\*+)[^\\/])*)((?\u003e\\*+)\\/)))+|(?:(?:(?:(?:\\b|(?\u003c=\\W))|(?=\\W))|\\A)|\\Z))))((?\u003c!\\w)switch|__(target|stage)_switch(?!\\w)))","end":"(?:(?\u003c=\\}|%\u003e|\\?\\?\u003e)|(?=[;\u003e\\[\\]=]))","patterns":[{"name":"meta.head.switch.slang","begin":"\\G ?","end":"((?:\\{|\u003c%|\\?\\?\u003c|(?=;)))","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}],"endCaptures":{"1":{"name":"punctuation.section.block.begin.bracket.curly.switch.slang"}}},{"name":"meta.body.switch.slang","begin":"(?\u003c=\\{|\u003c%|\\?\\?\u003c)","end":"(\\}|%\u003e|\\?\\?\u003e)","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"},{"include":"#block_innards"}],"endCaptures":{"1":{"name":"punctuation.section.block.end.bracket.curly.switch.slang"}}},{"name":"meta.tail.switch.slang","begin":"(?\u003c=\\}|%\u003e|\\?\\?\u003e)[\\s\\n]*","end":"[\\s\\n]*(?=;)","patterns":[{"include":"$self"}]}],"beginCaptures":{"1":{"name":"meta.head.switch.slang"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.slang punctuation.definition.comment.begin.slang"},"4":{"name":"comment.block.slang"},"5":{"patterns":[{"name":"comment.block.slang punctuation.definition.comment.end.slang","match":"\\*\\/"},{"name":"comment.block.slang","match":"\\*"}]},"6":{"name":"keyword.control.switch.slang"}}},"vararg_ellipses":{"name":"punctuation.vararg-ellipses.slang","match":"(?\u003c!\\.)\\.\\.\\.(?!\\.)"}}}