@univerjs/uniscript 0.4.0-alpha.0 → 0.4.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) 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
@@ -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
+ };