@imenam/mcp-feature-analyzer 1.0.5 → 1.0.7

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 (253) hide show
  1. package/README.md +350 -350
  2. package/dist/src/version.d.ts +1 -1
  3. package/dist/src/version.js +1 -1
  4. package/gui/dist/assets/abap-CLvhMVsD.js +1 -0
  5. package/gui/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
  6. package/gui/dist/assets/ada-X3Y2mlq2.js +1 -0
  7. package/gui/dist/assets/ahk-DwADkxyd.js +1 -0
  8. package/gui/dist/assets/ahk2-_6rzW9BS.js +1 -0
  9. package/gui/dist/assets/angular-html-BoXLM72i.js +1 -0
  10. package/gui/dist/assets/angular-ts-7MBBOS1A.js +1 -0
  11. package/gui/dist/assets/apache-U0d_L8uA.js +1 -0
  12. package/gui/dist/assets/apex-KFGFyKwG.js +1 -0
  13. package/gui/dist/assets/apl-C_dII3x8.js +1 -0
  14. package/gui/dist/assets/applescript-CCn79oCD.js +1 -0
  15. package/gui/dist/assets/ara-4CJ0cIlV.js +1 -0
  16. package/gui/dist/assets/asciidoc-SCjQUq34.js +1 -0
  17. package/gui/dist/assets/asm-Cmm7eHzH.js +1 -0
  18. package/gui/dist/assets/astro-81L3E2f8.js +1 -0
  19. package/gui/dist/assets/awk-BWXHIvNe.js +1 -0
  20. package/gui/dist/assets/ballerina-B7ZEbQpA.js +1 -0
  21. package/gui/dist/assets/bat-qdxAdBWQ.js +1 -0
  22. package/gui/dist/assets/beancount-C2IN4Vk8.js +1 -0
  23. package/gui/dist/assets/berry-DKpUyyne.js +1 -0
  24. package/gui/dist/assets/bibtex-Ci_nEsc7.js +1 -0
  25. package/gui/dist/assets/bicep-CUHmPFLl.js +1 -0
  26. package/gui/dist/assets/bird2-CYIUgYqB.js +1 -0
  27. package/gui/dist/assets/blade-CupRTuML.js +1 -0
  28. package/gui/dist/assets/bsl-_VjlB9mv.js +1 -0
  29. package/gui/dist/assets/c-DMh7YEk5.js +1 -0
  30. package/gui/dist/assets/c3-D0apG41V.js +1 -0
  31. package/gui/dist/assets/cadence-CQ2zXKGN.js +1 -0
  32. package/gui/dist/assets/cairo-DLTphjLi.js +1 -0
  33. package/gui/dist/assets/chapel-B0cwW5Lq.js +1 -0
  34. package/gui/dist/assets/clarity-CtfBBspg.js +1 -0
  35. package/gui/dist/assets/clojure-DqKBuwfJ.js +1 -0
  36. package/gui/dist/assets/cmake-Bj61d0ZC.js +1 -0
  37. package/gui/dist/assets/cobol-D3fnQRrW.js +1 -0
  38. package/gui/dist/assets/codeowners-C8r90Shi.js +1 -0
  39. package/gui/dist/assets/codeql-oeQT6MSM.js +1 -0
  40. package/gui/dist/assets/coffee-CLQcoEm3.js +1 -0
  41. package/gui/dist/assets/common-lisp-Cv5bFMCO.js +1 -0
  42. package/gui/dist/assets/coq-CGaSfhwR.js +1 -0
  43. package/gui/dist/assets/cpp-KRuRAB4u.js +1 -0
  44. package/gui/dist/assets/crystal-BXEmGWNk.js +1 -0
  45. package/gui/dist/assets/csharp-dmMxLVLW.js +1 -0
  46. package/gui/dist/assets/css-CC2IXknr.js +1 -0
  47. package/gui/dist/assets/csv-Dx-8-gkx.js +1 -0
  48. package/gui/dist/assets/cue-CE9AQfxI.js +1 -0
  49. package/gui/dist/assets/cypher-ClKdZ_lG.js +1 -0
  50. package/gui/dist/assets/d-qD-0Kul2.js +1 -0
  51. package/gui/dist/assets/dart-CHZY9Xhz.js +1 -0
  52. package/gui/dist/assets/dax-BkyTk9wS.js +1 -0
  53. package/gui/dist/assets/desktop-Dlh5hvp9.js +1 -0
  54. package/gui/dist/assets/diff-woXpYk--.js +1 -0
  55. package/gui/dist/assets/docker-IyjqRm3v.js +1 -0
  56. package/gui/dist/assets/dotenv-CuH5my32.js +1 -0
  57. package/gui/dist/assets/dream-maker-DW3nJb8Q.js +1 -0
  58. package/gui/dist/assets/edge-KF4ii2ru.js +1 -0
  59. package/gui/dist/assets/elixir-BaO-UIeq.js +1 -0
  60. package/gui/dist/assets/elm-CyKG29xZ.js +1 -0
  61. package/gui/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
  62. package/gui/dist/assets/erb-CtPhRKds.js +1 -0
  63. package/gui/dist/assets/erlang-Cphh6RMH.js +1 -0
  64. package/gui/dist/assets/fennel-DQxkIbk2.js +1 -0
  65. package/gui/dist/assets/fish-BJitypiv.js +1 -0
  66. package/gui/dist/assets/fluent-C03EYrpw.js +1 -0
  67. package/gui/dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  68. package/gui/dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
  69. package/gui/dist/assets/fsharp-D13ZGOAj.js +1 -0
  70. package/gui/dist/assets/gdresource-xMC7jr7x.js +1 -0
  71. package/gui/dist/assets/gdscript-DYvRD3hg.js +1 -0
  72. package/gui/dist/assets/gdshader-CBce3t8t.js +1 -0
  73. package/gui/dist/assets/genie-CV2tkWYe.js +1 -0
  74. package/gui/dist/assets/gherkin-DExj1W_8.js +1 -0
  75. package/gui/dist/assets/git-commit-BSykSTBG.js +1 -0
  76. package/gui/dist/assets/git-rebase-DDYCs1S9.js +1 -0
  77. package/gui/dist/assets/github-dark-default-DXG-b-1a.js +1 -0
  78. package/gui/dist/assets/gleam-CSRkHgEL.js +1 -0
  79. package/gui/dist/assets/glimmer-js-Ynx51ikB.js +1 -0
  80. package/gui/dist/assets/glimmer-ts-plf2D0cp.js +1 -0
  81. package/gui/dist/assets/glsl-CmWHcxcK.js +1 -0
  82. package/gui/dist/assets/gn-CAXYAgV-.js +1 -0
  83. package/gui/dist/assets/gnuplot-7GGW24-e.js +1 -0
  84. package/gui/dist/assets/go-rLFTqkRN.js +1 -0
  85. package/gui/dist/assets/graphql-DkWXahkA.js +1 -0
  86. package/gui/dist/assets/groovy-CacY0gHj.js +1 -0
  87. package/gui/dist/assets/hack-DVkTYU7E.js +1 -0
  88. package/gui/dist/assets/haml-CGWY1U-4.js +1 -0
  89. package/gui/dist/assets/handlebars-QtT-FXMk.js +1 -0
  90. package/gui/dist/assets/haskell-D8IpX4py.js +1 -0
  91. package/gui/dist/assets/haxe-C8oCnwJJ.js +1 -0
  92. package/gui/dist/assets/hcl-Dh228itO.js +1 -0
  93. package/gui/dist/assets/hjson-CxZEssPk.js +1 -0
  94. package/gui/dist/assets/hlsl-Cvrh5tZx.js +1 -0
  95. package/gui/dist/assets/html-CDFcBYdq.js +1 -0
  96. package/gui/dist/assets/html-derivative-BOQlduDi.js +1 -0
  97. package/gui/dist/assets/http-DX-fGSPS.js +1 -0
  98. package/gui/dist/assets/hurl-CijfEZey.js +1 -0
  99. package/gui/dist/assets/hxml-Dcm88srW.js +1 -0
  100. package/gui/dist/assets/hy-CZbG8q4J.js +1 -0
  101. package/gui/dist/assets/imba-DsUTQ-LC.js +1 -0
  102. package/gui/dist/assets/index-B8srSHXD.js +87 -0
  103. package/gui/dist/assets/index-MmiGy3kE.css +1 -0
  104. package/gui/dist/assets/ini-B5eOa1yu.js +1 -0
  105. package/gui/dist/assets/java-DHk2OSW8.js +1 -0
  106. package/gui/dist/assets/javascript-eoFBrBRR.js +1 -0
  107. package/gui/dist/assets/jinja-CYtzlQHR.js +1 -0
  108. package/gui/dist/assets/jison-2mlqlcO-.js +1 -0
  109. package/gui/dist/assets/json-CbQAiriW.js +1 -0
  110. package/gui/dist/assets/json5-BR5RXkoi.js +1 -0
  111. package/gui/dist/assets/jsonc-CYpm1nAK.js +1 -0
  112. package/gui/dist/assets/jsonl-CmCQp5Yx.js +1 -0
  113. package/gui/dist/assets/jsonnet-CJTPZ8u_.js +1 -0
  114. package/gui/dist/assets/jssm-DXw9l8Rf.js +1 -0
  115. package/gui/dist/assets/jsx-Bjc439tF.js +1 -0
  116. package/gui/dist/assets/julia-DPcrK_kx.js +1 -0
  117. package/gui/dist/assets/just-BwALWHv2.js +1 -0
  118. package/gui/dist/assets/kdl-CsD5j6eV.js +1 -0
  119. package/gui/dist/assets/kotlin-DhhofPvG.js +1 -0
  120. package/gui/dist/assets/kusto-C7mF5XQf.js +1 -0
  121. package/gui/dist/assets/latex-CY-9naMT.js +1 -0
  122. package/gui/dist/assets/lean-CewbzKMR.js +1 -0
  123. package/gui/dist/assets/less-DVTAwKKz.js +1 -0
  124. package/gui/dist/assets/liquid-Bg5CaGr0.js +1 -0
  125. package/gui/dist/assets/llvm-DqHOMS-s.js +1 -0
  126. package/gui/dist/assets/log-BNLmms1o.js +1 -0
  127. package/gui/dist/assets/logo-Cluzi2Zq.js +1 -0
  128. package/gui/dist/assets/lua-Bw3co2rr.js +1 -0
  129. package/gui/dist/assets/luau-VGWVLoqX.js +1 -0
  130. package/gui/dist/assets/make-Dixweg8N.js +1 -0
  131. package/gui/dist/assets/markdown-BYOwaDjH.js +1 -0
  132. package/gui/dist/assets/marko-DaOGm21T.js +1 -0
  133. package/gui/dist/assets/matlab-D7qyCx1q.js +1 -0
  134. package/gui/dist/assets/mdc-DeS5yfec.js +1 -0
  135. package/gui/dist/assets/mdx-DQZ5AkYe.js +1 -0
  136. package/gui/dist/assets/mermaid-BxpfTIzt.js +1 -0
  137. package/gui/dist/assets/mipsasm-BMqwQI7S.js +1 -0
  138. package/gui/dist/assets/mojo-fg40_ntQ.js +1 -0
  139. package/gui/dist/assets/moonbit-D9W784E_.js +1 -0
  140. package/gui/dist/assets/move-BYnGhZoM.js +1 -0
  141. package/gui/dist/assets/narrat-_X_XdTYD.js +1 -0
  142. package/gui/dist/assets/nextflow-CSgcYZcx.js +1 -0
  143. package/gui/dist/assets/nextflow-groovy-D7IRt6Pp.js +1 -0
  144. package/gui/dist/assets/nginx-K3gdfaGv.js +1 -0
  145. package/gui/dist/assets/nim-C5llhOlN.js +1 -0
  146. package/gui/dist/assets/nix-IvuFDN5E.js +1 -0
  147. package/gui/dist/assets/nsis-CjNLYCLg.js +1 -0
  148. package/gui/dist/assets/nushell--0fT3PI1.js +1 -0
  149. package/gui/dist/assets/objective-c-D1A_Heim.js +1 -0
  150. package/gui/dist/assets/objective-cpp-BsSzOQcm.js +1 -0
  151. package/gui/dist/assets/ocaml-O90oeIOV.js +1 -0
  152. package/gui/dist/assets/odin-B1RWQWA5.js +1 -0
  153. package/gui/dist/assets/openscad-BUDT5pXO.js +1 -0
  154. package/gui/dist/assets/org-CRmiKB_3.js +1 -0
  155. package/gui/dist/assets/pascal-4ZHwLPI5.js +1 -0
  156. package/gui/dist/assets/perl-Csqj22Qf.js +1 -0
  157. package/gui/dist/assets/php-CCSk5eRp.js +1 -0
  158. package/gui/dist/assets/pkl-ot-7Btpt.js +1 -0
  159. package/gui/dist/assets/plsql-DGHpHOYJ.js +1 -0
  160. package/gui/dist/assets/po-BiJDBrnU.js +1 -0
  161. package/gui/dist/assets/polar-C7UOKdEL.js +1 -0
  162. package/gui/dist/assets/postcss-BXeXVLqQ.js +1 -0
  163. package/gui/dist/assets/powerquery-DNMTfnFr.js +1 -0
  164. package/gui/dist/assets/powershell-QtSnmXcu.js +1 -0
  165. package/gui/dist/assets/prisma-DMgNhnYS.js +1 -0
  166. package/gui/dist/assets/prolog-iXnhIJG7.js +1 -0
  167. package/gui/dist/assets/proto-DB4EqR-F.js +1 -0
  168. package/gui/dist/assets/pug-B-4sUwS_.js +1 -0
  169. package/gui/dist/assets/puppet-CDv2pdJW.js +1 -0
  170. package/gui/dist/assets/purescript-9MfHhQsQ.js +1 -0
  171. package/gui/dist/assets/python-gzcpVVnB.js +1 -0
  172. package/gui/dist/assets/qml-DMC559FV.js +1 -0
  173. package/gui/dist/assets/qmldir-DCQb3MpD.js +1 -0
  174. package/gui/dist/assets/qss-Fe1Jh2GI.js +1 -0
  175. package/gui/dist/assets/r-1f-psWWI.js +1 -0
  176. package/gui/dist/assets/racket-DcIDlBhZ.js +1 -0
  177. package/gui/dist/assets/raku-B3gFvitq.js +1 -0
  178. package/gui/dist/assets/razor-DeGon_RI.js +1 -0
  179. package/gui/dist/assets/rbs-C0MpOrj4.js +1 -0
  180. package/gui/dist/assets/reg-CRGYupPL.js +1 -0
  181. package/gui/dist/assets/regexp-DklHNeCz.js +1 -0
  182. package/gui/dist/assets/rel-BtDbiS_P.js +1 -0
  183. package/gui/dist/assets/riscv-Ckw8ddFX.js +1 -0
  184. package/gui/dist/assets/ron-VUp2lXgN.js +1 -0
  185. package/gui/dist/assets/rosmsg-CAekHB0j.js +1 -0
  186. package/gui/dist/assets/rst-CrAl5W6q.js +1 -0
  187. package/gui/dist/assets/ruby-Cwt8qo3-.js +1 -0
  188. package/gui/dist/assets/rust-DpiIf5JO.js +1 -0
  189. package/gui/dist/assets/sas-vTcRGSoH.js +1 -0
  190. package/gui/dist/assets/sass-DXrisJhu.js +1 -0
  191. package/gui/dist/assets/scala-BiFt_7mu.js +1 -0
  192. package/gui/dist/assets/scheme-DQCgrYNe.js +1 -0
  193. package/gui/dist/assets/scss-CUllUJb8.js +1 -0
  194. package/gui/dist/assets/sdbl-bTVj8UrX.js +1 -0
  195. package/gui/dist/assets/shaderlab-TOUzSsQk.js +1 -0
  196. package/gui/dist/assets/shellscript-NmOJg0qT.js +1 -0
  197. package/gui/dist/assets/shellsession-edi8twdF.js +1 -0
  198. package/gui/dist/assets/smalltalk-BHpQb5nM.js +1 -0
  199. package/gui/dist/assets/smithy-Dgaz7aur.js +1 -0
  200. package/gui/dist/assets/solidity-Bj7E1mRn.js +1 -0
  201. package/gui/dist/assets/soy-Cy26XWjc.js +1 -0
  202. package/gui/dist/assets/sparql-D_iOobhT.js +1 -0
  203. package/gui/dist/assets/splunk-BC2Px7Mm.js +1 -0
  204. package/gui/dist/assets/sql-Bqxz_jcV.js +1 -0
  205. package/gui/dist/assets/ssh-config-BgfXC-Er.js +1 -0
  206. package/gui/dist/assets/stata-B4kaxNbv.js +1 -0
  207. package/gui/dist/assets/stylus-B6D30XZt.js +1 -0
  208. package/gui/dist/assets/surrealql-DsmVvkvy.js +1 -0
  209. package/gui/dist/assets/svelte-C1bQr63h.js +1 -0
  210. package/gui/dist/assets/swift-CyEgAFGc.js +1 -0
  211. package/gui/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
  212. package/gui/dist/assets/systemd-BxMlprV5.js +1 -0
  213. package/gui/dist/assets/talonscript-CohzipZa.js +1 -0
  214. package/gui/dist/assets/tasl-DMoTqEGO.js +1 -0
  215. package/gui/dist/assets/tcl-CZd0xW_V.js +1 -0
  216. package/gui/dist/assets/templ-Dvc_jqsT.js +1 -0
  217. package/gui/dist/assets/terraform-DswuEJGm.js +1 -0
  218. package/gui/dist/assets/tex-DZvnuDKE.js +1 -0
  219. package/gui/dist/assets/toml-CcmNWLt0.js +1 -0
  220. package/gui/dist/assets/ts-tags-IISGgyoA.js +1 -0
  221. package/gui/dist/assets/tsv-sltzmVWM.js +1 -0
  222. package/gui/dist/assets/tsx-B5ZX_Bv5.js +1 -0
  223. package/gui/dist/assets/turtle-ByJddavk.js +1 -0
  224. package/gui/dist/assets/twig-C-Rsx17h.js +1 -0
  225. package/gui/dist/assets/typescript-D39AU7p3.js +1 -0
  226. package/gui/dist/assets/typespec-BGhR2SqG.js +1 -0
  227. package/gui/dist/assets/typst-CkZ2JCNa.js +1 -0
  228. package/gui/dist/assets/v-DBj4K9d_.js +1 -0
  229. package/gui/dist/assets/vala-zf12oZj6.js +1 -0
  230. package/gui/dist/assets/vb-DOwzaHZ0.js +1 -0
  231. package/gui/dist/assets/verilog-B2gwz-sJ.js +1 -0
  232. package/gui/dist/assets/vhdl-BroJfC0k.js +1 -0
  233. package/gui/dist/assets/viml-DvXPmvsu.js +1 -0
  234. package/gui/dist/assets/vue-html-7evwB1mZ.js +1 -0
  235. package/gui/dist/assets/vue-iL3zfqUA.js +1 -0
  236. package/gui/dist/assets/vue-vine-7w8hNIKm.js +1 -0
  237. package/gui/dist/assets/vyper-CgoNMtux.js +1 -0
  238. package/gui/dist/assets/wasm-BnjxR4X6.js +1 -0
  239. package/gui/dist/assets/wasm-ByWQv1Qj.js +1 -0
  240. package/gui/dist/assets/wenyan-C8pVoKbM.js +1 -0
  241. package/gui/dist/assets/wgsl-BsKzXJz4.js +1 -0
  242. package/gui/dist/assets/wikitext-ClFFjSW2.js +1 -0
  243. package/gui/dist/assets/wit-DdvCle-K.js +1 -0
  244. package/gui/dist/assets/wolfram-DLL8P-h_.js +1 -0
  245. package/gui/dist/assets/xml-DZrgKpVM.js +1 -0
  246. package/gui/dist/assets/xsl-OJZxIPz4.js +1 -0
  247. package/gui/dist/assets/yaml-Ds8jLP9m.js +1 -0
  248. package/gui/dist/assets/zenscript-BnlCZFoB.js +1 -0
  249. package/gui/dist/assets/zig-CMLA9XwU.js +1 -0
  250. package/gui/dist/index.html +2 -2
  251. package/package.json +1 -1
  252. package/gui/dist/assets/index-BKGeP-g-.js +0 -74
  253. package/gui/dist/assets/index-CtYu4TyO.css +0 -1
@@ -0,0 +1 @@
1
+ var e=[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"]}'))];export{e as default};