@univerjs/uniscript 0.4.0-alpha.0 → 0.4.0-nightly.202410121605

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 (178) hide show
  1. package/lib/abap-BZS-1p12.js +6 -0
  2. package/lib/abap-D8H3nII2.mjs +1404 -0
  3. package/lib/apex-B2xdRF0k.js +6 -0
  4. package/lib/apex-BVHYDV51.mjs +334 -0
  5. package/lib/azcli-BwJ4gbR1.mjs +74 -0
  6. package/lib/azcli-CKk2q0zF.js +6 -0
  7. package/lib/bat-BDmMqWXx.mjs +106 -0
  8. package/lib/bat-Ehz5Z_mk.js +6 -0
  9. package/lib/bicep-B5L2IbSj.mjs +110 -0
  10. package/lib/bicep-WbLMPUMj.js +7 -0
  11. package/lib/cameligo-B_ldnAvM.js +6 -0
  12. package/lib/cameligo-CmyOPZUd.mjs +180 -0
  13. package/lib/cjs/index.js +1 -9
  14. package/lib/clojure-Dg-qgg-1.js +6 -0
  15. package/lib/clojure-iSXHsTlR.mjs +767 -0
  16. package/lib/coffee-BCg0pb49.js +6 -0
  17. package/lib/coffee-BUCk2FHC.mjs +238 -0
  18. package/lib/cpp-CJWZ7Zo7.js +6 -0
  19. package/lib/cpp-MUyeqRt5.mjs +395 -0
  20. package/lib/csharp-B9vyMfVU.mjs +332 -0
  21. package/lib/csharp-BZypj8XG.js +6 -0
  22. package/lib/csp-BfXxGnNN.js +6 -0
  23. package/lib/csp-CbylPXe5.mjs +59 -0
  24. package/lib/css-BPDnvT2s.js +8 -0
  25. package/lib/css-BQSMT8k7.mjs +193 -0
  26. package/lib/cssMode-B_of5tVd.js +9 -0
  27. package/lib/cssMode-BuX-eUHc.mjs +1604 -0
  28. package/lib/cypher-3bNWMNCJ.js +6 -0
  29. package/lib/cypher-D7IWy_82.mjs +269 -0
  30. package/lib/dart-BCVbUKaH.mjs +287 -0
  31. package/lib/dart-C9Glm5m-.js +6 -0
  32. package/lib/dockerfile-CjnlcV5o.js +6 -0
  33. package/lib/dockerfile-D2-hSnDX.mjs +136 -0
  34. package/lib/ecl-DRJlPmOb.mjs +462 -0
  35. package/lib/ecl-UyoSfv7F.js +6 -0
  36. package/lib/elixir-Bol0p0Ia.js +6 -0
  37. package/lib/elixir-D8NBXKCb.mjs +575 -0
  38. package/lib/es/index.js +5 -262
  39. package/lib/flow9-Be1OUdJl.js +6 -0
  40. package/lib/flow9-Dp7h8rKW.mjs +148 -0
  41. package/lib/freemarker2-D8-fH4uC.mjs +1001 -0
  42. package/lib/freemarker2-S5ay_GEf.js +8 -0
  43. package/lib/fsharp-CJxdVP7r.mjs +223 -0
  44. package/lib/fsharp-CKIYWNYJ.js +6 -0
  45. package/lib/go-DWj6zslQ.js +6 -0
  46. package/lib/go-IPaMO3Uz.mjs +224 -0
  47. package/lib/graphql-BzJpwfxN.js +6 -0
  48. package/lib/graphql-CMoDK5uf.mjs +157 -0
  49. package/lib/handlebars-CEMNnGaU.mjs +427 -0
  50. package/lib/handlebars-CM3PRDRO.js +6 -0
  51. package/lib/hcl-BCY6T0iq.js +6 -0
  52. package/lib/hcl-BTAYK4pT.mjs +189 -0
  53. package/lib/html-BSUn7oJR.mjs +316 -0
  54. package/lib/html-Df-Osxjs.js +6 -0
  55. package/lib/htmlMode-Bj4CfAzA.js +9 -0
  56. package/lib/htmlMode-xJPwX0cD.mjs +1615 -0
  57. package/lib/index-D6nY5NdF.mjs +116821 -0
  58. package/lib/index-rYV4VmC2.js +1163 -0
  59. package/lib/index.css +1 -1
  60. package/lib/ini-CC3_THb4.js +6 -0
  61. package/lib/ini-CiaphB6F.mjs +77 -0
  62. package/lib/java-CwRV8Dsg.js +6 -0
  63. package/lib/java-DxksziCw.mjs +238 -0
  64. package/lib/javascript-D1eKEotE.js +6 -0
  65. package/lib/javascript-c8D1_K05.mjs +76 -0
  66. package/lib/jsonMode-8-L3-E9k.mjs +2042 -0
  67. package/lib/jsonMode-BdBVsN9_.js +15 -0
  68. package/lib/julia-7Z1jwT4W.js +6 -0
  69. package/lib/julia-TTty8och.mjs +517 -0
  70. package/lib/kotlin-BAXgl2QX.js +6 -0
  71. package/lib/kotlin-Dzand-bM.mjs +259 -0
  72. package/lib/less-CSG9Zdoy.js +7 -0
  73. package/lib/less-CWDFQI_i.mjs +168 -0
  74. package/lib/lexon-BiTtMD9F.js +6 -0
  75. package/lib/lexon-bZpjZioh.mjs +163 -0
  76. package/lib/liquid-BmlJOXgY.js +6 -0
  77. package/lib/liquid-Bs7DM5cg.mjs +248 -0
  78. package/lib/lua-CoWYKXUu.mjs +168 -0
  79. package/lib/lua-o7UTFJ05.js +6 -0
  80. package/lib/m3-DIJY3uEe.mjs +216 -0
  81. package/lib/m3-DOYTRLxi.js +6 -0
  82. package/lib/markdown-CDlkMTMZ.mjs +235 -0
  83. package/lib/markdown-Di5faXtP.js +6 -0
  84. package/lib/mdx-BEI71kqO.mjs +173 -0
  85. package/lib/mdx-DJV2KJ98.js +6 -0
  86. package/lib/mips-CIiuS33B.mjs +204 -0
  87. package/lib/mips-CjGjcf9D.js +6 -0
  88. package/lib/msdax-4_jBeazN.mjs +381 -0
  89. package/lib/msdax-DZFpIwAH.js +6 -0
  90. package/lib/mysql-6Y0DL_eO.js +6 -0
  91. package/lib/mysql-D_KZRjSR.mjs +884 -0
  92. package/lib/objective-c-7nsY1fc1.mjs +189 -0
  93. package/lib/objective-c-BtrzMwBz.js +6 -0
  94. package/lib/pascal-BF06Dt9I.js +6 -0
  95. package/lib/pascal-BHpF9PW1.mjs +257 -0
  96. package/lib/pascaligo-BDrxVOcH.js +6 -0
  97. package/lib/pascaligo-C3mRbxmU.mjs +170 -0
  98. package/lib/perl-BMlqAyyD.js +6 -0
  99. package/lib/perl-F3tWDMLI.mjs +632 -0
  100. package/lib/pgsql-D62t1RD_.mjs +857 -0
  101. package/lib/pgsql-DXYBcnYD.js +6 -0
  102. package/lib/php-C8GGPjjI.mjs +506 -0
  103. package/lib/php-DmDmMNs3.js +6 -0
  104. package/lib/pla-2A6q3K8_.js +6 -0
  105. package/lib/pla-C_W_x2fV.mjs +143 -0
  106. package/lib/postiats-CMS8WwLg.mjs +913 -0
  107. package/lib/postiats-DQ-6iLGI.js +6 -0
  108. package/lib/powerquery-CuZPk7NC.js +6 -0
  109. package/lib/powerquery-Dcs0XplE.mjs +896 -0
  110. package/lib/powershell-Brx1N_3T.mjs +245 -0
  111. package/lib/powershell-D7BqJxnS.js +6 -0
  112. package/lib/protobuf-CkqkhuUG.js +7 -0
  113. package/lib/protobuf-UEJDuX6l.mjs +426 -0
  114. package/lib/pug-65DF18O8.js +6 -0
  115. package/lib/pug-LDwDmrMc.mjs +408 -0
  116. package/lib/python-BOeTitp9.mjs +309 -0
  117. package/lib/python-DRyE-VQQ.js +6 -0
  118. package/lib/qsharp-Cb7hPwnM.mjs +307 -0
  119. package/lib/qsharp-Dw07PXbd.js +6 -0
  120. package/lib/r-BHuY0po5.js +6 -0
  121. package/lib/r-BiFgSgcs.mjs +249 -0
  122. package/lib/razor-D0RPXCAO.mjs +558 -0
  123. package/lib/razor-DtDOotKq.js +6 -0
  124. package/lib/redis-BdzqoKC2.mjs +308 -0
  125. package/lib/redis-_Q4kv9ug.js +6 -0
  126. package/lib/redshift-DNNCHCLR.js +6 -0
  127. package/lib/redshift-Df6PoiEL.mjs +815 -0
  128. package/lib/restructuredtext-C9FM3r80.js +6 -0
  129. package/lib/restructuredtext-CW0ZtQ2l.mjs +180 -0
  130. package/lib/ruby-DyIFepcy.mjs +517 -0
  131. package/lib/ruby-DyJmXCYh.js +6 -0
  132. package/lib/rust-BiRHKB0S.mjs +349 -0
  133. package/lib/rust-DVvzZ_uH.js +6 -0
  134. package/lib/sb-CFwmZh3c.js +6 -0
  135. package/lib/sb-CahkGwPC.mjs +121 -0
  136. package/lib/scala-Cg9Wfw6B.mjs +376 -0
  137. package/lib/scala-DjaRe0PR.js +6 -0
  138. package/lib/scheme-Bqb0wlMX.mjs +114 -0
  139. package/lib/scheme-ZdeLzG0d.js +6 -0
  140. package/lib/scss-3qd2syug.mjs +268 -0
  141. package/lib/scss-Dqv1RljX.js +8 -0
  142. package/lib/shell-B5iW6U-v.mjs +227 -0
  143. package/lib/shell-BJ5zD_-e.js +6 -0
  144. package/lib/solidity-8Ys0iSgd.mjs +1373 -0
  145. package/lib/solidity-CagYWQAe.js +6 -0
  146. package/lib/sophia-PnZfErC3.mjs +205 -0
  147. package/lib/sophia-szuux90p.js +6 -0
  148. package/lib/sparql-CXz1-gkd.js +6 -0
  149. package/lib/sparql-CgWX-KRM.mjs +207 -0
  150. package/lib/sql-CN3Vg4Sm.mjs +859 -0
  151. package/lib/sql-CWZ5x4mg.js +6 -0
  152. package/lib/st-CcWMPoh3.js +6 -0
  153. package/lib/st-DKDuarOh.mjs +422 -0
  154. package/lib/swift-DUBoAkDR.js +8 -0
  155. package/lib/swift-DnXH6Con.mjs +318 -0
  156. package/lib/systemverilog-5hQzl-99.js +6 -0
  157. package/lib/systemverilog-pJOgZU46.mjs +582 -0
  158. package/lib/tcl-Bls9iNXn.mjs +238 -0
  159. package/lib/tcl-CiK0GhJi.js +6 -0
  160. package/lib/tsMode-BB2mDc5d.mjs +906 -0
  161. package/lib/tsMode-N-LS5RKx.js +16 -0
  162. package/lib/twig-B14HEeE0.mjs +398 -0
  163. package/lib/twig-Cbq-Ua-E.js +6 -0
  164. package/lib/typescript-CZplv8KD.js +6 -0
  165. package/lib/typescript-f9PHTVoW.mjs +351 -0
  166. package/lib/typespec-Br_LC070.js +6 -0
  167. package/lib/typespec-dAaIdBal.mjs +125 -0
  168. package/lib/umd/index.js +1914 -2
  169. package/lib/vb-B1HzwoGL.js +6 -0
  170. package/lib/vb-CPBujGrP.mjs +378 -0
  171. package/lib/wgsl-BNAUPMiJ.js +303 -0
  172. package/lib/wgsl-CqCqdnZC.mjs +448 -0
  173. package/lib/xml-BSe-ETnG.js +6 -0
  174. package/lib/xml-Dv0cmUxw.mjs +103 -0
  175. package/lib/yaml-O_DoXtBP.js +6 -0
  176. package/lib/yaml-eXS7QSgG.mjs +214 -0
  177. package/package.json +9 -16
  178. package/LICENSE +0 -176
@@ -0,0 +1,906 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
3
+ import { t as typescriptDefaults, m as monaco_editor_core_star } from "./index-D6nY5NdF.mjs";
4
+ /*!-----------------------------------------------------------------------------
5
+ * Copyright (c) Microsoft Corporation. All rights reserved.
6
+ * Version: 0.52.0(f6dc0eb8fce67e57f6036f4769d92c1666cdf546)
7
+ * Released under the MIT license
8
+ * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
9
+ *-----------------------------------------------------------------------------*/
10
+ var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __getOwnPropNames = Object.getOwnPropertyNames, __hasOwnProp = Object.prototype.hasOwnProperty, __copyProps = /* @__PURE__ */ __name((to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp2(to, key, { get: /* @__PURE__ */ __name(() => from[key], "get"), enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ }, "__copyProps"), __reExport = /* @__PURE__ */ __name((target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget), "__reExport"), monaco_editor_core_exports = {};
16
+ __reExport(monaco_editor_core_exports, monaco_editor_core_star);
17
+ var _a, WorkerManager = (_a = class {
18
+ constructor(_modeId, _defaults) {
19
+ this._modeId = _modeId, this._defaults = _defaults, this._worker = null, this._client = null, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker()), this._updateExtraLibsToken = 0, this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(
20
+ () => this._updateExtraLibs()
21
+ );
22
+ }
23
+ dispose() {
24
+ this._configChangeListener.dispose(), this._extraLibsChangeListener.dispose(), this._stopWorker();
25
+ }
26
+ _stopWorker() {
27
+ this._worker && (this._worker.dispose(), this._worker = null), this._client = null;
28
+ }
29
+ async _updateExtraLibs() {
30
+ if (!this._worker)
31
+ return;
32
+ const myToken = ++this._updateExtraLibsToken, proxy = await this._worker.getProxy();
33
+ this._updateExtraLibsToken === myToken && proxy.updateExtraLibs(this._defaults.getExtraLibs());
34
+ }
35
+ _getClient() {
36
+ return this._client || (this._client = (async () => (this._worker = monaco_editor_core_exports.editor.createWebWorker({
37
+ // module that exports the create() method and returns a `TypeScriptWorker` instance
38
+ moduleId: "vs/language/typescript/tsWorker",
39
+ label: this._modeId,
40
+ keepIdleModels: !0,
41
+ // passed in to the create() method
42
+ createData: {
43
+ compilerOptions: this._defaults.getCompilerOptions(),
44
+ extraLibs: this._defaults.getExtraLibs(),
45
+ customWorkerPath: this._defaults.workerOptions.customWorkerPath,
46
+ inlayHintsOptions: this._defaults.inlayHintsOptions
47
+ }
48
+ }), this._defaults.getEagerModelSync() ? await this._worker.withSyncedResources(
49
+ monaco_editor_core_exports.editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)
50
+ ) : await this._worker.getProxy()))()), this._client;
51
+ }
52
+ async getLanguageServiceWorker(...resources) {
53
+ const client = await this._getClient();
54
+ return this._worker && await this._worker.withSyncedResources(resources), client;
55
+ }
56
+ }, __name(_a, "WorkerManager"), _a), libFileSet = {};
57
+ libFileSet["lib.d.ts"] = !0;
58
+ libFileSet["lib.decorators.d.ts"] = !0;
59
+ libFileSet["lib.decorators.legacy.d.ts"] = !0;
60
+ libFileSet["lib.dom.asynciterable.d.ts"] = !0;
61
+ libFileSet["lib.dom.d.ts"] = !0;
62
+ libFileSet["lib.dom.iterable.d.ts"] = !0;
63
+ libFileSet["lib.es2015.collection.d.ts"] = !0;
64
+ libFileSet["lib.es2015.core.d.ts"] = !0;
65
+ libFileSet["lib.es2015.d.ts"] = !0;
66
+ libFileSet["lib.es2015.generator.d.ts"] = !0;
67
+ libFileSet["lib.es2015.iterable.d.ts"] = !0;
68
+ libFileSet["lib.es2015.promise.d.ts"] = !0;
69
+ libFileSet["lib.es2015.proxy.d.ts"] = !0;
70
+ libFileSet["lib.es2015.reflect.d.ts"] = !0;
71
+ libFileSet["lib.es2015.symbol.d.ts"] = !0;
72
+ libFileSet["lib.es2015.symbol.wellknown.d.ts"] = !0;
73
+ libFileSet["lib.es2016.array.include.d.ts"] = !0;
74
+ libFileSet["lib.es2016.d.ts"] = !0;
75
+ libFileSet["lib.es2016.full.d.ts"] = !0;
76
+ libFileSet["lib.es2016.intl.d.ts"] = !0;
77
+ libFileSet["lib.es2017.d.ts"] = !0;
78
+ libFileSet["lib.es2017.date.d.ts"] = !0;
79
+ libFileSet["lib.es2017.full.d.ts"] = !0;
80
+ libFileSet["lib.es2017.intl.d.ts"] = !0;
81
+ libFileSet["lib.es2017.object.d.ts"] = !0;
82
+ libFileSet["lib.es2017.sharedmemory.d.ts"] = !0;
83
+ libFileSet["lib.es2017.string.d.ts"] = !0;
84
+ libFileSet["lib.es2017.typedarrays.d.ts"] = !0;
85
+ libFileSet["lib.es2018.asyncgenerator.d.ts"] = !0;
86
+ libFileSet["lib.es2018.asynciterable.d.ts"] = !0;
87
+ libFileSet["lib.es2018.d.ts"] = !0;
88
+ libFileSet["lib.es2018.full.d.ts"] = !0;
89
+ libFileSet["lib.es2018.intl.d.ts"] = !0;
90
+ libFileSet["lib.es2018.promise.d.ts"] = !0;
91
+ libFileSet["lib.es2018.regexp.d.ts"] = !0;
92
+ libFileSet["lib.es2019.array.d.ts"] = !0;
93
+ libFileSet["lib.es2019.d.ts"] = !0;
94
+ libFileSet["lib.es2019.full.d.ts"] = !0;
95
+ libFileSet["lib.es2019.intl.d.ts"] = !0;
96
+ libFileSet["lib.es2019.object.d.ts"] = !0;
97
+ libFileSet["lib.es2019.string.d.ts"] = !0;
98
+ libFileSet["lib.es2019.symbol.d.ts"] = !0;
99
+ libFileSet["lib.es2020.bigint.d.ts"] = !0;
100
+ libFileSet["lib.es2020.d.ts"] = !0;
101
+ libFileSet["lib.es2020.date.d.ts"] = !0;
102
+ libFileSet["lib.es2020.full.d.ts"] = !0;
103
+ libFileSet["lib.es2020.intl.d.ts"] = !0;
104
+ libFileSet["lib.es2020.number.d.ts"] = !0;
105
+ libFileSet["lib.es2020.promise.d.ts"] = !0;
106
+ libFileSet["lib.es2020.sharedmemory.d.ts"] = !0;
107
+ libFileSet["lib.es2020.string.d.ts"] = !0;
108
+ libFileSet["lib.es2020.symbol.wellknown.d.ts"] = !0;
109
+ libFileSet["lib.es2021.d.ts"] = !0;
110
+ libFileSet["lib.es2021.full.d.ts"] = !0;
111
+ libFileSet["lib.es2021.intl.d.ts"] = !0;
112
+ libFileSet["lib.es2021.promise.d.ts"] = !0;
113
+ libFileSet["lib.es2021.string.d.ts"] = !0;
114
+ libFileSet["lib.es2021.weakref.d.ts"] = !0;
115
+ libFileSet["lib.es2022.array.d.ts"] = !0;
116
+ libFileSet["lib.es2022.d.ts"] = !0;
117
+ libFileSet["lib.es2022.error.d.ts"] = !0;
118
+ libFileSet["lib.es2022.full.d.ts"] = !0;
119
+ libFileSet["lib.es2022.intl.d.ts"] = !0;
120
+ libFileSet["lib.es2022.object.d.ts"] = !0;
121
+ libFileSet["lib.es2022.regexp.d.ts"] = !0;
122
+ libFileSet["lib.es2022.sharedmemory.d.ts"] = !0;
123
+ libFileSet["lib.es2022.string.d.ts"] = !0;
124
+ libFileSet["lib.es2023.array.d.ts"] = !0;
125
+ libFileSet["lib.es2023.collection.d.ts"] = !0;
126
+ libFileSet["lib.es2023.d.ts"] = !0;
127
+ libFileSet["lib.es2023.full.d.ts"] = !0;
128
+ libFileSet["lib.es5.d.ts"] = !0;
129
+ libFileSet["lib.es6.d.ts"] = !0;
130
+ libFileSet["lib.esnext.collection.d.ts"] = !0;
131
+ libFileSet["lib.esnext.d.ts"] = !0;
132
+ libFileSet["lib.esnext.decorators.d.ts"] = !0;
133
+ libFileSet["lib.esnext.disposable.d.ts"] = !0;
134
+ libFileSet["lib.esnext.full.d.ts"] = !0;
135
+ libFileSet["lib.esnext.intl.d.ts"] = !0;
136
+ libFileSet["lib.esnext.object.d.ts"] = !0;
137
+ libFileSet["lib.esnext.promise.d.ts"] = !0;
138
+ libFileSet["lib.scripthost.d.ts"] = !0;
139
+ libFileSet["lib.webworker.asynciterable.d.ts"] = !0;
140
+ libFileSet["lib.webworker.d.ts"] = !0;
141
+ libFileSet["lib.webworker.importscripts.d.ts"] = !0;
142
+ libFileSet["lib.webworker.iterable.d.ts"] = !0;
143
+ function flattenDiagnosticMessageText(diag, newLine, indent = 0) {
144
+ if (typeof diag == "string")
145
+ return diag;
146
+ if (diag === void 0)
147
+ return "";
148
+ let result = "";
149
+ if (indent) {
150
+ result += newLine;
151
+ for (let i = 0; i < indent; i++)
152
+ result += " ";
153
+ }
154
+ if (result += diag.messageText, indent++, diag.next)
155
+ for (const kid of diag.next)
156
+ result += flattenDiagnosticMessageText(kid, newLine, indent);
157
+ return result;
158
+ }
159
+ __name(flattenDiagnosticMessageText, "flattenDiagnosticMessageText");
160
+ function displayPartsToString(displayParts) {
161
+ return displayParts ? displayParts.map((displayPart) => displayPart.text).join("") : "";
162
+ }
163
+ __name(displayPartsToString, "displayPartsToString");
164
+ var _a2, Adapter = (_a2 = class {
165
+ constructor(_worker) {
166
+ this._worker = _worker;
167
+ }
168
+ // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {
169
+ // return model.getOffsetAt(position);
170
+ // }
171
+ // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {
172
+ // return model.getPositionAt(offset);
173
+ // }
174
+ _textSpanToRange(model, span) {
175
+ let p1 = model.getPositionAt(span.start), p2 = model.getPositionAt(span.start + span.length), { lineNumber: startLineNumber, column: startColumn } = p1, { lineNumber: endLineNumber, column: endColumn } = p2;
176
+ return { startLineNumber, startColumn, endLineNumber, endColumn };
177
+ }
178
+ }, __name(_a2, "Adapter"), _a2), _a3, LibFiles = (_a3 = class {
179
+ constructor(_worker) {
180
+ this._worker = _worker, this._libFiles = {}, this._hasFetchedLibFiles = !1, this._fetchLibFilesPromise = null;
181
+ }
182
+ isLibFile(uri) {
183
+ return uri && uri.path.indexOf("/lib.") === 0 ? !!libFileSet[uri.path.slice(1)] : !1;
184
+ }
185
+ getOrCreateModel(fileName) {
186
+ const uri = monaco_editor_core_exports.Uri.parse(fileName), model = monaco_editor_core_exports.editor.getModel(uri);
187
+ if (model)
188
+ return model;
189
+ if (this.isLibFile(uri) && this._hasFetchedLibFiles)
190
+ return monaco_editor_core_exports.editor.createModel(this._libFiles[uri.path.slice(1)], "typescript", uri);
191
+ const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];
192
+ return matchedLibFile ? monaco_editor_core_exports.editor.createModel(matchedLibFile.content, "typescript", uri) : null;
193
+ }
194
+ _containsLibFile(uris) {
195
+ for (let uri of uris)
196
+ if (this.isLibFile(uri))
197
+ return !0;
198
+ return !1;
199
+ }
200
+ async fetchLibFilesIfNecessary(uris) {
201
+ this._containsLibFile(uris) && await this._fetchLibFiles();
202
+ }
203
+ _fetchLibFiles() {
204
+ return this._fetchLibFilesPromise || (this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {
205
+ this._hasFetchedLibFiles = !0, this._libFiles = libFiles;
206
+ })), this._fetchLibFilesPromise;
207
+ }
208
+ }, __name(_a3, "LibFiles"), _a3), _a4, DiagnosticsAdapter = (_a4 = class extends Adapter {
209
+ constructor(_libFiles, _defaults, _selector, worker) {
210
+ super(worker), this._libFiles = _libFiles, this._defaults = _defaults, this._selector = _selector, this._disposables = [], this._listener = /* @__PURE__ */ Object.create(null);
211
+ const onModelAdd = /* @__PURE__ */ __name((model) => {
212
+ if (model.getLanguageId() !== _selector)
213
+ return;
214
+ const maybeValidate = /* @__PURE__ */ __name(() => {
215
+ const { onlyVisible } = this._defaults.getDiagnosticsOptions();
216
+ onlyVisible ? model.isAttachedToEditor() && this._doValidate(model) : this._doValidate(model);
217
+ }, "maybeValidate");
218
+ let handle;
219
+ const changeSubscription = model.onDidChangeContent(() => {
220
+ clearTimeout(handle), handle = window.setTimeout(maybeValidate, 500);
221
+ }), visibleSubscription = model.onDidChangeAttached(() => {
222
+ const { onlyVisible } = this._defaults.getDiagnosticsOptions();
223
+ onlyVisible && (model.isAttachedToEditor() ? maybeValidate() : monaco_editor_core_exports.editor.setModelMarkers(model, this._selector, []));
224
+ });
225
+ this._listener[model.uri.toString()] = {
226
+ dispose() {
227
+ changeSubscription.dispose(), visibleSubscription.dispose(), clearTimeout(handle);
228
+ }
229
+ }, maybeValidate();
230
+ }, "onModelAdd"), onModelRemoved = /* @__PURE__ */ __name((model) => {
231
+ monaco_editor_core_exports.editor.setModelMarkers(model, this._selector, []);
232
+ const key = model.uri.toString();
233
+ this._listener[key] && (this._listener[key].dispose(), delete this._listener[key]);
234
+ }, "onModelRemoved");
235
+ this._disposables.push(
236
+ monaco_editor_core_exports.editor.onDidCreateModel((model) => onModelAdd(model))
237
+ ), this._disposables.push(monaco_editor_core_exports.editor.onWillDisposeModel(onModelRemoved)), this._disposables.push(
238
+ monaco_editor_core_exports.editor.onDidChangeModelLanguage((event) => {
239
+ onModelRemoved(event.model), onModelAdd(event.model);
240
+ })
241
+ ), this._disposables.push({
242
+ dispose() {
243
+ for (const model of monaco_editor_core_exports.editor.getModels())
244
+ onModelRemoved(model);
245
+ }
246
+ });
247
+ const recomputeDiagostics = /* @__PURE__ */ __name(() => {
248
+ for (const model of monaco_editor_core_exports.editor.getModels())
249
+ onModelRemoved(model), onModelAdd(model);
250
+ }, "recomputeDiagostics");
251
+ this._disposables.push(this._defaults.onDidChange(recomputeDiagostics)), this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics)), monaco_editor_core_exports.editor.getModels().forEach((model) => onModelAdd(model));
252
+ }
253
+ dispose() {
254
+ this._disposables.forEach((d) => d && d.dispose()), this._disposables = [];
255
+ }
256
+ async _doValidate(model) {
257
+ const worker = await this._worker(model.uri);
258
+ if (model.isDisposed())
259
+ return;
260
+ const promises = [], { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();
261
+ noSyntaxValidation || promises.push(worker.getSyntacticDiagnostics(model.uri.toString())), noSemanticValidation || promises.push(worker.getSemanticDiagnostics(model.uri.toString())), noSuggestionDiagnostics || promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));
262
+ const allDiagnostics = await Promise.all(promises);
263
+ if (!allDiagnostics || model.isDisposed())
264
+ return;
265
+ const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(
266
+ (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1
267
+ ), relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(
268
+ (relatedInformation) => relatedInformation.file ? monaco_editor_core_exports.Uri.parse(relatedInformation.file.fileName) : null
269
+ );
270
+ await this._libFiles.fetchLibFilesIfNecessary(relatedUris), !model.isDisposed() && monaco_editor_core_exports.editor.setModelMarkers(
271
+ model,
272
+ this._selector,
273
+ diagnostics.map((d) => this._convertDiagnostics(model, d))
274
+ );
275
+ }
276
+ _convertDiagnostics(model, diag) {
277
+ const diagStart = diag.start || 0, diagLength = diag.length || 1, { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart), { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(
278
+ diagStart + diagLength
279
+ ), tags = [];
280
+ return diag.reportsUnnecessary && tags.push(monaco_editor_core_exports.MarkerTag.Unnecessary), diag.reportsDeprecated && tags.push(monaco_editor_core_exports.MarkerTag.Deprecated), {
281
+ severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),
282
+ startLineNumber,
283
+ startColumn,
284
+ endLineNumber,
285
+ endColumn,
286
+ message: flattenDiagnosticMessageText(diag.messageText, `
287
+ `),
288
+ code: diag.code.toString(),
289
+ tags,
290
+ relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)
291
+ };
292
+ }
293
+ _convertRelatedInformation(model, relatedInformation) {
294
+ if (!relatedInformation)
295
+ return [];
296
+ const result = [];
297
+ return relatedInformation.forEach((info) => {
298
+ let relatedResource = model;
299
+ if (info.file && (relatedResource = this._libFiles.getOrCreateModel(info.file.fileName)), !relatedResource)
300
+ return;
301
+ const infoStart = info.start || 0, infoLength = info.length || 1, { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart), { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(
302
+ infoStart + infoLength
303
+ );
304
+ result.push({
305
+ resource: relatedResource.uri,
306
+ startLineNumber,
307
+ startColumn,
308
+ endLineNumber,
309
+ endColumn,
310
+ message: flattenDiagnosticMessageText(info.messageText, `
311
+ `)
312
+ });
313
+ }), result;
314
+ }
315
+ _tsDiagnosticCategoryToMarkerSeverity(category) {
316
+ switch (category) {
317
+ case 1:
318
+ return monaco_editor_core_exports.MarkerSeverity.Error;
319
+ case 3:
320
+ return monaco_editor_core_exports.MarkerSeverity.Info;
321
+ case 0:
322
+ return monaco_editor_core_exports.MarkerSeverity.Warning;
323
+ case 2:
324
+ return monaco_editor_core_exports.MarkerSeverity.Hint;
325
+ }
326
+ return monaco_editor_core_exports.MarkerSeverity.Info;
327
+ }
328
+ }, __name(_a4, "DiagnosticsAdapter"), _a4), _a5, SuggestAdapter = (_a5 = class extends Adapter {
329
+ get triggerCharacters() {
330
+ return ["."];
331
+ }
332
+ async provideCompletionItems(model, position, _context, token) {
333
+ const wordInfo = model.getWordUntilPosition(position), wordRange = new monaco_editor_core_exports.Range(
334
+ position.lineNumber,
335
+ wordInfo.startColumn,
336
+ position.lineNumber,
337
+ wordInfo.endColumn
338
+ ), resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
339
+ if (model.isDisposed())
340
+ return;
341
+ const info = await worker.getCompletionsAtPosition(resource.toString(), offset);
342
+ return !info || model.isDisposed() ? void 0 : {
343
+ suggestions: info.entries.map((entry) => {
344
+ let range = wordRange;
345
+ if (entry.replacementSpan) {
346
+ const p1 = model.getPositionAt(entry.replacementSpan.start), p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);
347
+ range = new monaco_editor_core_exports.Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);
348
+ }
349
+ const tags = [];
350
+ return entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf("deprecated") !== -1 && tags.push(monaco_editor_core_exports.languages.CompletionItemTag.Deprecated), {
351
+ uri: resource,
352
+ position,
353
+ offset,
354
+ range,
355
+ label: entry.name,
356
+ insertText: entry.name,
357
+ sortText: entry.sortText,
358
+ kind: _a5.convertKind(entry.kind),
359
+ tags
360
+ };
361
+ })
362
+ };
363
+ }
364
+ async resolveCompletionItem(item, token) {
365
+ const myItem = item, resource = myItem.uri, position = myItem.position, offset = myItem.offset, details = await (await this._worker(resource)).getCompletionEntryDetails(
366
+ resource.toString(),
367
+ offset,
368
+ myItem.label
369
+ );
370
+ return details ? {
371
+ uri: resource,
372
+ position,
373
+ label: details.name,
374
+ kind: _a5.convertKind(details.kind),
375
+ detail: displayPartsToString(details.displayParts),
376
+ documentation: {
377
+ value: _a5.createDocumentationString(details)
378
+ }
379
+ } : myItem;
380
+ }
381
+ static convertKind(kind) {
382
+ switch (kind) {
383
+ case Kind.primitiveType:
384
+ case Kind.keyword:
385
+ return monaco_editor_core_exports.languages.CompletionItemKind.Keyword;
386
+ case Kind.variable:
387
+ case Kind.localVariable:
388
+ return monaco_editor_core_exports.languages.CompletionItemKind.Variable;
389
+ case Kind.memberVariable:
390
+ case Kind.memberGetAccessor:
391
+ case Kind.memberSetAccessor:
392
+ return monaco_editor_core_exports.languages.CompletionItemKind.Field;
393
+ case Kind.function:
394
+ case Kind.memberFunction:
395
+ case Kind.constructSignature:
396
+ case Kind.callSignature:
397
+ case Kind.indexSignature:
398
+ return monaco_editor_core_exports.languages.CompletionItemKind.Function;
399
+ case Kind.enum:
400
+ return monaco_editor_core_exports.languages.CompletionItemKind.Enum;
401
+ case Kind.module:
402
+ return monaco_editor_core_exports.languages.CompletionItemKind.Module;
403
+ case Kind.class:
404
+ return monaco_editor_core_exports.languages.CompletionItemKind.Class;
405
+ case Kind.interface:
406
+ return monaco_editor_core_exports.languages.CompletionItemKind.Interface;
407
+ case Kind.warning:
408
+ return monaco_editor_core_exports.languages.CompletionItemKind.File;
409
+ }
410
+ return monaco_editor_core_exports.languages.CompletionItemKind.Property;
411
+ }
412
+ static createDocumentationString(details) {
413
+ let documentationString = displayPartsToString(details.documentation);
414
+ if (details.tags)
415
+ for (const tag of details.tags)
416
+ documentationString += `
417
+
418
+ ${tagToString(tag)}`;
419
+ return documentationString;
420
+ }
421
+ }, __name(_a5, "_SuggestAdapter"), _a5);
422
+ function tagToString(tag) {
423
+ let tagLabel = `*@${tag.name}*`;
424
+ if (tag.name === "param" && tag.text) {
425
+ const [paramName, ...rest] = tag.text;
426
+ tagLabel += `\`${paramName.text}\``, rest.length > 0 && (tagLabel += ` — ${rest.map((r) => r.text).join(" ")}`);
427
+ } else Array.isArray(tag.text) ? tagLabel += ` — ${tag.text.map((r) => r.text).join(" ")}` : tag.text && (tagLabel += ` — ${tag.text}`);
428
+ return tagLabel;
429
+ }
430
+ __name(tagToString, "tagToString");
431
+ var _a6, SignatureHelpAdapter = (_a6 = class extends Adapter {
432
+ constructor() {
433
+ super(...arguments), this.signatureHelpTriggerCharacters = ["(", ","];
434
+ }
435
+ static _toSignatureHelpTriggerReason(context) {
436
+ switch (context.triggerKind) {
437
+ case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.TriggerCharacter:
438
+ return context.triggerCharacter ? context.isRetrigger ? { kind: "retrigger", triggerCharacter: context.triggerCharacter } : { kind: "characterTyped", triggerCharacter: context.triggerCharacter } : { kind: "invoked" };
439
+ case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.ContentChange:
440
+ return context.isRetrigger ? { kind: "retrigger" } : { kind: "invoked" };
441
+ case monaco_editor_core_exports.languages.SignatureHelpTriggerKind.Invoke:
442
+ default:
443
+ return { kind: "invoked" };
444
+ }
445
+ }
446
+ async provideSignatureHelp(model, position, token, context) {
447
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
448
+ if (model.isDisposed())
449
+ return;
450
+ const info = await worker.getSignatureHelpItems(resource.toString(), offset, {
451
+ triggerReason: _a6._toSignatureHelpTriggerReason(context)
452
+ });
453
+ if (!info || model.isDisposed())
454
+ return;
455
+ const ret = {
456
+ activeSignature: info.selectedItemIndex,
457
+ activeParameter: info.argumentIndex,
458
+ signatures: []
459
+ };
460
+ return info.items.forEach((item) => {
461
+ const signature = {
462
+ label: "",
463
+ parameters: []
464
+ };
465
+ signature.documentation = {
466
+ value: displayPartsToString(item.documentation)
467
+ }, signature.label += displayPartsToString(item.prefixDisplayParts), item.parameters.forEach((p, i, a) => {
468
+ const label = displayPartsToString(p.displayParts), parameter = {
469
+ label,
470
+ documentation: {
471
+ value: displayPartsToString(p.documentation)
472
+ }
473
+ };
474
+ signature.label += label, signature.parameters.push(parameter), i < a.length - 1 && (signature.label += displayPartsToString(item.separatorDisplayParts));
475
+ }), signature.label += displayPartsToString(item.suffixDisplayParts), ret.signatures.push(signature);
476
+ }), {
477
+ value: ret,
478
+ dispose() {
479
+ }
480
+ };
481
+ }
482
+ }, __name(_a6, "_SignatureHelpAdapter"), _a6), _a7, QuickInfoAdapter = (_a7 = class extends Adapter {
483
+ async provideHover(model, position, token) {
484
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
485
+ if (model.isDisposed())
486
+ return;
487
+ const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);
488
+ if (!info || model.isDisposed())
489
+ return;
490
+ const documentation = displayPartsToString(info.documentation), tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(`
491
+
492
+ `) : "", contents = displayPartsToString(info.displayParts);
493
+ return {
494
+ range: this._textSpanToRange(model, info.textSpan),
495
+ contents: [
496
+ {
497
+ value: "```typescript\n" + contents + "\n```\n"
498
+ },
499
+ {
500
+ value: documentation + (tags ? `
501
+
502
+ ` + tags : "")
503
+ }
504
+ ]
505
+ };
506
+ }
507
+ }, __name(_a7, "QuickInfoAdapter"), _a7), _a8, DocumentHighlightAdapter = (_a8 = class extends Adapter {
508
+ async provideDocumentHighlights(model, position, token) {
509
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
510
+ if (model.isDisposed())
511
+ return;
512
+ const entries = await worker.getDocumentHighlights(resource.toString(), offset, [
513
+ resource.toString()
514
+ ]);
515
+ if (!(!entries || model.isDisposed()))
516
+ return entries.flatMap((entry) => entry.highlightSpans.map((highlightSpans) => ({
517
+ range: this._textSpanToRange(model, highlightSpans.textSpan),
518
+ kind: highlightSpans.kind === "writtenReference" ? monaco_editor_core_exports.languages.DocumentHighlightKind.Write : monaco_editor_core_exports.languages.DocumentHighlightKind.Text
519
+ })));
520
+ }
521
+ }, __name(_a8, "DocumentHighlightAdapter"), _a8), _a9, DefinitionAdapter = (_a9 = class extends Adapter {
522
+ constructor(_libFiles, worker) {
523
+ super(worker), this._libFiles = _libFiles;
524
+ }
525
+ async provideDefinition(model, position, token) {
526
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
527
+ if (model.isDisposed())
528
+ return;
529
+ const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);
530
+ if (!entries || model.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(
531
+ entries.map((entry) => monaco_editor_core_exports.Uri.parse(entry.fileName))
532
+ ), model.isDisposed()))
533
+ return;
534
+ const result = [];
535
+ for (let entry of entries) {
536
+ const refModel = this._libFiles.getOrCreateModel(entry.fileName);
537
+ refModel && result.push({
538
+ uri: refModel.uri,
539
+ range: this._textSpanToRange(refModel, entry.textSpan)
540
+ });
541
+ }
542
+ return result;
543
+ }
544
+ }, __name(_a9, "DefinitionAdapter"), _a9), _a10, ReferenceAdapter = (_a10 = class extends Adapter {
545
+ constructor(_libFiles, worker) {
546
+ super(worker), this._libFiles = _libFiles;
547
+ }
548
+ async provideReferences(model, position, context, token) {
549
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
550
+ if (model.isDisposed())
551
+ return;
552
+ const entries = await worker.getReferencesAtPosition(resource.toString(), offset);
553
+ if (!entries || model.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(
554
+ entries.map((entry) => monaco_editor_core_exports.Uri.parse(entry.fileName))
555
+ ), model.isDisposed()))
556
+ return;
557
+ const result = [];
558
+ for (let entry of entries) {
559
+ const refModel = this._libFiles.getOrCreateModel(entry.fileName);
560
+ refModel && result.push({
561
+ uri: refModel.uri,
562
+ range: this._textSpanToRange(refModel, entry.textSpan)
563
+ });
564
+ }
565
+ return result;
566
+ }
567
+ }, __name(_a10, "ReferenceAdapter"), _a10), _a11, OutlineAdapter = (_a11 = class extends Adapter {
568
+ async provideDocumentSymbols(model, token) {
569
+ const resource = model.uri, worker = await this._worker(resource);
570
+ if (model.isDisposed())
571
+ return;
572
+ const root = await worker.getNavigationTree(resource.toString());
573
+ if (!root || model.isDisposed())
574
+ return;
575
+ const convert = /* @__PURE__ */ __name((item, containerLabel) => {
576
+ var _a19;
577
+ return {
578
+ name: item.text,
579
+ detail: "",
580
+ kind: outlineTypeTable[item.kind] || monaco_editor_core_exports.languages.SymbolKind.Variable,
581
+ range: this._textSpanToRange(model, item.spans[0]),
582
+ selectionRange: this._textSpanToRange(model, item.spans[0]),
583
+ tags: [],
584
+ children: (_a19 = item.childItems) == null ? void 0 : _a19.map((child) => convert(child, item.text)),
585
+ containerName: containerLabel
586
+ };
587
+ }, "convert");
588
+ return root.childItems ? root.childItems.map((item) => convert(item)) : [];
589
+ }
590
+ }, __name(_a11, "OutlineAdapter"), _a11), _a12, Kind = (_a12 = class {
591
+ }, __name(_a12, "Kind"), _a12.unknown = "", _a12.keyword = "keyword", _a12.script = "script", _a12.module = "module", _a12.class = "class", _a12.interface = "interface", _a12.type = "type", _a12.enum = "enum", _a12.variable = "var", _a12.localVariable = "local var", _a12.function = "function", _a12.localFunction = "local function", _a12.memberFunction = "method", _a12.memberGetAccessor = "getter", _a12.memberSetAccessor = "setter", _a12.memberVariable = "property", _a12.constructorImplementation = "constructor", _a12.callSignature = "call", _a12.indexSignature = "index", _a12.constructSignature = "construct", _a12.parameter = "parameter", _a12.typeParameter = "type parameter", _a12.primitiveType = "primitive type", _a12.label = "label", _a12.alias = "alias", _a12.const = "const", _a12.let = "let", _a12.warning = "warning", _a12), outlineTypeTable = /* @__PURE__ */ Object.create(null);
592
+ outlineTypeTable[Kind.module] = monaco_editor_core_exports.languages.SymbolKind.Module;
593
+ outlineTypeTable[Kind.class] = monaco_editor_core_exports.languages.SymbolKind.Class;
594
+ outlineTypeTable[Kind.enum] = monaco_editor_core_exports.languages.SymbolKind.Enum;
595
+ outlineTypeTable[Kind.interface] = monaco_editor_core_exports.languages.SymbolKind.Interface;
596
+ outlineTypeTable[Kind.memberFunction] = monaco_editor_core_exports.languages.SymbolKind.Method;
597
+ outlineTypeTable[Kind.memberVariable] = monaco_editor_core_exports.languages.SymbolKind.Property;
598
+ outlineTypeTable[Kind.memberGetAccessor] = monaco_editor_core_exports.languages.SymbolKind.Property;
599
+ outlineTypeTable[Kind.memberSetAccessor] = monaco_editor_core_exports.languages.SymbolKind.Property;
600
+ outlineTypeTable[Kind.variable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
601
+ outlineTypeTable[Kind.const] = monaco_editor_core_exports.languages.SymbolKind.Variable;
602
+ outlineTypeTable[Kind.localVariable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
603
+ outlineTypeTable[Kind.variable] = monaco_editor_core_exports.languages.SymbolKind.Variable;
604
+ outlineTypeTable[Kind.function] = monaco_editor_core_exports.languages.SymbolKind.Function;
605
+ outlineTypeTable[Kind.localFunction] = monaco_editor_core_exports.languages.SymbolKind.Function;
606
+ var _a13, FormatHelper = (_a13 = class extends Adapter {
607
+ static _convertOptions(options) {
608
+ return {
609
+ ConvertTabsToSpaces: options.insertSpaces,
610
+ TabSize: options.tabSize,
611
+ IndentSize: options.tabSize,
612
+ IndentStyle: 2,
613
+ NewLineCharacter: `
614
+ `,
615
+ InsertSpaceAfterCommaDelimiter: !0,
616
+ InsertSpaceAfterSemicolonInForStatements: !0,
617
+ InsertSpaceBeforeAndAfterBinaryOperators: !0,
618
+ InsertSpaceAfterKeywordsInControlFlowStatements: !0,
619
+ InsertSpaceAfterFunctionKeywordForAnonymousFunctions: !0,
620
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1,
621
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1,
622
+ InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1,
623
+ PlaceOpenBraceOnNewLineForControlBlocks: !1,
624
+ PlaceOpenBraceOnNewLineForFunctions: !1
625
+ };
626
+ }
627
+ _convertTextChanges(model, change) {
628
+ return {
629
+ text: change.newText,
630
+ range: this._textSpanToRange(model, change.span)
631
+ };
632
+ }
633
+ }, __name(_a13, "FormatHelper"), _a13), _a14, FormatAdapter = (_a14 = class extends FormatHelper {
634
+ constructor() {
635
+ super(...arguments), this.canFormatMultipleRanges = !1;
636
+ }
637
+ async provideDocumentRangeFormattingEdits(model, range, options, token) {
638
+ const resource = model.uri, startOffset = model.getOffsetAt({
639
+ lineNumber: range.startLineNumber,
640
+ column: range.startColumn
641
+ }), endOffset = model.getOffsetAt({
642
+ lineNumber: range.endLineNumber,
643
+ column: range.endColumn
644
+ }), worker = await this._worker(resource);
645
+ if (model.isDisposed())
646
+ return;
647
+ const edits = await worker.getFormattingEditsForRange(
648
+ resource.toString(),
649
+ startOffset,
650
+ endOffset,
651
+ FormatHelper._convertOptions(options)
652
+ );
653
+ if (!(!edits || model.isDisposed()))
654
+ return edits.map((edit) => this._convertTextChanges(model, edit));
655
+ }
656
+ }, __name(_a14, "FormatAdapter"), _a14), _a15, FormatOnTypeAdapter = (_a15 = class extends FormatHelper {
657
+ get autoFormatTriggerCharacters() {
658
+ return [";", "}", `
659
+ `];
660
+ }
661
+ async provideOnTypeFormattingEdits(model, position, ch, options, token) {
662
+ const resource = model.uri, offset = model.getOffsetAt(position), worker = await this._worker(resource);
663
+ if (model.isDisposed())
664
+ return;
665
+ const edits = await worker.getFormattingEditsAfterKeystroke(
666
+ resource.toString(),
667
+ offset,
668
+ ch,
669
+ FormatHelper._convertOptions(options)
670
+ );
671
+ if (!(!edits || model.isDisposed()))
672
+ return edits.map((edit) => this._convertTextChanges(model, edit));
673
+ }
674
+ }, __name(_a15, "FormatOnTypeAdapter"), _a15), _a16, CodeActionAdaptor = (_a16 = class extends FormatHelper {
675
+ async provideCodeActions(model, range, context, token) {
676
+ const resource = model.uri, start = model.getOffsetAt({
677
+ lineNumber: range.startLineNumber,
678
+ column: range.startColumn
679
+ }), end = model.getOffsetAt({
680
+ lineNumber: range.endLineNumber,
681
+ column: range.endColumn
682
+ }), formatOptions = FormatHelper._convertOptions(model.getOptions()), errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number), worker = await this._worker(resource);
683
+ if (model.isDisposed())
684
+ return;
685
+ const codeFixes = await worker.getCodeFixesAtPosition(
686
+ resource.toString(),
687
+ start,
688
+ end,
689
+ errorCodes,
690
+ formatOptions
691
+ );
692
+ return !codeFixes || model.isDisposed() ? { actions: [], dispose: /* @__PURE__ */ __name(() => {
693
+ }, "dispose") } : {
694
+ actions: codeFixes.filter((fix) => fix.changes.filter((change) => change.isNewFile).length === 0).map((fix) => this._tsCodeFixActionToMonacoCodeAction(model, context, fix)),
695
+ dispose: /* @__PURE__ */ __name(() => {
696
+ }, "dispose")
697
+ };
698
+ }
699
+ _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {
700
+ const edits = [];
701
+ for (const change of codeFix.changes)
702
+ for (const textChange of change.textChanges)
703
+ edits.push({
704
+ resource: model.uri,
705
+ versionId: void 0,
706
+ textEdit: {
707
+ range: this._textSpanToRange(model, textChange.span),
708
+ text: textChange.newText
709
+ }
710
+ });
711
+ return {
712
+ title: codeFix.description,
713
+ edit: { edits },
714
+ diagnostics: context.markers,
715
+ kind: "quickfix"
716
+ };
717
+ }
718
+ }, __name(_a16, "CodeActionAdaptor"), _a16), _a17, RenameAdapter = (_a17 = class extends Adapter {
719
+ constructor(_libFiles, worker) {
720
+ super(worker), this._libFiles = _libFiles;
721
+ }
722
+ async provideRenameEdits(model, position, newName, token) {
723
+ const resource = model.uri, fileName = resource.toString(), offset = model.getOffsetAt(position), worker = await this._worker(resource);
724
+ if (model.isDisposed())
725
+ return;
726
+ const renameInfo = await worker.getRenameInfo(fileName, offset, {
727
+ allowRenameOfImportPath: !1
728
+ });
729
+ if (renameInfo.canRename === !1)
730
+ return {
731
+ edits: [],
732
+ rejectReason: renameInfo.localizedErrorMessage
733
+ };
734
+ if (renameInfo.fileToRename !== void 0)
735
+ throw new Error("Renaming files is not supported.");
736
+ const renameLocations = await worker.findRenameLocations(
737
+ fileName,
738
+ offset,
739
+ /*strings*/
740
+ !1,
741
+ /*comments*/
742
+ !1,
743
+ /*prefixAndSuffix*/
744
+ !1
745
+ );
746
+ if (!renameLocations || model.isDisposed())
747
+ return;
748
+ const edits = [];
749
+ for (const renameLocation of renameLocations) {
750
+ const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);
751
+ if (model2)
752
+ edits.push({
753
+ resource: model2.uri,
754
+ versionId: void 0,
755
+ textEdit: {
756
+ range: this._textSpanToRange(model2, renameLocation.textSpan),
757
+ text: newName
758
+ }
759
+ });
760
+ else
761
+ throw new Error(`Unknown file ${renameLocation.fileName}.`);
762
+ }
763
+ return { edits };
764
+ }
765
+ }, __name(_a17, "RenameAdapter"), _a17), _a18, InlayHintsAdapter = (_a18 = class extends Adapter {
766
+ async provideInlayHints(model, range, token) {
767
+ const resource = model.uri, fileName = resource.toString(), start = model.getOffsetAt({
768
+ lineNumber: range.startLineNumber,
769
+ column: range.startColumn
770
+ }), end = model.getOffsetAt({
771
+ lineNumber: range.endLineNumber,
772
+ column: range.endColumn
773
+ }), worker = await this._worker(resource);
774
+ return model.isDisposed() ? null : { hints: (await worker.provideInlayHints(fileName, start, end)).map((hint) => ({
775
+ ...hint,
776
+ label: hint.text,
777
+ position: model.getPositionAt(hint.position),
778
+ kind: this._convertHintKind(hint.kind)
779
+ })), dispose: /* @__PURE__ */ __name(() => {
780
+ }, "dispose") };
781
+ }
782
+ _convertHintKind(kind) {
783
+ switch (kind) {
784
+ case "Parameter":
785
+ return monaco_editor_core_exports.languages.InlayHintKind.Parameter;
786
+ case "Type":
787
+ return monaco_editor_core_exports.languages.InlayHintKind.Type;
788
+ default:
789
+ return monaco_editor_core_exports.languages.InlayHintKind.Type;
790
+ }
791
+ }
792
+ }, __name(_a18, "InlayHintsAdapter"), _a18), javaScriptWorker, typeScriptWorker;
793
+ function setupTypeScript(defaults) {
794
+ typeScriptWorker = setupMode(defaults, "typescript");
795
+ }
796
+ __name(setupTypeScript, "setupTypeScript");
797
+ function setupJavaScript(defaults) {
798
+ javaScriptWorker = setupMode(defaults, "javascript");
799
+ }
800
+ __name(setupJavaScript, "setupJavaScript");
801
+ function getJavaScriptWorker() {
802
+ return new Promise((resolve, reject) => {
803
+ if (!javaScriptWorker)
804
+ return reject("JavaScript not registered!");
805
+ resolve(javaScriptWorker);
806
+ });
807
+ }
808
+ __name(getJavaScriptWorker, "getJavaScriptWorker");
809
+ function getTypeScriptWorker() {
810
+ return new Promise((resolve, reject) => {
811
+ if (!typeScriptWorker)
812
+ return reject("TypeScript not registered!");
813
+ resolve(typeScriptWorker);
814
+ });
815
+ }
816
+ __name(getTypeScriptWorker, "getTypeScriptWorker");
817
+ function setupMode(defaults, modeId) {
818
+ const providers = [], client = new WorkerManager(modeId, defaults), worker = /* @__PURE__ */ __name((...uris) => client.getLanguageServiceWorker(...uris), "worker"), libFiles = new LibFiles(worker);
819
+ function registerProviders() {
820
+ const { modeConfiguration } = defaults;
821
+ disposeAll(providers), modeConfiguration.completionItems && providers.push(
822
+ monaco_editor_core_exports.languages.registerCompletionItemProvider(
823
+ modeId,
824
+ new SuggestAdapter(worker)
825
+ )
826
+ ), modeConfiguration.signatureHelp && providers.push(
827
+ monaco_editor_core_exports.languages.registerSignatureHelpProvider(
828
+ modeId,
829
+ new SignatureHelpAdapter(worker)
830
+ )
831
+ ), modeConfiguration.hovers && providers.push(
832
+ monaco_editor_core_exports.languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))
833
+ ), modeConfiguration.documentHighlights && providers.push(
834
+ monaco_editor_core_exports.languages.registerDocumentHighlightProvider(
835
+ modeId,
836
+ new DocumentHighlightAdapter(worker)
837
+ )
838
+ ), modeConfiguration.definitions && providers.push(
839
+ monaco_editor_core_exports.languages.registerDefinitionProvider(
840
+ modeId,
841
+ new DefinitionAdapter(libFiles, worker)
842
+ )
843
+ ), modeConfiguration.references && providers.push(
844
+ monaco_editor_core_exports.languages.registerReferenceProvider(
845
+ modeId,
846
+ new ReferenceAdapter(libFiles, worker)
847
+ )
848
+ ), modeConfiguration.documentSymbols && providers.push(
849
+ monaco_editor_core_exports.languages.registerDocumentSymbolProvider(
850
+ modeId,
851
+ new OutlineAdapter(worker)
852
+ )
853
+ ), modeConfiguration.rename && providers.push(
854
+ monaco_editor_core_exports.languages.registerRenameProvider(
855
+ modeId,
856
+ new RenameAdapter(libFiles, worker)
857
+ )
858
+ ), modeConfiguration.documentRangeFormattingEdits && providers.push(
859
+ monaco_editor_core_exports.languages.registerDocumentRangeFormattingEditProvider(
860
+ modeId,
861
+ new FormatAdapter(worker)
862
+ )
863
+ ), modeConfiguration.onTypeFormattingEdits && providers.push(
864
+ monaco_editor_core_exports.languages.registerOnTypeFormattingEditProvider(
865
+ modeId,
866
+ new FormatOnTypeAdapter(worker)
867
+ )
868
+ ), modeConfiguration.codeActions && providers.push(
869
+ monaco_editor_core_exports.languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))
870
+ ), modeConfiguration.inlayHints && providers.push(
871
+ monaco_editor_core_exports.languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))
872
+ ), modeConfiguration.diagnostics && providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));
873
+ }
874
+ return __name(registerProviders, "registerProviders"), registerProviders(), worker;
875
+ }
876
+ __name(setupMode, "setupMode");
877
+ function disposeAll(disposables) {
878
+ for (; disposables.length; )
879
+ disposables.pop().dispose();
880
+ }
881
+ __name(disposeAll, "disposeAll");
882
+ export {
883
+ Adapter,
884
+ CodeActionAdaptor,
885
+ DefinitionAdapter,
886
+ DiagnosticsAdapter,
887
+ DocumentHighlightAdapter,
888
+ FormatAdapter,
889
+ FormatHelper,
890
+ FormatOnTypeAdapter,
891
+ InlayHintsAdapter,
892
+ Kind,
893
+ LibFiles,
894
+ OutlineAdapter,
895
+ QuickInfoAdapter,
896
+ ReferenceAdapter,
897
+ RenameAdapter,
898
+ SignatureHelpAdapter,
899
+ SuggestAdapter,
900
+ WorkerManager,
901
+ flattenDiagnosticMessageText,
902
+ getJavaScriptWorker,
903
+ getTypeScriptWorker,
904
+ setupJavaScript,
905
+ setupTypeScript
906
+ };