@imenam/mcp-feature-analyzer 1.0.4 → 1.0.6
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.
- package/README.md +350 -336
- package/dist/shared/explanation-request.d.ts +9 -0
- package/dist/shared/explanation-request.js +55 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/gui/dist/assets/abap-CLvhMVsD.js +1 -0
- package/gui/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
- package/gui/dist/assets/ada-X3Y2mlq2.js +1 -0
- package/gui/dist/assets/ahk-DwADkxyd.js +1 -0
- package/gui/dist/assets/ahk2-_6rzW9BS.js +1 -0
- package/gui/dist/assets/angular-html-B-gPQGQF.js +1 -0
- package/gui/dist/assets/angular-ts-sMDqONRd.js +1 -0
- package/gui/dist/assets/apache-U0d_L8uA.js +1 -0
- package/gui/dist/assets/apex-KFGFyKwG.js +1 -0
- package/gui/dist/assets/apl-CgzgSXhE.js +1 -0
- package/gui/dist/assets/applescript-CCn79oCD.js +1 -0
- package/gui/dist/assets/ara-4CJ0cIlV.js +1 -0
- package/gui/dist/assets/asciidoc-SCjQUq34.js +1 -0
- package/gui/dist/assets/asm-Cmm7eHzH.js +1 -0
- package/gui/dist/assets/astro-Z_a3mT2I.js +1 -0
- package/gui/dist/assets/awk-BWXHIvNe.js +1 -0
- package/gui/dist/assets/ballerina-B7ZEbQpA.js +1 -0
- package/gui/dist/assets/bat-qdxAdBWQ.js +1 -0
- package/gui/dist/assets/beancount-C2IN4Vk8.js +1 -0
- package/gui/dist/assets/berry-DKpUyyne.js +1 -0
- package/gui/dist/assets/bibtex-Ci_nEsc7.js +1 -0
- package/gui/dist/assets/bicep-CUHmPFLl.js +1 -0
- package/gui/dist/assets/bird2-CYIUgYqB.js +1 -0
- package/gui/dist/assets/blade-BPx-Z4AF.js +1 -0
- package/gui/dist/assets/bsl-_VjlB9mv.js +1 -0
- package/gui/dist/assets/c-Bq389VL4.js +1 -0
- package/gui/dist/assets/c3-D0apG41V.js +1 -0
- package/gui/dist/assets/cadence-CQ2zXKGN.js +1 -0
- package/gui/dist/assets/cairo-DLTphjLi.js +1 -0
- package/gui/dist/assets/chapel-D3RIFwk5.js +1 -0
- package/gui/dist/assets/clarity-CtfBBspg.js +1 -0
- package/gui/dist/assets/clojure-DqKBuwfJ.js +1 -0
- package/gui/dist/assets/cmake-Bj61d0ZC.js +1 -0
- package/gui/dist/assets/cobol-B4D_Azse.js +1 -0
- package/gui/dist/assets/codeowners-C8r90Shi.js +1 -0
- package/gui/dist/assets/codeql-oeQT6MSM.js +1 -0
- package/gui/dist/assets/coffee-UWRCFhSq.js +1 -0
- package/gui/dist/assets/common-lisp-Cv5bFMCO.js +1 -0
- package/gui/dist/assets/coq-CGaSfhwR.js +1 -0
- package/gui/dist/assets/cpp-D-EDOlog.js +1 -0
- package/gui/dist/assets/crystal-BY_Q5qv9.js +1 -0
- package/gui/dist/assets/csharp-dmMxLVLW.js +1 -0
- package/gui/dist/assets/css-s_UC_gLb.js +1 -0
- package/gui/dist/assets/csv-Dx-8-gkx.js +1 -0
- package/gui/dist/assets/cue-CE9AQfxI.js +1 -0
- package/gui/dist/assets/cypher-ClKdZ_lG.js +1 -0
- package/gui/dist/assets/d-qD-0Kul2.js +1 -0
- package/gui/dist/assets/dart-CHZY9Xhz.js +1 -0
- package/gui/dist/assets/dax-BkyTk9wS.js +1 -0
- package/gui/dist/assets/desktop-Dlh5hvp9.js +1 -0
- package/gui/dist/assets/diff-woXpYk--.js +1 -0
- package/gui/dist/assets/docker-IyjqRm3v.js +1 -0
- package/gui/dist/assets/dotenv-CuH5my32.js +1 -0
- package/gui/dist/assets/dream-maker-DW3nJb8Q.js +1 -0
- package/gui/dist/assets/edge-BWL2qyBN.js +1 -0
- package/gui/dist/assets/elixir-DbWQTU6b.js +1 -0
- package/gui/dist/assets/elm-6OqDviyZ.js +1 -0
- package/gui/dist/assets/emacs-lisp-DR2vtWaj.js +1 -0
- package/gui/dist/assets/erb-B0JDAquM.js +1 -0
- package/gui/dist/assets/erlang-Cphh6RMH.js +1 -0
- package/gui/dist/assets/fennel-DQxkIbk2.js +1 -0
- package/gui/dist/assets/fish-BJitypiv.js +1 -0
- package/gui/dist/assets/fluent-C03EYrpw.js +1 -0
- package/gui/dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
- package/gui/dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
- package/gui/dist/assets/fsharp-D13ZGOAj.js +1 -0
- package/gui/dist/assets/gdresource-xMC7jr7x.js +1 -0
- package/gui/dist/assets/gdscript-DYvRD3hg.js +1 -0
- package/gui/dist/assets/gdshader-CBce3t8t.js +1 -0
- package/gui/dist/assets/genie-CV2tkWYe.js +1 -0
- package/gui/dist/assets/gherkin-DExj1W_8.js +1 -0
- package/gui/dist/assets/git-commit-BSykSTBG.js +1 -0
- package/gui/dist/assets/git-rebase-CAsU4qIy.js +1 -0
- package/gui/dist/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/gui/dist/assets/gleam-CSRkHgEL.js +1 -0
- package/gui/dist/assets/glimmer-js-MGGoMCTY.js +1 -0
- package/gui/dist/assets/glimmer-ts-BgApUEvM.js +1 -0
- package/gui/dist/assets/glsl-iUpACPGn.js +1 -0
- package/gui/dist/assets/gn-CAXYAgV-.js +1 -0
- package/gui/dist/assets/gnuplot-7GGW24-e.js +1 -0
- package/gui/dist/assets/go-rLFTqkRN.js +1 -0
- package/gui/dist/assets/graphql-DxaxgKfD.js +1 -0
- package/gui/dist/assets/groovy-CacY0gHj.js +1 -0
- package/gui/dist/assets/hack-DE8Kz07j.js +1 -0
- package/gui/dist/assets/haml-njQiYhkG.js +1 -0
- package/gui/dist/assets/handlebars-DRnY99dt.js +1 -0
- package/gui/dist/assets/haskell-D8IpX4py.js +1 -0
- package/gui/dist/assets/haxe-C8oCnwJJ.js +1 -0
- package/gui/dist/assets/hcl-Dh228itO.js +1 -0
- package/gui/dist/assets/hjson-CxZEssPk.js +1 -0
- package/gui/dist/assets/hlsl-Cvrh5tZx.js +1 -0
- package/gui/dist/assets/html-derivative-DFY71k80.js +1 -0
- package/gui/dist/assets/html-h3AAbLge.js +1 -0
- package/gui/dist/assets/http-zkLD85rX.js +1 -0
- package/gui/dist/assets/hurl-BX8U6Tez.js +1 -0
- package/gui/dist/assets/hxml-Dcm88srW.js +1 -0
- package/gui/dist/assets/hy-CZbG8q4J.js +1 -0
- package/gui/dist/assets/imba-DsUTQ-LC.js +1 -0
- package/gui/dist/assets/index-BKGG_Bvh.js +87 -0
- package/gui/dist/assets/index-MmiGy3kE.css +1 -0
- package/gui/dist/assets/ini-B5eOa1yu.js +1 -0
- package/gui/dist/assets/java-Bzvz1r0I.js +1 -0
- package/gui/dist/assets/javascript-Bd0ZAApN.js +1 -0
- package/gui/dist/assets/jinja-tU28lz5D.js +1 -0
- package/gui/dist/assets/jison-CnoNt-sM.js +1 -0
- package/gui/dist/assets/json-CZl20zeZ.js +1 -0
- package/gui/dist/assets/json5-BR5RXkoi.js +1 -0
- package/gui/dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/gui/dist/assets/jsonl-CmCQp5Yx.js +1 -0
- package/gui/dist/assets/jsonnet-CJTPZ8u_.js +1 -0
- package/gui/dist/assets/jssm-DXw9l8Rf.js +1 -0
- package/gui/dist/assets/jsx-CmXJK6w7.js +1 -0
- package/gui/dist/assets/julia-4KpwidyD.js +1 -0
- package/gui/dist/assets/just-IzwaIa7O.js +1 -0
- package/gui/dist/assets/kdl-CsD5j6eV.js +1 -0
- package/gui/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/gui/dist/assets/kusto-C7mF5XQf.js +1 -0
- package/gui/dist/assets/latex-8bZbUJ9-.js +1 -0
- package/gui/dist/assets/lean-CewbzKMR.js +1 -0
- package/gui/dist/assets/less-DVTAwKKz.js +1 -0
- package/gui/dist/assets/liquid-DKF0vBAf.js +1 -0
- package/gui/dist/assets/llvm-DqHOMS-s.js +1 -0
- package/gui/dist/assets/log-BNLmms1o.js +1 -0
- package/gui/dist/assets/logo-Cluzi2Zq.js +1 -0
- package/gui/dist/assets/lua-BPJxkkiT.js +1 -0
- package/gui/dist/assets/luau-VGWVLoqX.js +1 -0
- package/gui/dist/assets/make-Dixweg8N.js +1 -0
- package/gui/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/gui/dist/assets/marko-BzHDuuHy.js +1 -0
- package/gui/dist/assets/matlab-D7qyCx1q.js +1 -0
- package/gui/dist/assets/mdc-dKNmuGAL.js +1 -0
- package/gui/dist/assets/mdx-DQZ5AkYe.js +1 -0
- package/gui/dist/assets/mermaid-BxpfTIzt.js +1 -0
- package/gui/dist/assets/mipsasm-BMqwQI7S.js +1 -0
- package/gui/dist/assets/mojo-fg40_ntQ.js +1 -0
- package/gui/dist/assets/moonbit-D9W784E_.js +1 -0
- package/gui/dist/assets/move-BYnGhZoM.js +1 -0
- package/gui/dist/assets/narrat-_X_XdTYD.js +1 -0
- package/gui/dist/assets/nextflow-CSgcYZcx.js +1 -0
- package/gui/dist/assets/nextflow-groovy-D7IRt6Pp.js +1 -0
- package/gui/dist/assets/nginx-VCOiLJG5.js +1 -0
- package/gui/dist/assets/nim-Cw8oktnt.js +1 -0
- package/gui/dist/assets/nix-IvuFDN5E.js +1 -0
- package/gui/dist/assets/nsis-CjNLYCLg.js +1 -0
- package/gui/dist/assets/nushell--0fT3PI1.js +1 -0
- package/gui/dist/assets/objective-c-D1A_Heim.js +1 -0
- package/gui/dist/assets/objective-cpp-BsSzOQcm.js +1 -0
- package/gui/dist/assets/ocaml-O90oeIOV.js +1 -0
- package/gui/dist/assets/odin-B1RWQWA5.js +1 -0
- package/gui/dist/assets/openscad-BUDT5pXO.js +1 -0
- package/gui/dist/assets/org-DUrbJK0g.js +1 -0
- package/gui/dist/assets/pascal-4ZHwLPI5.js +1 -0
- package/gui/dist/assets/perl-sIXSEH_B.js +1 -0
- package/gui/dist/assets/php-DHKyWhzH.js +1 -0
- package/gui/dist/assets/pkl-ot-7Btpt.js +1 -0
- package/gui/dist/assets/plsql-DGHpHOYJ.js +1 -0
- package/gui/dist/assets/po-BiJDBrnU.js +1 -0
- package/gui/dist/assets/polar-C7UOKdEL.js +1 -0
- package/gui/dist/assets/postcss-BXeXVLqQ.js +1 -0
- package/gui/dist/assets/powerquery-DNMTfnFr.js +1 -0
- package/gui/dist/assets/powershell-QtSnmXcu.js +1 -0
- package/gui/dist/assets/prisma-DMgNhnYS.js +1 -0
- package/gui/dist/assets/prolog-iXnhIJG7.js +1 -0
- package/gui/dist/assets/proto-DB4EqR-F.js +1 -0
- package/gui/dist/assets/pug-D4XVP-iX.js +1 -0
- package/gui/dist/assets/puppet-CDv2pdJW.js +1 -0
- package/gui/dist/assets/purescript-9MfHhQsQ.js +1 -0
- package/gui/dist/assets/python-gzcpVVnB.js +1 -0
- package/gui/dist/assets/qml-BdqLFcp6.js +1 -0
- package/gui/dist/assets/qmldir-DCQb3MpD.js +1 -0
- package/gui/dist/assets/qss-Fe1Jh2GI.js +1 -0
- package/gui/dist/assets/r-DfrX3rYb.js +1 -0
- package/gui/dist/assets/racket-DcIDlBhZ.js +1 -0
- package/gui/dist/assets/raku-B3gFvitq.js +1 -0
- package/gui/dist/assets/razor-Mm0cA-JV.js +1 -0
- package/gui/dist/assets/rbs-C0MpOrj4.js +1 -0
- package/gui/dist/assets/reg-CRGYupPL.js +1 -0
- package/gui/dist/assets/regexp-8O9Vrjia.js +1 -0
- package/gui/dist/assets/rel-BtDbiS_P.js +1 -0
- package/gui/dist/assets/riscv-Ckw8ddFX.js +1 -0
- package/gui/dist/assets/ron-VUp2lXgN.js +1 -0
- package/gui/dist/assets/rosmsg-CAekHB0j.js +1 -0
- package/gui/dist/assets/rst-D5IU-zot.js +1 -0
- package/gui/dist/assets/ruby-Cu0jytGS.js +1 -0
- package/gui/dist/assets/rust-DpiIf5JO.js +1 -0
- package/gui/dist/assets/sas-B5vegchg.js +1 -0
- package/gui/dist/assets/sass-DXrisJhu.js +1 -0
- package/gui/dist/assets/scala-BiFt_7mu.js +1 -0
- package/gui/dist/assets/scheme-DQCgrYNe.js +1 -0
- package/gui/dist/assets/scss-DL-HfEhZ.js +1 -0
- package/gui/dist/assets/sdbl-bTVj8UrX.js +1 -0
- package/gui/dist/assets/shaderlab-TOUzSsQk.js +1 -0
- package/gui/dist/assets/shellscript-h57ER6bM.js +1 -0
- package/gui/dist/assets/shellsession-DC-3KdS5.js +1 -0
- package/gui/dist/assets/smalltalk-BHpQb5nM.js +1 -0
- package/gui/dist/assets/smithy-Dgaz7aur.js +1 -0
- package/gui/dist/assets/solidity-Bj7E1mRn.js +1 -0
- package/gui/dist/assets/soy-D9bvpOBz.js +1 -0
- package/gui/dist/assets/sparql-D_iOobhT.js +1 -0
- package/gui/dist/assets/splunk-BC2Px7Mm.js +1 -0
- package/gui/dist/assets/sql-U2sKHQ6S.js +1 -0
- package/gui/dist/assets/ssh-config-BgfXC-Er.js +1 -0
- package/gui/dist/assets/stata-Bom0dAGL.js +1 -0
- package/gui/dist/assets/stylus-B6D30XZt.js +1 -0
- package/gui/dist/assets/surrealql-BGm_h4Kp.js +1 -0
- package/gui/dist/assets/svelte-DufM5WPD.js +1 -0
- package/gui/dist/assets/swift-CyEgAFGc.js +1 -0
- package/gui/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
- package/gui/dist/assets/systemd-BxMlprV5.js +1 -0
- package/gui/dist/assets/talonscript-CohzipZa.js +1 -0
- package/gui/dist/assets/tasl-DMoTqEGO.js +1 -0
- package/gui/dist/assets/tcl-CZd0xW_V.js +1 -0
- package/gui/dist/assets/templ-kU5B1vdH.js +1 -0
- package/gui/dist/assets/terraform-DswuEJGm.js +1 -0
- package/gui/dist/assets/tex-6EJ47I35.js +1 -0
- package/gui/dist/assets/toml-CcmNWLt0.js +1 -0
- package/gui/dist/assets/ts-tags-CKS8Jrks.js +1 -0
- package/gui/dist/assets/tsv-sltzmVWM.js +1 -0
- package/gui/dist/assets/tsx-BjgQegxa.js +1 -0
- package/gui/dist/assets/turtle-ByJddavk.js +1 -0
- package/gui/dist/assets/twig-BJWqPXCJ.js +1 -0
- package/gui/dist/assets/typescript-DsJz48XC.js +1 -0
- package/gui/dist/assets/typespec-BGhR2SqG.js +1 -0
- package/gui/dist/assets/typst-XiCtSBFn.js +1 -0
- package/gui/dist/assets/v-DBj4K9d_.js +1 -0
- package/gui/dist/assets/vala-zf12oZj6.js +1 -0
- package/gui/dist/assets/vb-DOwzaHZ0.js +1 -0
- package/gui/dist/assets/verilog-B2gwz-sJ.js +1 -0
- package/gui/dist/assets/vhdl-BroJfC0k.js +1 -0
- package/gui/dist/assets/viml-DvXPmvsu.js +1 -0
- package/gui/dist/assets/vue-DiRmrlYX.js +1 -0
- package/gui/dist/assets/vue-html-BQsbdfDj.js +1 -0
- package/gui/dist/assets/vue-vine-CL4cV8Jk.js +1 -0
- package/gui/dist/assets/vyper-CgoNMtux.js +1 -0
- package/gui/dist/assets/wasm-BnjxR4X6.js +1 -0
- package/gui/dist/assets/wasm-ByWQv1Qj.js +1 -0
- package/gui/dist/assets/wenyan-C8pVoKbM.js +1 -0
- package/gui/dist/assets/wgsl-BsKzXJz4.js +1 -0
- package/gui/dist/assets/wikitext-ClFFjSW2.js +1 -0
- package/gui/dist/assets/wit-DdvCle-K.js +1 -0
- package/gui/dist/assets/wolfram-DLL8P-h_.js +1 -0
- package/gui/dist/assets/xml-GnllpDOy.js +1 -0
- package/gui/dist/assets/xsl-CM0HH_2e.js +1 -0
- package/gui/dist/assets/yaml-Cu6rAU9G.js +1 -0
- package/gui/dist/assets/zenscript-BnlCZFoB.js +1 -0
- package/gui/dist/assets/zig-CMLA9XwU.js +1 -0
- package/gui/dist/index.html +2 -2
- package/package.json +1 -1
- package/gui/dist/assets/index-BLyQW-EW.js +0 -72
- package/gui/dist/assets/index-CmSZOGwc.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};
|