pi-umbra 0.3.0 → 0.4.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 (99) hide show
  1. package/README.md +3 -4
  2. package/node_modules/@shikijs/cli/dist/cli.d.mts +13 -6
  3. package/node_modules/@shikijs/cli/dist/cli.mjs +32 -27
  4. package/node_modules/@shikijs/cli/dist/{code-to-ansi-BNrZay-4.mjs → code-to-ansi-Dmm_CuZ9.mjs} +15 -7
  5. package/node_modules/@shikijs/cli/dist/index.d.mts +24 -3
  6. package/node_modules/@shikijs/cli/dist/index.mjs +1 -1
  7. package/node_modules/@shikijs/cli/package.json +3 -3
  8. package/node_modules/@shikijs/core/dist/index.d.mts +28 -28
  9. package/node_modules/@shikijs/core/dist/index.mjs +15 -12
  10. package/node_modules/@shikijs/core/package.json +4 -4
  11. package/node_modules/@shikijs/engine-javascript/dist/{engine-compile-Bdn9ihA2.d.mts → engine-compile-CtqiSkRk.d.mts} +5 -0
  12. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.d.mts +1 -1
  13. package/node_modules/@shikijs/engine-javascript/dist/engine-compile.mjs +2 -4
  14. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.d.mts +2 -3
  15. package/node_modules/@shikijs/engine-javascript/dist/engine-raw.mjs +2 -4
  16. package/node_modules/@shikijs/engine-javascript/dist/index.d.mts +1 -1
  17. package/node_modules/@shikijs/engine-javascript/dist/index.mjs +1 -1
  18. package/node_modules/@shikijs/engine-javascript/dist/string-TLTPtCPs.mjs +115 -0
  19. package/node_modules/@shikijs/engine-javascript/package.json +3 -3
  20. package/node_modules/@shikijs/engine-oniguruma/package.json +3 -3
  21. package/node_modules/@shikijs/langs/dist/ada.mjs +1 -1
  22. package/node_modules/@shikijs/langs/dist/ahk.mjs +1 -1
  23. package/node_modules/@shikijs/langs/dist/beancount.mjs +1 -1
  24. package/node_modules/@shikijs/langs/dist/coq.mjs +1 -1
  25. package/node_modules/@shikijs/langs/dist/csharp.mjs +1 -1
  26. package/node_modules/@shikijs/langs/dist/css.mjs +1 -1
  27. package/node_modules/@shikijs/langs/dist/dart.mjs +1 -1
  28. package/node_modules/@shikijs/langs/dist/dotenv.mjs +1 -1
  29. package/node_modules/@shikijs/langs/dist/emacs-lisp.mjs +1 -1
  30. package/node_modules/@shikijs/langs/dist/gn.mjs +1 -1
  31. package/node_modules/@shikijs/langs/dist/handlebars.mjs +1 -1
  32. package/node_modules/@shikijs/langs/dist/julia.mjs +1 -1
  33. package/node_modules/@shikijs/langs/dist/latex.mjs +1 -1
  34. package/node_modules/@shikijs/langs/dist/luau.mjs +1 -1
  35. package/node_modules/@shikijs/langs/dist/marko.mjs +1 -1
  36. package/node_modules/@shikijs/langs/dist/moonbit.mjs +1 -1
  37. package/node_modules/@shikijs/langs/dist/nextflow-groovy.mjs +1 -1
  38. package/node_modules/@shikijs/langs/dist/nextflow.mjs +1 -1
  39. package/node_modules/@shikijs/langs/dist/nushell.mjs +1 -1
  40. package/node_modules/@shikijs/langs/dist/php.mjs +1 -1
  41. package/node_modules/@shikijs/langs/dist/powershell.mjs +1 -1
  42. package/node_modules/@shikijs/langs/dist/ruby.mjs +1 -1
  43. package/node_modules/@shikijs/langs/dist/rust.mjs +1 -1
  44. package/node_modules/@shikijs/langs/dist/sql.mjs +1 -1
  45. package/node_modules/@shikijs/langs/dist/svelte.mjs +1 -1
  46. package/node_modules/@shikijs/langs/dist/twig.mjs +3 -3
  47. package/node_modules/@shikijs/langs/dist/typespec.mjs +1 -1
  48. package/node_modules/@shikijs/langs/package.json +3 -3
  49. package/node_modules/@shikijs/primitive/dist/index.d.mts +31 -32
  50. package/node_modules/@shikijs/primitive/dist/index.mjs +2 -1
  51. package/node_modules/@shikijs/primitive/package.json +3 -3
  52. package/node_modules/@shikijs/themes/dist/monokai.mjs +1 -1
  53. package/node_modules/@shikijs/themes/dist/one-dark-pro.mjs +1 -1
  54. package/node_modules/@shikijs/themes/dist/red.mjs +1 -1
  55. package/node_modules/@shikijs/themes/dist/solarized-dark.mjs +1 -1
  56. package/node_modules/@shikijs/themes/dist/solarized-light.mjs +1 -1
  57. package/node_modules/@shikijs/themes/package.json +3 -3
  58. package/node_modules/@shikijs/types/dist/index.d.mts +76 -76
  59. package/node_modules/@shikijs/types/package.json +1 -1
  60. package/node_modules/pi-umbra-copy-chat/README.md +4 -7
  61. package/node_modules/pi-umbra-copy-chat/extensions/umbra-copy-chat.ts +16 -54
  62. package/node_modules/pi-umbra-copy-chat/package.json +1 -1
  63. package/node_modules/pi-umbra-help/checks/umbra-help.check.ts +10 -1
  64. package/node_modules/pi-umbra-help/extensions/umbra-help.ts +31 -0
  65. package/node_modules/pi-umbra-help/package.json +1 -1
  66. package/node_modules/pi-umbra-inputbar/README.md +1 -1
  67. package/node_modules/pi-umbra-inputbar/extensions/umbra-inputbar.ts +1 -1
  68. package/node_modules/pi-umbra-inputbar/package.json +2 -2
  69. package/node_modules/pi-umbra-shimmer/package.json +1 -1
  70. package/node_modules/pi-umbra-shimmer/patch.mjs +23 -21
  71. package/node_modules/pi-umbra-skill-matcher/package.json +1 -1
  72. package/node_modules/pi-umbra-skill-matcher/patch.mjs +7 -0
  73. package/node_modules/pi-umbra-subagents/README.md +24 -6
  74. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar/bar-line.ts +250 -102
  75. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.check.ts +133 -66
  76. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/bar.ts +59 -27
  77. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/index.ts +53 -8
  78. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/spec.ts +24 -14
  79. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.check.ts +132 -5
  80. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/store.ts +156 -64
  81. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/fan/worktree.ts +156 -0
  82. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/panel.ts +1 -1
  83. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/delegate/state.ts +19 -0
  84. package/node_modules/pi-umbra-subagents/extensions/umbra-subagents/skills/fan/SKILL.md +25 -4
  85. package/node_modules/pi-umbra-subagents/package.json +2 -2
  86. package/node_modules/pi-umbra-theme/checks/umbra-background.check.ts +7 -1
  87. package/node_modules/pi-umbra-theme/extensions/umbra-background.ts +2 -1
  88. package/node_modules/pi-umbra-theme/package.json +3 -3
  89. package/node_modules/shiki/dist/bundle-full.d.mts +4 -4
  90. package/node_modules/shiki/dist/bundle-web.d.mts +9 -9
  91. package/node_modules/shiki/dist/types.d.mts +3 -3
  92. package/node_modules/shiki/package.json +10 -10
  93. package/package.json +9 -12
  94. package/node_modules/@shikijs/engine-javascript/dist/scanner-DX8LRFGE.mjs +0 -77
  95. package/node_modules/pi-umbra-rename/LICENSE +0 -21
  96. package/node_modules/pi-umbra-rename/README.md +0 -18
  97. package/node_modules/pi-umbra-rename/checks/umbra-rename.check.ts +0 -55
  98. package/node_modules/pi-umbra-rename/extensions/umbra-rename.ts +0 -22
  99. package/node_modules/pi-umbra-rename/package.json +0 -36
@@ -1,15 +1,15 @@
1
- import css from './css.mjs'
2
1
  import javascript from './javascript.mjs'
2
+ import css from './css.mjs'
3
3
  import scss from './scss.mjs'
4
4
  import php from './php.mjs'
5
5
  import python from './python.mjs'
6
6
  import ruby from './ruby.mjs'
7
7
 
8
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Twig\",\"fileTypes\":[\"twig\",\"html.twig\"],\"firstLineMatch\":\"<!(?i:DOCTYPE)|<(?i:html)|<\\\\?(?i:php)|\\\\{\\\\{|\\\\{%|\\\\{#\",\"foldingStartMarker\":\"(<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\\\b.*?>|<!--(?!.*--\\\\s*>)|^<!-- #tminclude (?>.*?-->)$|\\\\{%\\\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\",\"foldingStopMarker\":\"(</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>|^(?!.*?<!--).*?--\\\\s*>|^<!-- end tminclude -->$|\\\\{%\\\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\",\"name\":\"twig\",\"patterns\":[{\"begin\":\"(<)([0-:A-Za-z]++)(?=[^>]*></\\\\2>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.html\"}},\"end\":\"(>(<)/)(\\\\2)(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"meta.scope.between-tag-pair.html\"},\"3\":{\"name\":\"entity.name.tag.html\"},\"4\":{\"name\":\"punctuation.definition.tag.html\"}},\"name\":\"meta.tag.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(<\\\\?)(xml)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.xml.html\"}},\"end\":\"(\\\\?>)\",\"name\":\"meta.tag.preprocessor.xml.html\",\"patterns\":[{\"include\":\"#tag-generic-attribute\"},{\"include\":\"#string-double-quoted\"},{\"include\":\"#string-single-quoted\"}]},{\"begin\":\"<!--\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.html\"}},\"end\":\"--\\\\s*>\",\"name\":\"comment.block.html\",\"patterns\":[{\"match\":\"--\",\"name\":\"invalid.illegal.bad-comments-or-CDATA.html\"},{\"include\":\"#embedded-code\"}]},{\"begin\":\"<!\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\">\",\"name\":\"meta.tag.sgml.html\",\"patterns\":[{\"begin\":\"(?i:DOCTYPE)\",\"captures\":{\"1\":{\"name\":\"entity.name.tag.doctype.html\"}},\"end\":\"(?=>)\",\"name\":\"meta.tag.sgml.doctype.html\",\"patterns\":[{\"match\":\"\\\"[^\\\">]*\\\"\",\"name\":\"string.quoted.double.doctype.identifiers-and-DTDs.html\"}]},{\"begin\":\"\\\\[CDATA\\\\[\",\"end\":\"]](?=>)\",\"name\":\"constant.other.inline-data.html\"},{\"match\":\"(\\\\s*)(?!--|>)\\\\S(\\\\s*)\",\"name\":\"invalid.illegal.bad-comments-or-CDATA.html\"}]},{\"include\":\"#embedded-code\"},{\"begin\":\"(?:^\\\\s+)?(<)((?i:style))\\\\b(?![^>]*/>)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.style.html\"},\"3\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\"(</)((?i:style))(>)(?:\\\\s*\\\\n)?\",\"name\":\"source.css.embedded.html\",\"patterns\":[{\"include\":\"#tag-stuff\"},{\"begin\":\"(>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\"(?=</(?i:style))\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"source.css\"}]}]},{\"begin\":\"(?:^\\\\s+)?(<)((?i:script))\\\\b(?![^>]*/>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.script.html\"}},\"end\":\"(?<=</(script|SCRIPT))(>)(?:\\\\s*\\\\n)?\",\"endCaptures\":{\"2\":{\"name\":\"punctuation.definition.tag.html\"}},\"name\":\"source.js.embedded.html\",\"patterns\":[{\"include\":\"#tag-stuff\"},{\"begin\":\"(?<!</(?:script|SCRIPT))(>)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.script.html\"}},\"end\":\"(</)((?i:script))\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.js\"}},\"match\":\"(//).*?((?=</script)|$\\\\n?)\",\"name\":\"comment.line.double-slash.js\"},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.js\"}},\"end\":\"\\\\*/|(?=</script)\",\"name\":\"comment.block.js\"},{\"include\":\"#php\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"},{\"include\":\"source.js\"}]}]},{\"begin\":\"(?i)(?<=\\\\{%\\\\s(?:|include)js\\\\s%})\",\"end\":\"(?i)(?=\\\\{%\\\\send(?:|include)js\\\\s%})\",\"name\":\"source.js.embedded.twig\",\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"(?i)(?<=\\\\{%\\\\s(?:|include|includehires)css\\\\s%})\",\"end\":\"(?i)(?=\\\\{%\\\\send(?:|include|includehires)css\\\\s%})\",\"name\":\"source.css.embedded.twig\",\"patterns\":[{\"include\":\"source.css\"}]},{\"begin\":\"(?i)(?<=\\\\{%\\\\s(?:|include|includehires)scss\\\\s%})\",\"end\":\"(?i)(?=\\\\{%\\\\send(?:|include|includehires)scss\\\\s%})\",\"name\":\"source.css.scss.embedded.twig\",\"patterns\":[{\"include\":\"source.css.scss\"}]},{\"begin\":\"(</?)((?i:body|head|html))\\\\b\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.structure.any.html\"}},\"end\":\"(>)\",\"name\":\"meta.tag.structure.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.block.any.html\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.block.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.inline.any.html\"}},\"end\":\"((?: ?/)?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.inline.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)([0-:A-Za-z]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.other.html\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.other.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"include\":\"#entities\"},{\"match\":\"<>\",\"name\":\"invalid.illegal.incomplete.html\"},{\"match\":\"<\",\"name\":\"invalid.illegal.bad-angle-bracket.html\"},{\"include\":\"#twig-verbatim\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"}],\"repository\":{\"embedded-code\":{\"patterns\":[{\"include\":\"#ruby\"},{\"include\":\"#php\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"},{\"include\":\"#python\"}]},\"entities\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.html\"},\"3\":{\"name\":\"punctuation.definition.entity.html\"}},\"match\":\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)\",\"name\":\"constant.character.entity.html\"},{\"match\":\"&\",\"name\":\"invalid.illegal.bad-ampersand.html\"}]},\"php\":{\"begin\":\"(?=(^\\\\s*)?<\\\\?)\",\"end\":\"(?!(^\\\\s*)?<\\\\?)\",\"patterns\":[{\"include\":\"source.php\"}]},\"python\":{\"begin\":\"^\\\\s*<\\\\?python(?!.*\\\\?>)\",\"end\":\"\\\\?>(?:\\\\s*$\\\\n)?\",\"name\":\"source.python.embedded.html\",\"patterns\":[{\"include\":\"source.python\"}]},\"ruby\":{\"patterns\":[{\"begin\":\"<%+#\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.erb\"}},\"end\":\"%>\",\"name\":\"comment.block.erb\"},{\"begin\":\"<%+(?!>)=?\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.ruby\"}},\"end\":\"-?%>\",\"name\":\"source.ruby.embedded.html\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.ruby\"},{\"include\":\"source.ruby\"}]},{\"begin\":\"<\\\\?r(?!>)=?\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.ruby.nitro\"}},\"end\":\"-?\\\\?>\",\"name\":\"source.ruby.nitro.embedded.html\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby.nitro\"}},\"match\":\"(#).*?(?=-?\\\\?>)\",\"name\":\"comment.line.number-sign.ruby.nitro\"},{\"include\":\"source.ruby\"}]}]},\"string-double-quoted\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.double.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},\"string-single-quoted\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.single.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},\"tag-generic-attribute\":{\"match\":\"\\\\b([-:A-Za-z]+)\",\"name\":\"entity.other.attribute-name.html\"},\"tag-id-attribute\":{\"begin\":\"\\\\b(id)\\\\b\\\\s*(=)\",\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.id.html\"},\"2\":{\"name\":\"punctuation.separator.key-value.html\"}},\"end\":\"(?<=[\\\"'])\",\"name\":\"meta.attribute-with-value.id.html\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"contentName\":\"meta.toc-list.id.html\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.double.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"contentName\":\"meta.toc-list.id.html\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.single.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]}]},\"tag-stuff\":{\"patterns\":[{\"include\":\"#tag-id-attribute\"},{\"include\":\"#tag-generic-attribute\"},{\"include\":\"#string-double-quoted\"},{\"include\":\"#string-single-quoted\"},{\"include\":\"#embedded-code\"}]},\"twig-arrays\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.twig\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.twig\"}},\"name\":\"meta.array.twig\",\"patterns\":[{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"},{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.twig\"}]},\"twig-comment-tag\":{\"begin\":\"\\\\{#-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.twig\"}},\"end\":\"-?#}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.twig\"}},\"name\":\"comment.block.twig\"},\"twig-constants\":{\"patterns\":[{\"match\":\"(?i)(?<=[(,:\\\\[{\\\\s])(?:true|false|null|none)(?=[]),}\\\\s])\",\"name\":\"constant.language.twig\"},{\"match\":\"(?<=[(,:\\\\[{\\\\s]|\\\\.\\\\.|\\\\*\\\\*)[0-9]+(?:\\\\.[0-9]+)?(?=[]),}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)\",\"name\":\"constant.numeric.twig\"}]},\"twig-filters\":{\"captures\":{\"1\":{\"name\":\"support.function.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[]),:|}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)\"},\"twig-filters-ud\":{\"captures\":{\"1\":{\"name\":\"meta.function-call.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)\"},\"twig-filters-warg\":{\"begin\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-filters-warg-ud\":{\"begin\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.function-call.other.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-functions\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.twig\"},\"2\":{\"name\":\"support.function.twig\"}},\"match\":\"(?<=is\\\\s)(?:(not)\\\\s+)?(defined|empty|even|iterable|odd|null|same\\\\s+as)\"},\"twig-functions-warg\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"}]},\"twig-hashes\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.hash.begin.twig\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.hash.end.twig\"}},\"name\":\"meta.hash.twig\",\"patterns\":[{\"include\":\"#twig-hashes\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"match\":\":\",\"name\":\"punctuation.separator.key-value.twig\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.twig\"}]},\"twig-keywords\":{\"match\":\"(?<=\\\\s)((?:end)?(?:autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim)|as|do|else|elseif|extends|flush|from|ignore missing|import|include|only|types|use|with)(?=\\\\s)\",\"name\":\"keyword.control.twig\"},\"twig-macros\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?:(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.function-call.twig\"},\"2\":{\"name\":\"punctuation.separator.property.twig\"},\"3\":{\"name\":\"variable.other.property.twig\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-objects\":{\"captures\":{\"1\":{\"name\":\"variable.other.twig\"}},\"match\":\"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[](),.:\\\\[|}\\\\s])\"},\"twig-operators\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.arithmetic.twig\"}},\"match\":\"(?<=\\\\s)([-+]|//?|%|\\\\*\\\\*?)(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.twig\"}},\"match\":\"(?<=\\\\s)([=~])(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.bitwise.twig\"}},\"match\":\"(?<=\\\\s)(b-(?:and|or|xor))(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.comparison.twig\"}},\"match\":\"(?<=\\\\s)([!=]=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.twig\"}},\"match\":\"(?<=\\\\s)([:?]|\\\\?:|\\\\?\\\\?|and|not|or)(?=\\\\s)\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ])\\\\.\\\\.(?=[\\\"'0-9A-Z_a-z\\\\x7F-ÿ])\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z}\\\\x7F-ÿ])\\\\|(?=[A-Z_a-z\\\\x7F-ÿ])\"}]},\"twig-print-tag\":{\"begin\":\"\\\\{\\\\{-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"end\":\"-?}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"name\":\"meta.tag.template.value.twig\",\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-properties\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.property.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"}},\"match\":\"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[]),.:\\\\[|}\\\\s])\"},{\"begin\":\"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.property.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.array.begin.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"},\"3\":{\"name\":\"punctuation.section.array.end.twig\"},\"4\":{\"name\":\"punctuation.section.array.begin.twig\"},\"5\":{\"name\":\"variable.other.property.twig\"},\"6\":{\"name\":\"punctuation.section.array.end.twig\"},\"7\":{\"name\":\"punctuation.section.array.begin.twig\"},\"8\":{\"name\":\"variable.other.property.twig\"},\"9\":{\"name\":\"punctuation.section.array.end.twig\"}},\"match\":\"(?<=[]0-9A-Z_a-z\\\\x7F-ÿ])(?:(\\\\[)('[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*')(])|(\\\\[)(\\\"[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*\\\")(])|(\\\\[)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(]))\"}]},\"twig-statement-tag\":{\"begin\":\"\\\\{%-?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"end\":\"-?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"name\":\"meta.tag.template.block.twig\",\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-keywords\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-strings\":{\"patterns\":[{\"begin\":\"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.twig\"}},\"end\":\"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.twig\"}},\"name\":\"string.quoted.single.twig\"},{\"begin\":\"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.twig\"}},\"end\":\"(?:(?<!\\\\\\\\)|(?<=\\\\\\\\\\\\\\\\))\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.twig\"}},\"name\":\"string.quoted.double.twig\"}]},\"twig-verbatim\":{\"begin\":\"(\\\\{%-?)\\\\s*(verbatim)\\\\s*(-?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.definition.tag.twig\"}},\"contentName\":\"string.unquoted.verbatim.twig\",\"end\":\"(\\\\{%-?)\\\\s*(endverbatim)\\\\s*(-?%})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.definition.tag.twig\"}},\"name\":\"meta.tag.template.verbatim.twig\"}},\"scopeName\":\"text.html.twig\",\"embeddedLangs\":[\"css\",\"javascript\",\"scss\",\"php\",\"python\",\"ruby\"]}"))
8
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Twig\",\"fileTypes\":[\"twig\",\"html.twig\"],\"firstLineMatch\":\"<!(?i:DOCTYPE)|<(?i:html)|<\\\\?(?i:php)|\\\\{\\\\{|\\\\{%|\\\\{#\",\"foldingStartMarker\":\"(<(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)\\\\b.*?>|<!--(?!.*--\\\\s*>)|^<!-- #tminclude (?>.*?-->)$|\\\\{%\\\\s+(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\",\"foldingStopMarker\":\"(</(?i:body|div|dl|fieldset|form|head|li|ol|script|select|style|table|tbody|tfoot|thead|tr|ul)>|^(?!.*?<!--).*?--\\\\s*>|^<!-- end tminclude -->$|\\\\{%\\\\s+end(autoescape|block|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim))\",\"injections\":{\"L:text.html.twig -meta.tag.template -comment.block.twig -string.unquoted.verbatim.twig\":{\"patterns\":[{\"include\":\"#twig-verbatim\"},{\"include\":\"#twig-embedded-blocks\"},{\"include\":\"#twig-comment-tag\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-injected-statement\"}]}},\"name\":\"twig\",\"patterns\":[{\"include\":\"#twig-verbatim\"},{\"begin\":\"(\\\\{%[-~]?)\\\\s*(js|includejs|javascript)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.js.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"(\\\\{%[-~]?)\\\\s*((?:|include|includehires)css)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.css.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.css\"}]},{\"begin\":\"(\\\\{%[-~]?)\\\\s*((?:|include|includehires)scss)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.css.scss.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.css.scss\"}]},{\"begin\":\"(<)([-.0-:A-Za-z]++)(?=[^>]*></\\\\2>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.html\"}},\"end\":\"(>(<)/)(\\\\2)(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"meta.scope.between-tag-pair.html\"},\"3\":{\"name\":\"entity.name.tag.html\"},\"4\":{\"name\":\"punctuation.definition.tag.html\"}},\"name\":\"meta.tag.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(<\\\\?)(xml)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.xml.html\"}},\"end\":\"(\\\\?>)\",\"name\":\"meta.tag.preprocessor.xml.html\",\"patterns\":[{\"include\":\"#tag-generic-attribute\"},{\"include\":\"#string-double-quoted\"},{\"include\":\"#string-single-quoted\"}]},{\"begin\":\"<!--\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.html\"}},\"end\":\"--\\\\s*>\",\"name\":\"comment.block.html\",\"patterns\":[{\"match\":\"--\",\"name\":\"invalid.illegal.bad-comments-or-CDATA.html\"},{\"include\":\"#embedded-code\"}]},{\"begin\":\"<!\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\">\",\"name\":\"meta.tag.sgml.html\",\"patterns\":[{\"begin\":\"(?i:DOCTYPE)\",\"captures\":{\"1\":{\"name\":\"entity.name.tag.doctype.html\"}},\"end\":\"(?=>)\",\"name\":\"meta.tag.sgml.doctype.html\",\"patterns\":[{\"match\":\"\\\"[^\\\">]*\\\"\",\"name\":\"string.quoted.double.doctype.identifiers-and-DTDs.html\"}]},{\"begin\":\"\\\\[CDATA\\\\[\",\"end\":\"]](?=>)\",\"name\":\"constant.other.inline-data.html\"},{\"match\":\"(\\\\s*)(?!--|>)\\\\S(\\\\s*)\",\"name\":\"invalid.illegal.bad-comments-or-CDATA.html\"}]},{\"include\":\"#embedded-code\"},{\"begin\":\"(?:^\\\\s+)?(<)((?i:style))\\\\b(?![^>]*/>)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.style.html\"},\"3\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\"(</)((?i:style))(>)(?:\\\\s*\\\\n)?\",\"name\":\"source.css.embedded.html\",\"patterns\":[{\"include\":\"#tag-stuff\"},{\"begin\":\"(>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"}},\"end\":\"(?=</(?i:style))\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"source.css\"}]}]},{\"begin\":\"(?:^\\\\s+)?(<)((?i:script))\\\\b(?![^>]*/>)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.script.html\"}},\"end\":\"(?<=</(script|SCRIPT))(>)(?:\\\\s*\\\\n)?\",\"endCaptures\":{\"2\":{\"name\":\"punctuation.definition.tag.html\"}},\"name\":\"source.js.embedded.html\",\"patterns\":[{\"include\":\"#tag-stuff\"},{\"begin\":\"(?<!</(?:script|SCRIPT))(>)\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.script.html\"}},\"end\":\"(</)((?i:script))\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.js\"}},\"match\":\"(//).*?((?=</script)|$\\\\n?)\",\"name\":\"comment.line.double-slash.js\"},{\"begin\":\"/\\\\*\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.js\"}},\"end\":\"\\\\*/|(?=</script)\",\"name\":\"comment.block.js\"},{\"include\":\"#php\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"},{\"include\":\"source.js\"}]}]},{\"begin\":\"(</?)((?i:body|head|html))\\\\b\",\"captures\":{\"1\":{\"name\":\"punctuation.definition.tag.html\"},\"2\":{\"name\":\"entity.name.tag.structure.any.html\"}},\"end\":\"(>)\",\"name\":\"meta.tag.structure.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.block.any.html\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.block.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.inline.any.html\"}},\"end\":\"((?: ?/)?>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.inline.any.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"begin\":\"(</?)([-.0-:A-Za-z]+)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.begin.html\"},\"2\":{\"name\":\"entity.name.tag.other.html\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.end.html\"}},\"name\":\"meta.tag.other.html\",\"patterns\":[{\"include\":\"#tag-stuff\"}]},{\"include\":\"#entities\"},{\"match\":\"<>\",\"name\":\"invalid.illegal.incomplete.html\"},{\"match\":\"<\",\"name\":\"invalid.illegal.bad-angle-bracket.html\"},{\"include\":\"#twig-verbatim\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"}],\"repository\":{\"embedded-code\":{\"patterns\":[{\"include\":\"#twig-verbatim\"},{\"include\":\"#ruby\"},{\"include\":\"#php\"},{\"include\":\"#twig-print-tag\"},{\"include\":\"#twig-statement-tag\"},{\"include\":\"#twig-comment-tag\"},{\"include\":\"#python\"}]},\"entities\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.entity.html\"},\"3\":{\"name\":\"punctuation.definition.entity.html\"}},\"match\":\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\h+)(;)\",\"name\":\"constant.character.entity.html\"},{\"match\":\"&\",\"name\":\"invalid.illegal.bad-ampersand.html\"}]},\"php\":{\"begin\":\"(?=(^\\\\s*)?<\\\\?)\",\"end\":\"(?!(^\\\\s*)?<\\\\?)\",\"patterns\":[{\"include\":\"source.php\"}]},\"python\":{\"begin\":\"^\\\\s*<\\\\?python(?!.*\\\\?>)\",\"end\":\"\\\\?>(?:\\\\s*$\\\\n)?\",\"name\":\"source.python.embedded.html\",\"patterns\":[{\"include\":\"source.python\"}]},\"ruby\":{\"patterns\":[{\"begin\":\"<%+#\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.erb\"}},\"end\":\"%>\",\"name\":\"comment.block.erb\"},{\"begin\":\"<%+(?!>)=?\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.ruby\"}},\"end\":\"-?%>\",\"name\":\"source.ruby.embedded.html\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.ruby\"},{\"include\":\"source.ruby\"}]},{\"begin\":\"<\\\\?r(?!>)=?\",\"captures\":{\"0\":{\"name\":\"punctuation.section.embedded.ruby.nitro\"}},\"end\":\"-?\\\\?>\",\"name\":\"source.ruby.nitro.embedded.html\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby.nitro\"}},\"match\":\"(#).*?(?=-?\\\\?>)\",\"name\":\"comment.line.number-sign.ruby.nitro\"},{\"include\":\"source.ruby\"}]}]},\"string-double-quoted\":{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.double.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},\"string-single-quoted\":{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.single.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},\"tag-generic-attribute\":{\"match\":\"\\\\b([-:A-Za-z]+)\",\"name\":\"entity.other.attribute-name.html\"},\"tag-id-attribute\":{\"begin\":\"\\\\b(id)\\\\b\\\\s*(=)\",\"captures\":{\"1\":{\"name\":\"entity.other.attribute-name.id.html\"},\"2\":{\"name\":\"punctuation.separator.key-value.html\"}},\"end\":\"(?<=[\\\"'])\",\"name\":\"meta.attribute-with-value.id.html\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"contentName\":\"meta.toc-list.id.html\",\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.double.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.html\"}},\"contentName\":\"meta.toc-list.id.html\",\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.html\"}},\"name\":\"string.quoted.single.html\",\"patterns\":[{\"include\":\"#embedded-code\"},{\"include\":\"#entities\"}]}]},\"tag-stuff\":{\"patterns\":[{\"begin\":\"(=)\\\\s*(?=[^\\\"'<=>`\\\\s])\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.key-value.html\"}},\"contentName\":\"string.unquoted.html\",\"end\":\"(?=[>\\\\s])\",\"patterns\":[{\"include\":\"#embedded-code\"}]},{\"include\":\"#tag-id-attribute\"},{\"include\":\"#tag-generic-attribute\"},{\"include\":\"#string-double-quoted\"},{\"include\":\"#string-single-quoted\"},{\"include\":\"#embedded-code\"}]},\"twig-arrays\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.twig\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.twig\"}},\"name\":\"meta.array.twig\",\"patterns\":[{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"},{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.twig\"}]},\"twig-comment-tag\":{\"begin\":\"\\\\{#[-~]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.twig\"}},\"end\":\"[-~]?#}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.twig\"}},\"name\":\"comment.block.twig\"},\"twig-constants\":{\"patterns\":[{\"match\":\"(?i)(?<=[(,:\\\\[{\\\\s])(?:true|false|null|none)(?=[]),}\\\\s])\",\"name\":\"constant.language.twig\"},{\"match\":\"(?<=[(,:\\\\[{\\\\s]|\\\\.\\\\.|\\\\*\\\\*)[0-9]+(?:\\\\.[0-9]+)?(?=[]),}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)\",\"name\":\"constant.numeric.twig\"}]},\"twig-embedded-blocks\":{\"patterns\":[{\"begin\":\"(\\\\{%[-~]?)\\\\s*(js|includejs|javascript)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.js.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.js\"}]},{\"begin\":\"(\\\\{%[-~]?)\\\\s*((?:|include|includehires)css)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.css.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.css\"}]},{\"begin\":\"(\\\\{%[-~]?)\\\\s*((?:|include|includehires)scss)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.section.tag.twig\"}},\"contentName\":\"source.css.scss.embedded.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*end\\\\2\\\\s*([-~]?%})\",\"endCaptures\":{\"0\":{\"name\":\"keyword.control.twig\"}},\"patterns\":[{\"include\":\"source.css.scss\"}]}]},\"twig-filters\":{\"captures\":{\"1\":{\"name\":\"support.function.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(default|abs|capitalize|e(?:scape)?|first|join|(?:json|url)_encode|keys|last|length|lower|nl2br|number_format|raw|reverse|round|sort|striptags|title|trim|upper)(?=[]),:|}\\\\s]|\\\\.\\\\.|\\\\*\\\\*)\"},\"twig-filters-ud\":{\"captures\":{\"1\":{\"name\":\"meta.function-call.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)\"},\"twig-filters-warg\":{\"begin\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)(batch|convert_encoding|date|date_modify|default|e(?:scape)?|format|join|merge|number_format|replace|round|slice|split|trim)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-filters-warg-ud\":{\"begin\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ]\\\\||\\\\{%\\\\sfilter\\\\s)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.function-call.other.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-functions\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.twig\"},\"2\":{\"name\":\"support.function.twig\"}},\"match\":\"(?<=is\\\\s)(?:(not)\\\\s+)?(defined|empty|even|iterable|odd|null|same\\\\s+as)\"},\"twig-functions-warg\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])(attribute|block|constant|cycle|date|divisible by|dump|include|max|min|parent|random|range|same as|source|template_from_string)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.twig\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"}]},\"twig-hashes\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.hash.begin.twig\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.hash.end.twig\"}},\"name\":\"meta.hash.twig\",\"patterns\":[{\"include\":\"#twig-hashes\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"match\":\":\",\"name\":\"punctuation.separator.key-value.twig\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.twig\"}]},\"twig-injected-statement\":{\"begin\":\"\\\\{%(?![-~]?\\\\s*end(?:js|javascript|includejs|css|includecss|includehirescss|scss|includescss|includehiresscss)\\\\b)[-~]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"end\":\"[-~]?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"name\":\"meta.tag.template.block.twig\",\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-keywords\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-keywords\":{\"match\":\"\\\\b(?:(?:end)?(?:apply|autoescape|block|cache|deprecated|embed|filter|for|if|macro|raw|sandbox|set|spaceless|trans|verbatim|with)|as|do|else|elseif|extends|flush|from|import|include|only|types|use)\\\\b\",\"name\":\"keyword.control.twig\"},\"twig-macros\":{\"begin\":\"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?:(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*))?(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"meta.function-call.twig\"},\"2\":{\"name\":\"punctuation.separator.property.twig\"},\"3\":{\"name\":\"variable.other.property.twig\"},\"4\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-objects\":{\"captures\":{\"1\":{\"name\":\"variable.other.twig\"}},\"match\":\"(?<=[(,:\\\\[{\\\\s])([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[](),.:\\\\[|}\\\\s])\"},\"twig-operators\":{\"patterns\":[{\"match\":\"\\\\?\\\\?|\\\\?:|\\\\?\\\\.|<=>|=>|===|!==\",\"name\":\"keyword.operator.twig\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.arithmetic.twig\"}},\"match\":\"(?<=\\\\s)([-+]|//?|%|\\\\*\\\\*?)(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.assignment.twig\"}},\"match\":\"(?<=\\\\s)([=~])(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.bitwise.twig\"}},\"match\":\"(?<=\\\\s)(b-(?:and|or|xor))(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.comparison.twig\"}},\"match\":\"(?<=\\\\s)([!=]=|<=?|>=?|(?:not )?in|is(?: not)?|(?:ends|starts) with|matches)(?=\\\\s)\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.twig\"}},\"match\":\"(?<=\\\\s)([:?]|\\\\?:|\\\\?\\\\?|and|not|or)(?=\\\\s)\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z\\\\x7F-ÿ])\\\\.\\\\.(?=[\\\"'0-9A-Z_a-z\\\\x7F-ÿ])\"},{\"captures\":{\"0\":{\"name\":\"keyword.operator.other.twig\"}},\"match\":\"(?<=[]\\\"')0-9A-Z_a-z}\\\\x7F-ÿ])\\\\|(?=[A-Z_a-z\\\\x7F-ÿ])\"}]},\"twig-print-tag\":{\"begin\":\"\\\\{\\\\{[-~]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"end\":\"[-~]?}}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"name\":\"meta.tag.template.value.twig\",\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-properties\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.property.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"}},\"match\":\"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(?=[]),.:\\\\[|}\\\\s])\"},{\"begin\":\"(?<=[0-9A-Z_a-z\\\\x7F-ÿ])(\\\\.)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.property.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.twig\"}},\"contentName\":\"meta.function.arguments.twig\",\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.end.twig\"}},\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.array.begin.twig\"},\"2\":{\"name\":\"variable.other.property.twig\"},\"3\":{\"name\":\"punctuation.section.array.end.twig\"},\"4\":{\"name\":\"punctuation.section.array.begin.twig\"},\"5\":{\"name\":\"variable.other.property.twig\"},\"6\":{\"name\":\"punctuation.section.array.end.twig\"},\"7\":{\"name\":\"punctuation.section.array.begin.twig\"},\"8\":{\"name\":\"variable.other.property.twig\"},\"9\":{\"name\":\"punctuation.section.array.end.twig\"}},\"match\":\"(?<=[]0-9A-Z_a-z\\\\x7F-ÿ])(?:(\\\\[)('[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*')(])|(\\\\[)(\\\"[A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*\\\")(])|(\\\\[)([A-Z_a-z\\\\x7F-ÿ][0-9A-Z_a-z\\\\x7F-ÿ]*)(]))\"}]},\"twig-statement-tag\":{\"begin\":\"\\\\{%[-~]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"end\":\"[-~]?%}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.tag.twig\"}},\"name\":\"meta.tag.template.block.twig\",\"patterns\":[{\"include\":\"#twig-constants\"},{\"include\":\"#twig-keywords\"},{\"include\":\"#twig-operators\"},{\"include\":\"#twig-functions-warg\"},{\"include\":\"#twig-functions\"},{\"include\":\"#twig-macros\"},{\"include\":\"#twig-filters-warg\"},{\"include\":\"#twig-filters\"},{\"include\":\"#twig-filters-warg-ud\"},{\"include\":\"#twig-filters-ud\"},{\"include\":\"#twig-objects\"},{\"include\":\"#twig-properties\"},{\"include\":\"#twig-strings\"},{\"include\":\"#twig-arrays\"},{\"include\":\"#twig-hashes\"}]},\"twig-strings\":{\"patterns\":[{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.twig\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.twig\"}},\"name\":\"string.quoted.single.twig\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.twig\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.twig\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.twig\"}},\"name\":\"string.quoted.double.twig\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.twig\"}]}]},\"twig-verbatim\":{\"begin\":\"(\\\\{%[-~]?)\\\\s*(verbatim)\\\\s*([-~]?%})\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.definition.tag.twig\"}},\"contentName\":\"string.unquoted.verbatim.twig\",\"end\":\"(\\\\{%[-~]?)\\\\s*(endverbatim)\\\\s*([-~]?%})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tag.twig\"},\"2\":{\"name\":\"keyword.control.twig\"},\"3\":{\"name\":\"punctuation.definition.tag.twig\"}},\"name\":\"meta.tag.template.verbatim.twig\"}},\"scopeName\":\"text.html.twig\",\"embeddedLangs\":[\"javascript\",\"css\",\"scss\",\"php\",\"python\",\"ruby\"]}"))
9
9
 
10
10
  export default [
11
- ...css,
12
11
  ...javascript,
12
+ ...css,
13
13
  ...scss,
14
14
  ...php,
15
15
  ...python,
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"TypeSpec\",\"fileTypes\":[\"tsp\"],\"name\":\"typespec\",\"patterns\":[{\"include\":\"#statement\"}],\"repository\":{\"alias-id\":{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.alias-id.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"alias-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(alias)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.alias-statement.typespec\",\"patterns\":[{\"include\":\"#alias-id\"},{\"include\":\"#type-parameters\"}]},\"augment-decorator-statement\":{\"begin\":\"((@@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"end\":\"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.augment-decorator-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#parenthesized-expression\"}]},\"block-comment\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.tsp\"},\"boolean-literal\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.tsp\"},\"callExpression\":{\"begin\":\"\\\\b([$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tsp\"},\"2\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.callExpression.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"const-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(const)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"variable.name.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.const-statement.typespec\",\"patterns\":[{\"include\":\"#type-annotation\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#expression\"}]},\"decorator\":{\"begin\":\"((@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"end\":\"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.decorator.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#parenthesized-expression\"}]},\"decorator-declaration-statement\":{\"begin\":\"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(dec)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"keyword.other.tsp\"},\"4\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.decorator-declaration-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"}]},\"directive\":{\"begin\":\"\\\\s*(#)\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.directive.name.tsp\"},\"2\":{\"name\":\"keyword.directive.name.tsp\"}},\"end\":\"$|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.directive.typespec\",\"patterns\":[{\"include\":\"#string-literal\"},{\"include\":\"#identifier-expression\"}]},\"doc-comment\":{\"begin\":\"/\\\\*\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.tsp\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"comment.block.tsp\"}},\"name\":\"comment.block.tsp\",\"patterns\":[{\"include\":\"#doc-comment-block\"}]},\"doc-comment-block\":{\"patterns\":[{\"include\":\"#doc-comment-param\"},{\"include\":\"#doc-comment-return-tag\"},{\"include\":\"#doc-comment-unknown-tag\"}]},\"doc-comment-param\":{\"captures\":{\"1\":{\"name\":\"keyword.tag.tspdoc\"},\"2\":{\"name\":\"keyword.tag.tspdoc\"},\"3\":{\"name\":\"variable.name.tsp\"}},\"match\":\"((@)(?:param|template|prop))\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\b\",\"name\":\"comment.block.tsp\"},\"doc-comment-return-tag\":{\"captures\":{\"1\":{\"name\":\"keyword.tag.tspdoc\"},\"2\":{\"name\":\"keyword.tag.tspdoc\"}},\"match\":\"((@)returns)\\\\b\",\"name\":\"comment.block.tsp\"},\"doc-comment-unknown-tag\":{\"captures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"match\":\"((@)(?:\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))\\\\b\",\"name\":\"comment.block.tsp\"},\"enum-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.enum-body.typespec\",\"patterns\":[{\"include\":\"#enum-member\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#punctuation-comma\"}]},\"enum-member\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:?)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.enum-member.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-annotation\"}]},\"enum-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(enum)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.enum-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#enum-body\"}]},\"escape-character\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.tsp\"},\"expression\":{\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#valueof\"},{\"include\":\"#typeof\"},{\"include\":\"#type-arguments\"},{\"include\":\"#object-literal\"},{\"include\":\"#tuple-literal\"},{\"include\":\"#tuple-expression\"},{\"include\":\"#model-expression\"},{\"include\":\"#callExpression\"},{\"include\":\"#identifier-expression\"}]},\"function-declaration-statement\":{\"begin\":\"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(fn)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"keyword.other.tsp\"},\"4\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.function-declaration-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"},{\"include\":\"#type-annotation\"}]},\"identifier-expression\":{\"match\":\"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`\",\"name\":\"entity.name.type.tsp\"},\"import-statement\":{\"begin\":\"\\\\b(import)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.import-statement.typespec\",\"patterns\":[{\"include\":\"#token\"}]},\"interface-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.interface-body.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#interface-member\"},{\"include\":\"#punctuation-semicolon\"}]},\"interface-heritage\":{\"begin\":\"\\\\b(extends)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b))\",\"name\":\"meta.interface-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"interface-member\":{\"begin\":\"(?:\\\\b(op)\\\\b\\\\s+)?(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.interface-member.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-signature\"}]},\"interface-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(interface)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.interface-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#interface-heritage\"},{\"include\":\"#interface-body\"},{\"include\":\"#expression\"}]},\"line-comment\":{\"match\":\"//.*$\",\"name\":\"comment.line.double-slash.tsp\"},\"model-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.model-expression.typespec\",\"patterns\":[{\"include\":\"#model-property\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-semicolon\"}]},\"model-heritage\":{\"begin\":\"\\\\b(extends|is)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b))\",\"name\":\"meta.model-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"model-property\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"string.quoted.double.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.model-property.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-annotation\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#expression\"}]},\"model-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(model)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.model-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#model-heritage\"},{\"include\":\"#expression\"}]},\"namespace-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.namespace-body.typespec\",\"patterns\":[{\"include\":\"#statement\"}]},\"namespace-name\":{\"begin\":\"(?=([$_`[:alpha:]]))\",\"end\":\"((?=\\\\{)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b))\",\"name\":\"meta.namespace-name.typespec\",\"patterns\":[{\"include\":\"#identifier-expression\"},{\"include\":\"#punctuation-accessor\"}]},\"namespace-statement\":{\"begin\":\"\\\\b(namespace)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b))\",\"name\":\"meta.namespace-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#namespace-name\"},{\"include\":\"#namespace-body\"}]},\"numeric-literal\":{\"match\":\"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)|\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)|(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)\",\"name\":\"constant.numeric.tsp\"},\"object-literal\":{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.hashcurlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.object-literal.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#object-literal-property\"},{\"include\":\"#directive\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-comma\"}]},\"object-literal-property\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.object-literal-property.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"}]},\"operation-heritage\":{\"begin\":\"\\\\b(is)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.operation-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"operation-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.operation-parameters.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#decorator\"},{\"include\":\"#model-property\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-comma\"}]},\"operation-signature\":{\"patterns\":[{\"include\":\"#type-parameters\"},{\"include\":\"#operation-heritage\"},{\"include\":\"#operation-parameters\"},{\"include\":\"#type-annotation\"}]},\"operation-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(op)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.operation-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-signature\"}]},\"operator-assignment\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.tsp\"},\"parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.parenthesized-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.tsp\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.comma.tsp\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.tsp\"},\"scalar-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.scalar-body.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#scalar-constructor\"},{\"include\":\"#punctuation-semicolon\"}]},\"scalar-constructor\":{\"begin\":\"\\\\b(init)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-constructor.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"}]},\"scalar-extends\":{\"begin\":\"\\\\b(extends)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-extends.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"scalar-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(scalar)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#scalar-extends\"},{\"include\":\"#scalar-body\"}]},\"spread-operator\":{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.spread-operator.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"statement\":{\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#augment-decorator-statement\"},{\"include\":\"#decorator\"},{\"include\":\"#model-statement\"},{\"include\":\"#scalar-statement\"},{\"include\":\"#union-statement\"},{\"include\":\"#interface-statement\"},{\"include\":\"#enum-statement\"},{\"include\":\"#alias-statement\"},{\"include\":\"#const-statement\"},{\"include\":\"#namespace-statement\"},{\"include\":\"#operation-statement\"},{\"include\":\"#import-statement\"},{\"include\":\"#using-statement\"},{\"include\":\"#decorator-declaration-statement\"},{\"include\":\"#function-declaration-statement\"},{\"include\":\"#punctuation-semicolon\"}]},\"string-literal\":{\"begin\":\"\\\"\",\"end\":\"\\\"|$\",\"name\":\"string.quoted.double.tsp\",\"patterns\":[{\"include\":\"#template-expression\"},{\"include\":\"#escape-character\"}]},\"template-expression\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.tsp\"}},\"name\":\"meta.template-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"token\":{\"patterns\":[{\"include\":\"#doc-comment\"},{\"include\":\"#line-comment\"},{\"include\":\"#block-comment\"},{\"include\":\"#triple-quoted-string-literal\"},{\"include\":\"#string-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#numeric-literal\"}]},\"triple-quoted-string-literal\":{\"begin\":\"\\\"\\\"\\\"\",\"end\":\"\\\"\\\"\\\"\",\"name\":\"string.quoted.triple.tsp\",\"patterns\":[{\"include\":\"#template-expression\"},{\"include\":\"#escape-character\"}]},\"tuple-expression\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.tsp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.tsp\"}},\"name\":\"meta.tuple-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"tuple-literal\":{\"begin\":\"#\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.hashsquarebracket.open.tsp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.tsp\"}},\"name\":\"meta.tuple-literal.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-annotation\":{\"begin\":\"\\\\s*(\\\\??)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.optional.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[),;=@}]|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-annotation.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-argument\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(=)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.tsp\"},\"2\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"name\":\"meta.type-argument.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.tsp\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.tsp\"}},\"name\":\"meta.type-arguments.typespec\",\"patterns\":[{\"include\":\"#type-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-parameter\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameter-constraint\"},{\"include\":\"#type-parameter-default\"}]},\"type-parameter-constraint\":{\"begin\":\"extends\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter-constraint.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-parameter-default\":{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter-default.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-parameters\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.tsp\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.tsp\"}},\"name\":\"meta.type-parameters.typespec\",\"patterns\":[{\"include\":\"#type-parameter\"},{\"include\":\"#punctuation-comma\"}]},\"typeof\":{\"begin\":\"\\\\b(typeof)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.typeof.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"union-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.union-body.typespec\",\"patterns\":[{\"include\":\"#union-variant\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"union-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(union)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.union-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#union-body\"}]},\"union-variant\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.union-variant.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"}]},\"using-statement\":{\"begin\":\"\\\\b(using)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.using-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#identifier-expression\"},{\"include\":\"#punctuation-accessor\"}]},\"valueof\":{\"begin\":\"\\\\b(valueof)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|model|op|using|import|enum|alias|union|interface|dec|fn)\\\\b)\",\"name\":\"meta.valueof.typespec\",\"patterns\":[{\"include\":\"#expression\"}]}},\"scopeName\":\"source.tsp\",\"aliases\":[\"tsp\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"TypeSpec\",\"fileTypes\":[\"tsp\"],\"name\":\"typespec\",\"patterns\":[{\"include\":\"#statement\"}],\"repository\":{\"alias-id\":{\"begin\":\"(=)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.alias-id.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"alias-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(alias)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.alias-statement.typespec\",\"patterns\":[{\"include\":\"#alias-id\"},{\"include\":\"#type-parameters\"}]},\"augment-decorator-statement\":{\"begin\":\"((@@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"end\":\"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.augment-decorator-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#parenthesized-expression\"}]},\"block-comment\":{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.tsp\"},\"boolean-literal\":{\"match\":\"\\\\b(true|false)\\\\b\",\"name\":\"constant.language.tsp\"},\"callExpression\":{\"begin\":\"\\\\b([$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.tsp\"},\"2\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.callExpression.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"const-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(const)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"variable.name.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.const-statement.typespec\",\"patterns\":[{\"include\":\"#type-annotation\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#expression\"}]},\"decorator\":{\"begin\":\"((@)\\\\b[$_[:alpha:]](?:[$_[:alnum:]]|\\\\.[$_[:alpha:]])*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"end\":\"(?=([$_`[:alpha:]]))|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.decorator.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#parenthesized-expression\"}]},\"decorator-declaration-statement\":{\"begin\":\"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(dec)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"keyword.other.tsp\"},\"4\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.decorator-declaration-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"}]},\"directive\":{\"begin\":\"\\\\s*(#)\\\\b([$_[:alpha:]][$_[:alnum:]]*)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.directive.name.tsp\"},\"2\":{\"name\":\"keyword.directive.name.tsp\"}},\"end\":\"$|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.directive.typespec\",\"patterns\":[{\"include\":\"#string-literal\"},{\"include\":\"#identifier-expression\"}]},\"doc-comment\":{\"begin\":\"/\\\\*\\\\*\",\"beginCaptures\":{\"0\":{\"name\":\"comment.block.tsp\"}},\"end\":\"\\\\*/\",\"endCaptures\":{\"0\":{\"name\":\"comment.block.tsp\"}},\"name\":\"comment.block.tsp\",\"patterns\":[{\"include\":\"#doc-comment-block\"}]},\"doc-comment-block\":{\"patterns\":[{\"include\":\"#doc-comment-param\"},{\"include\":\"#doc-comment-return-tag\"},{\"include\":\"#doc-comment-unknown-tag\"}]},\"doc-comment-param\":{\"captures\":{\"1\":{\"name\":\"keyword.tag.tspdoc\"},\"2\":{\"name\":\"keyword.tag.tspdoc\"},\"3\":{\"name\":\"variable.name.tsp\"}},\"match\":\"((@)(?:param|template|prop))\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\b\",\"name\":\"comment.block.tsp\"},\"doc-comment-return-tag\":{\"captures\":{\"1\":{\"name\":\"keyword.tag.tspdoc\"},\"2\":{\"name\":\"keyword.tag.tspdoc\"}},\"match\":\"((@)returns)\\\\b\",\"name\":\"comment.block.tsp\"},\"doc-comment-unknown-tag\":{\"captures\":{\"1\":{\"name\":\"entity.name.tag.tsp\"},\"2\":{\"name\":\"entity.name.tag.tsp\"}},\"match\":\"((@)(?:\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))\\\\b\",\"name\":\"comment.block.tsp\"},\"enum-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.enum-body.typespec\",\"patterns\":[{\"include\":\"#enum-member\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#punctuation-comma\"}]},\"enum-expression\":{\"begin\":\"\\\\b(enum)\\\\b(?:\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.enum-expression.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#enum-body\"}]},\"enum-member\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:?)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.enum-member.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-annotation\"}]},\"enum-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(enum)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.enum-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#enum-body\"}]},\"escape-character\":{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.tsp\"},\"expression\":{\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#valueof\"},{\"include\":\"#typeof\"},{\"include\":\"#type-arguments\"},{\"include\":\"#object-literal\"},{\"include\":\"#tuple-literal\"},{\"include\":\"#tuple-expression\"},{\"include\":\"#model-expression-keyword\"},{\"include\":\"#scalar-expression\"},{\"include\":\"#enum-expression\"},{\"include\":\"#union-expression\"},{\"include\":\"#model-expression\"},{\"include\":\"#callExpression\"},{\"include\":\"#identifier-expression\"}]},\"function-declaration-statement\":{\"begin\":\"(?:(internal)\\\\s+)?(?:(extern)\\\\s+)?\\\\b(fn)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"keyword.other.tsp\"},\"4\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.function-declaration-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"},{\"include\":\"#type-annotation\"}]},\"identifier-expression\":{\"match\":\"\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`\",\"name\":\"entity.name.type.tsp\"},\"import-statement\":{\"begin\":\"\\\\b(import)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.import-statement.typespec\",\"patterns\":[{\"include\":\"#token\"}]},\"interface-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.interface-body.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#interface-member\"},{\"include\":\"#punctuation-semicolon\"}]},\"interface-heritage\":{\"begin\":\"\\\\b(extends)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))\",\"name\":\"meta.interface-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"interface-member\":{\"begin\":\"(?:\\\\b(op)\\\\b\\\\s+)?(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.interface-member.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-signature\"}]},\"interface-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(interface)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.interface-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#interface-heritage\"},{\"include\":\"#interface-body\"},{\"include\":\"#expression\"}]},\"line-comment\":{\"match\":\"//.*$\",\"name\":\"comment.line.double-slash.tsp\"},\"model-expression\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.model-expression.typespec\",\"patterns\":[{\"include\":\"#model-property\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-semicolon\"}]},\"model-expression-keyword\":{\"begin\":\"\\\\b(model)\\\\b(?:\\\\s+(?!(?:extend|i)s\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.model-expression-keyword.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#model-heritage\"},{\"include\":\"#expression\"}]},\"model-heritage\":{\"begin\":\"\\\\b(extends|is)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))\",\"name\":\"meta.model-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"model-property\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)|(\\\"(?:[^\\\"\\\\\\\\]|\\\\\\\\.)*\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"string.quoted.double.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.model-property.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-annotation\"},{\"include\":\"#operator-assignment\"},{\"include\":\"#expression\"}]},\"model-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(model)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.model-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#model-heritage\"},{\"include\":\"#expression\"}]},\"namespace-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.namespace-body.typespec\",\"patterns\":[{\"include\":\"#statement\"}]},\"namespace-name\":{\"begin\":\"(?=([$_`[:alpha:]]))\",\"end\":\"((?=\\\\{)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))\",\"name\":\"meta.namespace-name.typespec\",\"patterns\":[{\"include\":\"#identifier-expression\"},{\"include\":\"#punctuation-accessor\"}]},\"namespace-statement\":{\"begin\":\"\\\\b(namespace)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))\",\"name\":\"meta.namespace-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#namespace-name\"},{\"include\":\"#namespace-body\"}]},\"numeric-literal\":{\"match\":\"\\\\b(?<!\\\\$)0[Xx]\\\\h[_\\\\h]*(n)?\\\\b(?!\\\\$)|\\\\b(?<!\\\\$)0[Bb][01][01_]*(n)?\\\\b(?!\\\\$)|(?<!\\\\$)(?:\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\B(\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(\\\\.)(n)?\\\\B|\\\\B(\\\\.)[0-9][0-9_]*(n)?\\\\b|\\\\b[0-9][0-9_]*(n)?\\\\b(?!\\\\.))(?!\\\\$)\",\"name\":\"constant.numeric.tsp\"},\"object-literal\":{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.hashcurlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.object-literal.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#object-literal-property\"},{\"include\":\"#directive\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-comma\"}]},\"object-literal-property\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.object-literal-property.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"}]},\"operation-heritage\":{\"begin\":\"\\\\b(is)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.operation-heritage.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"operation-parameters\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.operation-parameters.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#decorator\"},{\"include\":\"#model-property\"},{\"include\":\"#spread-operator\"},{\"include\":\"#punctuation-comma\"}]},\"operation-signature\":{\"patterns\":[{\"include\":\"#type-parameters\"},{\"include\":\"#operation-heritage\"},{\"include\":\"#operation-parameters\"},{\"include\":\"#type-annotation\"}]},\"operation-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(op)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.operation-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-signature\"}]},\"operator-assignment\":{\"match\":\"=\",\"name\":\"keyword.operator.assignment.tsp\"},\"parenthesized-expression\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.open.tsp\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.parenthesis.close.tsp\"}},\"name\":\"meta.parenthesized-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"punctuation-accessor\":{\"match\":\"\\\\.\",\"name\":\"punctuation.accessor.tsp\"},\"punctuation-comma\":{\"match\":\",\",\"name\":\"punctuation.comma.tsp\"},\"punctuation-semicolon\":{\"match\":\";\",\"name\":\"punctuation.terminator.statement.tsp\"},\"scalar-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.scalar-body.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#scalar-constructor\"},{\"include\":\"#punctuation-semicolon\"}]},\"scalar-constructor\":{\"begin\":\"\\\\b(init)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.function.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-constructor.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#operation-parameters\"}]},\"scalar-expression\":{\"begin\":\"\\\\b(scalar)\\\\b(?:\\\\s+(?!extends\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-expression.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#scalar-extends\"},{\"include\":\"#scalar-body\"}]},\"scalar-extends\":{\"begin\":\"\\\\b(extends)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-extends.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"scalar-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(scalar)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.scalar-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#scalar-extends\"},{\"include\":\"#scalar-body\"}]},\"spread-operator\":{\"begin\":\"\\\\.\\\\.\\\\.\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.spread.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.spread-operator.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"statement\":{\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#augment-decorator-statement\"},{\"include\":\"#decorator\"},{\"include\":\"#model-statement\"},{\"include\":\"#scalar-statement\"},{\"include\":\"#union-statement\"},{\"include\":\"#interface-statement\"},{\"include\":\"#enum-statement\"},{\"include\":\"#alias-statement\"},{\"include\":\"#const-statement\"},{\"include\":\"#namespace-statement\"},{\"include\":\"#operation-statement\"},{\"include\":\"#import-statement\"},{\"include\":\"#using-statement\"},{\"include\":\"#decorator-declaration-statement\"},{\"include\":\"#function-declaration-statement\"},{\"include\":\"#punctuation-semicolon\"}]},\"string-literal\":{\"begin\":\"\\\"\",\"end\":\"\\\"|$\",\"name\":\"string.quoted.double.tsp\",\"patterns\":[{\"include\":\"#template-expression\"},{\"include\":\"#escape-character\"}]},\"template-expression\":{\"begin\":\"\\\\$\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.begin.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.template-expression.end.tsp\"}},\"name\":\"meta.template-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"token\":{\"patterns\":[{\"include\":\"#doc-comment\"},{\"include\":\"#line-comment\"},{\"include\":\"#block-comment\"},{\"include\":\"#triple-quoted-string-literal\"},{\"include\":\"#string-literal\"},{\"include\":\"#boolean-literal\"},{\"include\":\"#numeric-literal\"}]},\"triple-quoted-string-literal\":{\"begin\":\"\\\"\\\"\\\"\",\"end\":\"\\\"\\\"\\\"\",\"name\":\"string.quoted.triple.tsp\",\"patterns\":[{\"include\":\"#template-expression\"},{\"include\":\"#escape-character\"}]},\"tuple-expression\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.open.tsp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.tsp\"}},\"name\":\"meta.tuple-expression.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"tuple-literal\":{\"begin\":\"#\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.hashsquarebracket.open.tsp\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.squarebracket.close.tsp\"}},\"name\":\"meta.tuple-literal.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-annotation\":{\"begin\":\"\\\\s*(\\\\??)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.optional.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[),;=@}]|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-annotation.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-argument\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(=)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.tsp\"},\"2\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"endCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"name\":\"meta.type-argument.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-arguments\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.tsp\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.tsp\"}},\"name\":\"meta.type-arguments.typespec\",\"patterns\":[{\"include\":\"#type-argument\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"type-parameter\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameter-constraint\"},{\"include\":\"#type-parameter-default\"}]},\"type-parameter-constraint\":{\"begin\":\"extends\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter-constraint.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-parameter-default\":{\"begin\":\"=\",\"beginCaptures\":{\"0\":{\"name\":\"keyword.operator.assignment.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.type-parameter-default.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"type-parameters\":{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.begin.tsp\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.typeparameters.end.tsp\"}},\"name\":\"meta.type-parameters.typespec\",\"patterns\":[{\"include\":\"#type-parameter\"},{\"include\":\"#punctuation-comma\"}]},\"typeof\":{\"begin\":\"\\\\b(typeof)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.typeof.typespec\",\"patterns\":[{\"include\":\"#expression\"}]},\"union-body\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.open.tsp\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.curlybrace.close.tsp\"}},\"name\":\"meta.union-body.typespec\",\"patterns\":[{\"include\":\"#union-variant\"},{\"include\":\"#token\"},{\"include\":\"#directive\"},{\"include\":\"#decorator\"},{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"union-expression\":{\"begin\":\"\\\\b(union)\\\\b(?:\\\\s+(?!extends\\\\b)(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"},\"2\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.union-expression.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#union-extends\"},{\"include\":\"#union-body\"}]},\"union-extends\":{\"begin\":\"\\\\b(extends)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"((?=\\\\{)|(?=[);@}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b))\",\"name\":\"meta.union-extends.typespec\",\"patterns\":[{\"include\":\"#expression\"},{\"include\":\"#punctuation-comma\"}]},\"union-statement\":{\"begin\":\"(?:(internal)\\\\s+)?\\\\b(union)\\\\b\\\\s+(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.modifier.tsp\"},\"2\":{\"name\":\"keyword.other.tsp\"},\"3\":{\"name\":\"entity.name.type.tsp\"}},\"end\":\"(?<=})|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.union-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#type-parameters\"},{\"include\":\"#union-extends\"},{\"include\":\"#union-body\"}]},\"union-variant\":{\"begin\":\"(\\\\b[$_[:alpha:]][$_[:alnum:]]*\\\\b|`(?:[^\\\\\\\\`]|\\\\\\\\.)*`)\\\\s*(:)\",\"beginCaptures\":{\"1\":{\"name\":\"variable.name.tsp\"},\"2\":{\"name\":\"keyword.operator.type.annotation.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.union-variant.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#expression\"}]},\"using-statement\":{\"begin\":\"\\\\b(using)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.using-statement.typespec\",\"patterns\":[{\"include\":\"#token\"},{\"include\":\"#identifier-expression\"},{\"include\":\"#punctuation-accessor\"}]},\"valueof\":{\"begin\":\"\\\\b(valueof)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.tsp\"}},\"end\":\"(?=>)|(?=[,;@]|#[a-z]|[)}]|\\\\b(?:extern|internal)\\\\b|\\\\b(?:namespace|op|using|import|alias|interface|dec|fn)\\\\b)\",\"name\":\"meta.valueof.typespec\",\"patterns\":[{\"include\":\"#expression\"}]}},\"scopeName\":\"source.tsp\",\"aliases\":[\"tsp\"]}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@shikijs/langs",
3
3
  "type": "module",
4
- "version": "4.4.3",
4
+ "version": "4.5.0",
5
5
  "description": "TextMate grammars for Shiki in ESM",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -390,10 +390,10 @@
390
390
  "node": ">=20"
391
391
  },
392
392
  "dependencies": {
393
- "@shikijs/types": "4.4.3"
393
+ "@shikijs/types": "4.5.0"
394
394
  },
395
395
  "devDependencies": {
396
- "tm-grammars": "^1.32.3"
396
+ "tm-grammars": "^1.32.22"
397
397
  },
398
398
  "scripts": {
399
399
  "build": "pnpm prepare"
@@ -6,11 +6,11 @@ export * from "@shikijs/types";
6
6
  /**
7
7
  * Get the minimal shiki primitive instance.
8
8
  */
9
- declare function createShikiPrimitiveAsync(options: HighlighterCoreOptions): Promise<ShikiPrimitive>;
9
+ export declare function createShikiPrimitiveAsync(options: HighlighterCoreOptions): Promise<ShikiPrimitive>;
10
10
  /**
11
11
  * @deprecated Use `createShikiPrimitiveAsync` instead.
12
12
  */
13
- declare const createShikiInternal: typeof createShikiPrimitiveAsync;
13
+ export declare const createShikiInternal: typeof createShikiPrimitiveAsync;
14
14
  //#endregion
15
15
  //#region src/constructors/primitive.d.ts
16
16
  /**
@@ -18,26 +18,26 @@ declare const createShikiInternal: typeof createShikiPrimitiveAsync;
18
18
  *
19
19
  * Requires to provide the engine and all themes and languages upfront.
20
20
  */
21
- declare function createShikiPrimitive(options: HighlighterCoreOptions<true>): ShikiPrimitive;
21
+ export declare function createShikiPrimitive(options: HighlighterCoreOptions<true>): ShikiPrimitive;
22
22
  /**
23
23
  * @deprecated Use `createShikiPrimitive` instead.
24
24
  */
25
- declare const createShikiInternalSync: typeof createShikiPrimitive;
25
+ export declare const createShikiInternalSync: typeof createShikiPrimitive;
26
26
  //#endregion
27
27
  //#region src/highlight/code-to-tokens-base.d.ts
28
28
  /**
29
29
  * Code to tokens, with a simple theme.
30
30
  */
31
- declare function codeToTokensBase(primitive: ShikiPrimitive, code: string, options?: CodeToTokensBaseOptions): ThemedToken[][];
32
- declare function getLastGrammarState(primitive: ShikiPrimitive, element: ThemedToken[][] | Root): GrammarState$1 | undefined;
33
- declare function getLastGrammarState(primitive: ShikiPrimitive, code: string, options?: CodeToTokensBaseOptions): GrammarState$1;
34
- declare function tokenizeWithTheme(code: string, grammar: Grammar, theme: ThemeRegistrationResolved, colorMap: string[], options: TokenizeWithThemeOptions): ThemedToken[][];
31
+ export declare function codeToTokensBase(primitive: ShikiPrimitive, code: string, options?: CodeToTokensBaseOptions): ThemedToken[][];
32
+ export declare function getLastGrammarState(primitive: ShikiPrimitive, element: ThemedToken[][] | Root): GrammarState$1 | undefined;
33
+ export declare function getLastGrammarState(primitive: ShikiPrimitive, code: string, options?: CodeToTokensBaseOptions): GrammarState$1;
34
+ export declare function tokenizeWithTheme(code: string, grammar: Grammar, theme: ThemeRegistrationResolved, colorMap: string[], options: TokenizeWithThemeOptions): ThemedToken[][];
35
35
  //#endregion
36
36
  //#region src/highlight/code-to-tokens-themes.d.ts
37
37
  /**
38
38
  * Get tokens with multiple themes
39
39
  */
40
- declare function codeToTokensWithThemes(primitive: ShikiPrimitive, code: string, options: CodeToTokensWithThemesOptions, codeToTokensBaseFn?: typeof codeToTokensBase): ThemedTokenWithVariants[][];
40
+ export declare function codeToTokensWithThemes(primitive: ShikiPrimitive, code: string, options: CodeToTokensWithThemesOptions, codeToTokensBaseFn?: typeof codeToTokensBase): ThemedTokenWithVariants[][];
41
41
  /**
42
42
  * Break tokens from multiple themes into same tokenization.
43
43
  *
@@ -51,24 +51,24 @@ declare function codeToTokensWithThemes(primitive: ShikiPrimitive, code: string,
51
51
  * - `console . log ( " hello " )` (8 tokens)
52
52
  * - `console . log ( " hello " )` (8 tokens)
53
53
  */
54
- declare function alignThemesTokenization(...themes: ThemedToken[][][]): ThemedToken[][][];
54
+ export declare function alignThemesTokenization(...themes: ThemedToken[][][]): ThemedToken[][][];
55
55
  //#endregion
56
56
  //#region src/textmate/getters-resolve.d.ts
57
57
  /**
58
58
  * Resolve
59
59
  */
60
- declare function resolveLangs(langs: (LanguageInput | SpecialLanguage)[]): Promise<LanguageRegistration[]>;
61
- declare function resolveThemes(themes: (ThemeInput | SpecialTheme)[]): Promise<ThemeRegistrationResolved[]>;
60
+ export declare function resolveLangs(langs: (LanguageInput | SpecialLanguage)[]): Promise<LanguageRegistration[]>;
61
+ export declare function resolveThemes(themes: (ThemeInput | SpecialTheme)[]): Promise<ThemeRegistrationResolved[]>;
62
62
  //#endregion
63
63
  //#region src/textmate/grammar-state.d.ts
64
- declare function setLastGrammarStateToMap(keys: GrammarStateMapKey, state: GrammarState$1): void;
65
- declare function getLastGrammarStateFromMap(keys: GrammarStateMapKey): GrammarState$1 | undefined;
64
+ export declare function setLastGrammarStateToMap(keys: GrammarStateMapKey, state: GrammarState$1): void;
65
+ export declare function getLastGrammarStateFromMap(keys: GrammarStateMapKey): GrammarState$1 | undefined;
66
66
  /**
67
67
  * GrammarState is a special reference object that holds the state of a grammar.
68
68
  *
69
69
  * It's used to highlight code snippets that are part of the target language.
70
70
  */
71
- declare class GrammarState implements GrammarState$1 {
71
+ export declare class GrammarState implements GrammarState$1 {
72
72
  /**
73
73
  * Theme to Stack mapping
74
74
  */
@@ -96,16 +96,16 @@ declare class GrammarState implements GrammarState$1 {
96
96
  scopes: string[];
97
97
  };
98
98
  }
99
- declare function getGrammarStack(state: GrammarState | GrammarState$1, theme?: string): StateStack | undefined;
99
+ export declare function getGrammarStack(state: GrammarState | GrammarState$1, theme?: string): StateStack | undefined;
100
100
  //#endregion
101
101
  //#region src/textmate/normalize-theme.d.ts
102
102
  /**
103
103
  * Normalize a textmate theme to shiki theme
104
104
  */
105
- declare function normalizeTheme(rawTheme: ThemeRegistrationAny): ThemeRegistrationResolved;
105
+ export declare function normalizeTheme(rawTheme: ThemeRegistrationAny): ThemeRegistrationResolved;
106
106
  //#endregion
107
107
  //#region src/textmate/resolver.d.ts
108
- declare class Resolver implements RegistryOptions {
108
+ export declare class Resolver implements RegistryOptions {
109
109
  private readonly _langs;
110
110
  private readonly _scopeToLang;
111
111
  private readonly _injections;
@@ -119,7 +119,7 @@ declare class Resolver implements RegistryOptions {
119
119
  }
120
120
  //#endregion
121
121
  //#region src/textmate/registry.d.ts
122
- declare class Registry extends Registry$1 {
122
+ export declare class Registry extends Registry$1 {
123
123
  private _resolver;
124
124
  private _themes;
125
125
  private _langs;
@@ -145,45 +145,44 @@ declare class Registry extends Registry$1 {
145
145
  }
146
146
  //#endregion
147
147
  //#region src/utils/colors.d.ts
148
- declare function resolveColorReplacements(theme: ThemeRegistrationAny | string, options?: TokenizeWithThemeOptions): Record<string, string | undefined>;
149
- declare function applyColorReplacements(color: string, replacements?: Record<string, string | undefined>): string;
150
- declare function applyColorReplacements(color?: string | undefined, replacements?: Record<string, string | undefined>): string | undefined;
148
+ export declare function resolveColorReplacements(theme: ThemeRegistrationAny | string, options?: TokenizeWithThemeOptions): Record<string, string | undefined>;
149
+ export declare function applyColorReplacements(color: string, replacements?: Record<string, string | undefined>): string;
150
+ export declare function applyColorReplacements(color?: string | undefined, replacements?: Record<string, string | undefined>): string | undefined;
151
151
  //#endregion
152
152
  //#region src/utils/general.d.ts
153
- declare function toArray<T>(x: MaybeArray<T>): T[];
153
+ export declare function toArray<T>(x: MaybeArray<T>): T[];
154
154
  /**
155
155
  * Normalize a getter to a promise.
156
156
  */
157
- declare function normalizeGetter<T>(p: MaybeGetter<T>): Promise<T>;
157
+ export declare function normalizeGetter<T>(p: MaybeGetter<T>): Promise<T>;
158
158
  /**
159
159
  * Check if the language is plaintext that is ignored by Shiki.
160
160
  *
161
161
  * Hard-coded plain text languages: `plaintext`, `txt`, `text`, `plain`.
162
162
  */
163
- declare function isPlainLang(lang: string | null | undefined): lang is PlainTextLanguage;
163
+ export declare function isPlainLang(lang: string | null | undefined): lang is PlainTextLanguage;
164
164
  /**
165
165
  * Check if the language is specially handled or bypassed by Shiki.
166
166
  *
167
167
  * Hard-coded languages: `ansi` and plaintexts like `plaintext`, `txt`, `text`, `plain`.
168
168
  */
169
- declare function isSpecialLang(lang: any): lang is SpecialLanguage;
169
+ export declare function isSpecialLang(lang: any): lang is SpecialLanguage;
170
170
  /**
171
171
  * Check if the theme is specially handled or bypassed by Shiki.
172
172
  *
173
173
  * Hard-coded themes: `none`.
174
174
  */
175
- declare function isNoneTheme(theme: string | ThemeInput | null | undefined): theme is 'none';
175
+ export declare function isNoneTheme(theme: string | ThemeInput | null | undefined): theme is 'none';
176
176
  /**
177
177
  * Check if the theme is specially handled or bypassed by Shiki.
178
178
  *
179
179
  * Hard-coded themes: `none`.
180
180
  */
181
- declare function isSpecialTheme(theme: string | ThemeInput | null | undefined): theme is SpecialTheme;
181
+ export declare function isSpecialTheme(theme: string | ThemeInput | null | undefined): theme is SpecialTheme;
182
182
  //#endregion
183
183
  //#region src/utils/strings.d.ts
184
- declare function splitLines(code: string, preserveEnding?: boolean): [string, number][];
184
+ export declare function splitLines(code: string, preserveEnding?: boolean): [string, number][];
185
185
  //#endregion
186
186
  //#region src/utils/alias.d.ts
187
- declare function resolveLangAlias(name: string, alias?: Record<string, string>): string;
188
- //#endregion
189
- export { GrammarState, Registry, Resolver, alignThemesTokenization, applyColorReplacements, codeToTokensBase, codeToTokensWithThemes, createShikiInternal, createShikiInternalSync, createShikiPrimitive, createShikiPrimitiveAsync, getGrammarStack, getLastGrammarState, getLastGrammarStateFromMap, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, normalizeGetter, normalizeTheme, resolveColorReplacements, resolveLangAlias, resolveLangs, resolveThemes, setLastGrammarStateToMap, splitLines, toArray, tokenizeWithTheme };
187
+ export declare function resolveLangAlias(name: string, alias?: Record<string, string>): string;
188
+ //#endregion
@@ -287,6 +287,7 @@ var Registry = class extends Registry$1 {
287
287
  });
288
288
  this._loadedLanguagesCache = null;
289
289
  if (embeddedLazilyBy.size) for (const e of embeddedLazilyBy) {
290
+ this._syncRegistry?._grammars?.get(e.scopeName)?.dispose();
290
291
  this._resolvedGrammars.delete(e.name);
291
292
  this._loadedLanguagesCache = null;
292
293
  this._syncRegistry?._injectionGrammars?.delete(e.scopeName);
@@ -358,7 +359,7 @@ var Resolver = class {
358
359
  this._scopeToLang.set(l.scopeName, l);
359
360
  if (l.injectTo) l.injectTo.forEach((i) => {
360
361
  if (!this._injections.get(i)) this._injections.set(i, []);
361
- this._injections.get(i).push(l.scopeName);
362
+ if (!this._injections.get(i).includes(l.scopeName)) this._injections.get(i).push(l.scopeName);
362
363
  });
363
364
  }
364
365
  getInjections(scopeName) {