monacozen 0.0.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +219 -0
  2. package/assets/antimono-ClsI0fxy.js +5 -0
  3. package/assets/antimono-zBXMptjq.css +1 -0
  4. package/assets/bat-T2vjbQzY.js +125 -0
  5. package/assets/bicep-B6UDBWZN.js +220 -0
  6. package/assets/clojure-BvXzD8Uz.js +148 -0
  7. package/assets/coffee-D_yet6sT.js +262 -0
  8. package/assets/cpp-CsfEADPM.js +232 -0
  9. package/assets/csharp-jw3fFksF.js +262 -0
  10. package/assets/css-FsiUe-xI.js +286 -0
  11. package/assets/css.worker-BIsSvM_Q.js +96 -0
  12. package/assets/css.worker-BSHdDU9y.js +6 -0
  13. package/assets/cssMode-7U-ime2d.js +65 -0
  14. package/assets/cypher-B8DgU2PH.js +214 -0
  15. package/assets/dart-D1x60wEn.js +238 -0
  16. package/assets/dist-Bx9hOuoB.js +624 -0
  17. package/assets/dockerfile-DSHxsy4G.js +193 -0
  18. package/assets/editor.api-ZYFspLPt.js +85776 -0
  19. package/assets/editorWebWorkerMain-BioN9fGU.js +33 -0
  20. package/assets/editorWebWorkerMain-DXr8-Jst.js +6 -0
  21. package/assets/elixir-Cr7BtjRU.js +525 -0
  22. package/assets/fsharp-CeVKIr0d.js +149 -0
  23. package/assets/go-BL4_0srD.js +167 -0
  24. package/assets/graphql-mhWekwK0.js +176 -0
  25. package/assets/handlebars-rQdtgZoQ.js +412 -0
  26. package/assets/hcl-CfyDj6z_.js +221 -0
  27. package/assets/html-DIDrd2Z7.js +333 -0
  28. package/assets/html.worker-BrBx6eB3.js +6 -0
  29. package/assets/html.worker-CEvqvEpu.js +509 -0
  30. package/assets/htmlMode-i6u-9r7u.js +74 -0
  31. package/assets/ini-DhiXkl_g.js +96 -0
  32. package/assets/java-Ct9YHm5L.js +175 -0
  33. package/assets/javascript-By915NHa.js +20 -0
  34. package/assets/json.worker-B0PzJ5jL.js +6 -0
  35. package/assets/json.worker-CAiVr-gV.js +65 -0
  36. package/assets/jsonMode-DAP8CNa2.js +450 -0
  37. package/assets/julia-BAYXm_pL.js +416 -0
  38. package/assets/kotlin-JEujETri.js +184 -0
  39. package/assets/less-oHZXXDVD.js +244 -0
  40. package/assets/liquid-Cvs1eMgo.js +199 -0
  41. package/assets/lspLanguageFeatures-D6P77uh_.js +1455 -0
  42. package/assets/lua-B3ViXcD8.js +202 -0
  43. package/assets/main-16cPxgwS.js +107 -0
  44. package/assets/main-CB71Lf5W.js +129 -0
  45. package/assets/main-HEYSEiwe.js +66 -0
  46. package/assets/markdown-Ggb6Rgvc.js +264 -0
  47. package/assets/mdx-Ce7sXDA4.js +329 -0
  48. package/assets/mips-cYdfQChM.js +130 -0
  49. package/assets/monaco-d37b1a8f.css +3 -0
  50. package/assets/monaco-o5F6wkXp.js +40865 -0
  51. package/assets/mysql-nklBC2QL.js +170 -0
  52. package/assets/objective-c-x5BzCYEv.js +146 -0
  53. package/assets/pascal-DWL5ya_C.js +178 -0
  54. package/assets/perl-CbRoLks6.js +318 -0
  55. package/assets/pgsql-CVS-AsDB.js +160 -0
  56. package/assets/php-6gZIubF1.js +473 -0
  57. package/assets/powershell-DKgJI7BG.js +213 -0
  58. package/assets/protobuf-N0VyW3k9.js +661 -0
  59. package/assets/pug-BIMEUctf.js +302 -0
  60. package/assets/python-BKt2Winm.js +254 -0
  61. package/assets/r-Cb2uCcX6.js +191 -0
  62. package/assets/redis-D1CRAuQ1.js +125 -0
  63. package/assets/ruby-BzpgsYNr.js +529 -0
  64. package/assets/rust-CkIXqWDr.js +180 -0
  65. package/assets/scala-CnJ7htCu.js +553 -0
  66. package/assets/scss-xP2eAFyY.js +419 -0
  67. package/assets/shell-JSjWPSrk.js +225 -0
  68. package/assets/solidity-C8AFhoIi.js +149 -0
  69. package/assets/sql-DqW-LmZI.js +173 -0
  70. package/assets/swift-BcHKQY-M.js +215 -0
  71. package/assets/systemverilog-Dmu-Ht4V.js +300 -0
  72. package/assets/ts.worker-BAchZA3W.js +6 -0
  73. package/assets/ts.worker-DZhhT1EO.js +67741 -0
  74. package/assets/tsMode-C_Fsqh0j.js +566 -0
  75. package/assets/twig-Bj4rwioa.js +390 -0
  76. package/assets/typescript-Djsb1cC9.js +257 -0
  77. package/assets/typespec-xwJ6QpRP.js +236 -0
  78. package/assets/vb-CMxAjmFH.js +262 -0
  79. package/assets/wgsl-CTYGQRo2.js +147 -0
  80. package/assets/xml-D7cJD5hW.js +130 -0
  81. package/assets/yaml-B8A0QdVf.js +223 -0
  82. package/assets/yaml.worker-Crtsysk5.js +474 -0
  83. package/assets/yaml.worker-DZ36155v.js +6 -0
  84. package/lib.d.ts +8403 -0
  85. package/lib.js +2 -0
  86. package/package.json +1 -1
  87. package/src/main.js +29 -0
  88. package/index.d.ts +0 -6
  89. package/index.js +0 -1
  90. package/readme.md +0 -1
  91. /package/{license.txt → LICENSE} +0 -0
@@ -0,0 +1,566 @@
1
+ import { a as e, c as t, f as n, m as r, o as i, p as a } from "./editor.api-ZYFspLPt.js";
2
+ import { n as o, r as s } from "./monaco-o5F6wkXp.js";
3
+ //#region node_modules/.bun/monaco-editor@0.57.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/workerManager.js
4
+ var c = class {
5
+ constructor(e, t) {
6
+ this._modeId = e, this._defaults = t, this._worker = null, this._client = null, this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker()), this._updateExtraLibsToken = 0, this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(() => this._updateExtraLibs());
7
+ }
8
+ dispose() {
9
+ this._configChangeListener.dispose(), this._extraLibsChangeListener.dispose(), this._stopWorker();
10
+ }
11
+ _stopWorker() {
12
+ this._worker &&= (this._worker.dispose(), null), this._client = null;
13
+ }
14
+ async _updateExtraLibs() {
15
+ if (!this._worker) return;
16
+ let e = ++this._updateExtraLibsToken, t = await this._worker.getProxy();
17
+ this._updateExtraLibsToken === e && t.updateExtraLibs(this._defaults.getExtraLibs());
18
+ }
19
+ _getClient() {
20
+ return this._client ||= (async () => (this._worker = s({
21
+ moduleId: "vs/language/typescript/tsWorker",
22
+ createWorker: () => new Worker(new URL(
23
+ /* @vite-ignore */
24
+ new URL("ts.worker-DZhhT1EO.js", import.meta.url).href,
25
+ "" + import.meta.url
26
+ ), { type: "module" }),
27
+ label: this._modeId,
28
+ keepIdleModels: !0,
29
+ createData: {
30
+ compilerOptions: this._defaults.getCompilerOptions(),
31
+ extraLibs: this._defaults.getExtraLibs(),
32
+ customWorkerPath: this._defaults.workerOptions.customWorkerPath,
33
+ inlayHintsOptions: this._defaults.inlayHintsOptions
34
+ }
35
+ }), this._defaults.getEagerModelSync() ? await this._worker.withSyncedResources(a.getModels().filter((e) => e.getLanguageId() === this._modeId).map((e) => e.uri)) : await this._worker.getProxy()))(), this._client;
36
+ }
37
+ async getLanguageServiceWorker(...e) {
38
+ let t = await this._getClient();
39
+ return this._worker && await this._worker.withSyncedResources(e), t;
40
+ }
41
+ }, l = {};
42
+ l["lib.d.ts"] = !0, l["lib.decorators.d.ts"] = !0, l["lib.decorators.legacy.d.ts"] = !0, l["lib.dom.asynciterable.d.ts"] = !0, l["lib.dom.d.ts"] = !0, l["lib.dom.iterable.d.ts"] = !0, l["lib.es2015.collection.d.ts"] = !0, l["lib.es2015.core.d.ts"] = !0, l["lib.es2015.d.ts"] = !0, l["lib.es2015.generator.d.ts"] = !0, l["lib.es2015.iterable.d.ts"] = !0, l["lib.es2015.promise.d.ts"] = !0, l["lib.es2015.proxy.d.ts"] = !0, l["lib.es2015.reflect.d.ts"] = !0, l["lib.es2015.symbol.d.ts"] = !0, l["lib.es2015.symbol.wellknown.d.ts"] = !0, l["lib.es2016.array.include.d.ts"] = !0, l["lib.es2016.d.ts"] = !0, l["lib.es2016.full.d.ts"] = !0, l["lib.es2016.intl.d.ts"] = !0, l["lib.es2017.arraybuffer.d.ts"] = !0, l["lib.es2017.d.ts"] = !0, l["lib.es2017.date.d.ts"] = !0, l["lib.es2017.full.d.ts"] = !0, l["lib.es2017.intl.d.ts"] = !0, l["lib.es2017.object.d.ts"] = !0, l["lib.es2017.sharedmemory.d.ts"] = !0, l["lib.es2017.string.d.ts"] = !0, l["lib.es2017.typedarrays.d.ts"] = !0, l["lib.es2018.asyncgenerator.d.ts"] = !0, l["lib.es2018.asynciterable.d.ts"] = !0, l["lib.es2018.d.ts"] = !0, l["lib.es2018.full.d.ts"] = !0, l["lib.es2018.intl.d.ts"] = !0, l["lib.es2018.promise.d.ts"] = !0, l["lib.es2018.regexp.d.ts"] = !0, l["lib.es2019.array.d.ts"] = !0, l["lib.es2019.d.ts"] = !0, l["lib.es2019.full.d.ts"] = !0, l["lib.es2019.intl.d.ts"] = !0, l["lib.es2019.object.d.ts"] = !0, l["lib.es2019.string.d.ts"] = !0, l["lib.es2019.symbol.d.ts"] = !0, l["lib.es2020.bigint.d.ts"] = !0, l["lib.es2020.d.ts"] = !0, l["lib.es2020.date.d.ts"] = !0, l["lib.es2020.full.d.ts"] = !0, l["lib.es2020.intl.d.ts"] = !0, l["lib.es2020.number.d.ts"] = !0, l["lib.es2020.promise.d.ts"] = !0, l["lib.es2020.sharedmemory.d.ts"] = !0, l["lib.es2020.string.d.ts"] = !0, l["lib.es2020.symbol.wellknown.d.ts"] = !0, l["lib.es2021.d.ts"] = !0, l["lib.es2021.full.d.ts"] = !0, l["lib.es2021.intl.d.ts"] = !0, l["lib.es2021.promise.d.ts"] = !0, l["lib.es2021.string.d.ts"] = !0, l["lib.es2021.weakref.d.ts"] = !0, l["lib.es2022.array.d.ts"] = !0, l["lib.es2022.d.ts"] = !0, l["lib.es2022.error.d.ts"] = !0, l["lib.es2022.full.d.ts"] = !0, l["lib.es2022.intl.d.ts"] = !0, l["lib.es2022.object.d.ts"] = !0, l["lib.es2022.regexp.d.ts"] = !0, l["lib.es2022.string.d.ts"] = !0, l["lib.es2023.array.d.ts"] = !0, l["lib.es2023.collection.d.ts"] = !0, l["lib.es2023.d.ts"] = !0, l["lib.es2023.full.d.ts"] = !0, l["lib.es2023.intl.d.ts"] = !0, l["lib.es2024.arraybuffer.d.ts"] = !0, l["lib.es2024.collection.d.ts"] = !0, l["lib.es2024.d.ts"] = !0, l["lib.es2024.full.d.ts"] = !0, l["lib.es2024.object.d.ts"] = !0, l["lib.es2024.promise.d.ts"] = !0, l["lib.es2024.regexp.d.ts"] = !0, l["lib.es2024.sharedmemory.d.ts"] = !0, l["lib.es2024.string.d.ts"] = !0, l["lib.es5.d.ts"] = !0, l["lib.es6.d.ts"] = !0, l["lib.esnext.array.d.ts"] = !0, l["lib.esnext.collection.d.ts"] = !0, l["lib.esnext.d.ts"] = !0, l["lib.esnext.decorators.d.ts"] = !0, l["lib.esnext.disposable.d.ts"] = !0, l["lib.esnext.error.d.ts"] = !0, l["lib.esnext.float16.d.ts"] = !0, l["lib.esnext.full.d.ts"] = !0, l["lib.esnext.intl.d.ts"] = !0, l["lib.esnext.iterator.d.ts"] = !0, l["lib.esnext.promise.d.ts"] = !0, l["lib.esnext.sharedmemory.d.ts"] = !0, l["lib.scripthost.d.ts"] = !0, l["lib.webworker.asynciterable.d.ts"] = !0, l["lib.webworker.d.ts"] = !0, l["lib.webworker.importscripts.d.ts"] = !0, l["lib.webworker.iterable.d.ts"] = !0;
43
+ //#endregion
44
+ //#region node_modules/.bun/monaco-editor@0.57.0/node_modules/monaco-editor/esm/vs/languages/features/typescript/languageFeatures.js
45
+ function u(e, t, n = 0) {
46
+ if (typeof e == "string") return e;
47
+ if (e === void 0) return "";
48
+ let r = "";
49
+ if (n) {
50
+ r += t;
51
+ for (let e = 0; e < n; e++) r += " ";
52
+ }
53
+ if (r += e.messageText, n++, e.next) for (let i of e.next) r += u(i, t, n);
54
+ return r;
55
+ }
56
+ function d(e) {
57
+ return e ? e.map((e) => e.text).join("") : "";
58
+ }
59
+ var f = class {
60
+ constructor(e) {
61
+ this._worker = e;
62
+ }
63
+ _textSpanToRange(e, t) {
64
+ let n = e.getPositionAt(t.start), r = e.getPositionAt(t.start + t.length), { lineNumber: i, column: a } = n, { lineNumber: o, column: s } = r;
65
+ return {
66
+ startLineNumber: i,
67
+ startColumn: a,
68
+ endLineNumber: o,
69
+ endColumn: s
70
+ };
71
+ }
72
+ }, p = class {
73
+ constructor(e) {
74
+ this._worker = e, this._libFiles = {}, this._hasFetchedLibFiles = !1, this._fetchLibFilesPromise = null;
75
+ }
76
+ isLibFile(e) {
77
+ return e ? e.path.indexOf("/lib.") === 0 && !!l[e.path.slice(1)] : !1;
78
+ }
79
+ getOrCreateModel(e) {
80
+ let t = n.parse(e), r = a.getModel(t);
81
+ if (r) return r;
82
+ if (this.isLibFile(t) && this._hasFetchedLibFiles) return a.createModel(this._libFiles[t.path.slice(1)], "typescript", t);
83
+ let i = o.getExtraLibs()[e];
84
+ return i ? a.createModel(i.content, "typescript", t) : null;
85
+ }
86
+ _containsLibFile(e) {
87
+ for (let t of e) if (this.isLibFile(t)) return !0;
88
+ return !1;
89
+ }
90
+ async fetchLibFilesIfNecessary(e) {
91
+ this._containsLibFile(e) && await this._fetchLibFiles();
92
+ }
93
+ _fetchLibFiles() {
94
+ return this._fetchLibFilesPromise ||= this._worker().then((e) => e.getLibFiles()).then((e) => {
95
+ this._hasFetchedLibFiles = !0, this._libFiles = e;
96
+ }), this._fetchLibFilesPromise;
97
+ }
98
+ }, m = class extends f {
99
+ constructor(e, t, n, r) {
100
+ super(r), this._libFiles = e, this._defaults = t, this._selector = n, this._disposables = [], this._listener = /* @__PURE__ */ Object.create(null);
101
+ let i = (e) => {
102
+ if (e.getLanguageId() !== n) return;
103
+ let t = () => {
104
+ let { onlyVisible: t } = this._defaults.getDiagnosticsOptions();
105
+ t ? e.isAttachedToEditor() && this._doValidate(e) : this._doValidate(e);
106
+ }, r, i = e.onDidChangeContent(() => {
107
+ clearTimeout(r), r = window.setTimeout(t, 500);
108
+ }), o = e.onDidChangeAttached(() => {
109
+ let { onlyVisible: n } = this._defaults.getDiagnosticsOptions();
110
+ n && (e.isAttachedToEditor() ? t() : a.setModelMarkers(e, this._selector, []));
111
+ });
112
+ this._listener[e.uri.toString()] = { dispose() {
113
+ i.dispose(), o.dispose(), clearTimeout(r);
114
+ } }, t();
115
+ }, o = (e) => {
116
+ a.setModelMarkers(e, this._selector, []);
117
+ let t = e.uri.toString();
118
+ this._listener[t] && (this._listener[t].dispose(), delete this._listener[t]);
119
+ };
120
+ this._disposables.push(a.onDidCreateModel((e) => i(e))), this._disposables.push(a.onWillDisposeModel(o)), this._disposables.push(a.onDidChangeModelLanguage((e) => {
121
+ o(e.model), i(e.model);
122
+ })), this._disposables.push({ dispose() {
123
+ for (let e of a.getModels()) o(e);
124
+ } });
125
+ let s = () => {
126
+ for (let e of a.getModels()) o(e), i(e);
127
+ };
128
+ this._disposables.push(this._defaults.onDidChange(s)), this._disposables.push(this._defaults.onDidExtraLibsChange(s)), a.getModels().forEach((e) => i(e));
129
+ }
130
+ dispose() {
131
+ this._disposables.forEach((e) => e && e.dispose()), this._disposables = [];
132
+ }
133
+ async _doValidate(e) {
134
+ let t = await this._worker(e.uri);
135
+ if (e.isDisposed()) return;
136
+ let r = [], { noSyntaxValidation: i, noSemanticValidation: o, noSuggestionDiagnostics: s } = this._defaults.getDiagnosticsOptions();
137
+ i || r.push(t.getSyntacticDiagnostics(e.uri.toString())), o || r.push(t.getSemanticDiagnostics(e.uri.toString())), s || r.push(t.getSuggestionDiagnostics(e.uri.toString()));
138
+ let c = await Promise.all(r);
139
+ if (!c || e.isDisposed()) return;
140
+ let l = c.reduce((e, t) => t.concat(e), []).filter((e) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(e.code) === -1), u = l.map((e) => e.relatedInformation || []).reduce((e, t) => t.concat(e), []).map((e) => e.file ? n.parse(e.file.fileName) : null);
141
+ await this._libFiles.fetchLibFilesIfNecessary(u), !e.isDisposed() && a.setModelMarkers(e, this._selector, l.map((t) => this._convertDiagnostics(e, t)));
142
+ }
143
+ _convertDiagnostics(e, t) {
144
+ let n = t.start || 0, r = t.length || 1, { lineNumber: a, column: o } = e.getPositionAt(n), { lineNumber: s, column: c } = e.getPositionAt(n + r), l = [];
145
+ return t.reportsUnnecessary && l.push(i.Unnecessary), t.reportsDeprecated && l.push(i.Deprecated), {
146
+ severity: this._tsDiagnosticCategoryToMarkerSeverity(t.category),
147
+ startLineNumber: a,
148
+ startColumn: o,
149
+ endLineNumber: s,
150
+ endColumn: c,
151
+ message: u(t.messageText, "\n"),
152
+ code: t.code.toString(),
153
+ tags: l,
154
+ relatedInformation: this._convertRelatedInformation(e, t.relatedInformation)
155
+ };
156
+ }
157
+ _convertRelatedInformation(e, t) {
158
+ if (!t) return [];
159
+ let n = [];
160
+ return t.forEach((t) => {
161
+ let r = e;
162
+ if (t.file && (r = this._libFiles.getOrCreateModel(t.file.fileName)), !r) return;
163
+ let i = t.start || 0, a = t.length || 1, { lineNumber: o, column: s } = r.getPositionAt(i), { lineNumber: c, column: l } = r.getPositionAt(i + a);
164
+ n.push({
165
+ resource: r.uri,
166
+ startLineNumber: o,
167
+ startColumn: s,
168
+ endLineNumber: c,
169
+ endColumn: l,
170
+ message: u(t.messageText, "\n")
171
+ });
172
+ }), n;
173
+ }
174
+ _tsDiagnosticCategoryToMarkerSeverity(t) {
175
+ switch (t) {
176
+ case 1: return e.Error;
177
+ case 3: return e.Info;
178
+ case 0: return e.Warning;
179
+ case 2: return e.Hint;
180
+ }
181
+ return e.Info;
182
+ }
183
+ }, h = class e extends f {
184
+ get triggerCharacters() {
185
+ return ["."];
186
+ }
187
+ async provideCompletionItems(n, i, a, o) {
188
+ let s = n.getWordUntilPosition(i), c = new t(i.lineNumber, s.startColumn, i.lineNumber, s.endColumn), l = n.uri, u = n.getOffsetAt(i), d = await this._worker(l);
189
+ if (n.isDisposed()) return;
190
+ let f = await d.getCompletionsAtPosition(l.toString(), u);
191
+ if (f && !n.isDisposed()) return { suggestions: f.entries.map((a) => {
192
+ let o = c;
193
+ if (a.replacementSpan) {
194
+ let e = n.getPositionAt(a.replacementSpan.start), r = n.getPositionAt(a.replacementSpan.start + a.replacementSpan.length);
195
+ o = new t(e.lineNumber, e.column, r.lineNumber, r.column);
196
+ }
197
+ let s = [];
198
+ return a.kindModifiers !== void 0 && a.kindModifiers.indexOf("deprecated") !== -1 && s.push(r.CompletionItemTag.Deprecated), {
199
+ uri: l,
200
+ position: i,
201
+ offset: u,
202
+ range: o,
203
+ label: a.name,
204
+ insertText: a.name,
205
+ sortText: a.sortText,
206
+ kind: e.convertKind(a.kind),
207
+ tags: s
208
+ };
209
+ }) };
210
+ }
211
+ async resolveCompletionItem(t, n) {
212
+ let r = t, i = r.uri, a = r.position, o = r.offset, s = await (await this._worker(i)).getCompletionEntryDetails(i.toString(), o, r.label);
213
+ return s ? {
214
+ uri: i,
215
+ position: a,
216
+ label: s.name,
217
+ kind: e.convertKind(s.kind),
218
+ detail: d(s.displayParts),
219
+ documentation: { value: e.createDocumentationString(s) }
220
+ } : r;
221
+ }
222
+ static convertKind(e) {
223
+ switch (e) {
224
+ case C.primitiveType:
225
+ case C.keyword: return r.CompletionItemKind.Keyword;
226
+ case C.variable:
227
+ case C.localVariable: return r.CompletionItemKind.Variable;
228
+ case C.memberVariable:
229
+ case C.memberGetAccessor:
230
+ case C.memberSetAccessor: return r.CompletionItemKind.Field;
231
+ case C.function:
232
+ case C.memberFunction:
233
+ case C.constructSignature:
234
+ case C.callSignature:
235
+ case C.indexSignature: return r.CompletionItemKind.Function;
236
+ case C.enum: return r.CompletionItemKind.Enum;
237
+ case C.module: return r.CompletionItemKind.Module;
238
+ case C.class: return r.CompletionItemKind.Class;
239
+ case C.interface: return r.CompletionItemKind.Interface;
240
+ case C.warning: return r.CompletionItemKind.File;
241
+ }
242
+ return r.CompletionItemKind.Property;
243
+ }
244
+ static createDocumentationString(e) {
245
+ let t = d(e.documentation);
246
+ if (e.tags) for (let n of e.tags) t += `
247
+
248
+ ${g(n)}`;
249
+ return t;
250
+ }
251
+ };
252
+ function g(e) {
253
+ let t = `*@${e.name}*`;
254
+ if (e.name === "param" && e.text) {
255
+ let [n, ...r] = e.text;
256
+ t += `\`${n.text}\``, r.length > 0 && (t += ` \u2014 ${r.map((e) => e.text).join(" ")}`);
257
+ } else Array.isArray(e.text) ? t += ` \u2014 ${e.text.map((e) => e.text).join(" ")}` : e.text && (t += ` \u2014 ${e.text}`);
258
+ return t;
259
+ }
260
+ var _ = class e extends f {
261
+ constructor() {
262
+ super(...arguments), this.signatureHelpTriggerCharacters = ["(", ","];
263
+ }
264
+ static _toSignatureHelpTriggerReason(e) {
265
+ switch (e.triggerKind) {
266
+ case r.SignatureHelpTriggerKind.TriggerCharacter: return e.triggerCharacter ? e.isRetrigger ? {
267
+ kind: "retrigger",
268
+ triggerCharacter: e.triggerCharacter
269
+ } : {
270
+ kind: "characterTyped",
271
+ triggerCharacter: e.triggerCharacter
272
+ } : { kind: "invoked" };
273
+ case r.SignatureHelpTriggerKind.ContentChange: return e.isRetrigger ? { kind: "retrigger" } : { kind: "invoked" };
274
+ case r.SignatureHelpTriggerKind.Invoke:
275
+ default: return { kind: "invoked" };
276
+ }
277
+ }
278
+ async provideSignatureHelp(t, n, r, i) {
279
+ let a = t.uri, o = t.getOffsetAt(n), s = await this._worker(a);
280
+ if (t.isDisposed()) return;
281
+ let c = await s.getSignatureHelpItems(a.toString(), o, { triggerReason: e._toSignatureHelpTriggerReason(i) });
282
+ if (!c || t.isDisposed()) return;
283
+ let l = {
284
+ activeSignature: c.selectedItemIndex,
285
+ activeParameter: c.argumentIndex,
286
+ signatures: []
287
+ };
288
+ return c.items.forEach((e) => {
289
+ let t = {
290
+ label: "",
291
+ parameters: []
292
+ };
293
+ t.documentation = { value: d(e.documentation) }, t.label += d(e.prefixDisplayParts), e.parameters.forEach((n, r, i) => {
294
+ let a = d(n.displayParts), o = {
295
+ label: a,
296
+ documentation: { value: d(n.documentation) }
297
+ };
298
+ t.label += a, t.parameters.push(o), r < i.length - 1 && (t.label += d(e.separatorDisplayParts));
299
+ }), t.label += d(e.suffixDisplayParts), l.signatures.push(t);
300
+ }), {
301
+ value: l,
302
+ dispose() {}
303
+ };
304
+ }
305
+ }, v = class extends f {
306
+ async provideHover(e, t, n) {
307
+ let r = e.uri, i = e.getOffsetAt(t), a = await this._worker(r);
308
+ if (e.isDisposed()) return;
309
+ let o = await a.getQuickInfoAtPosition(r.toString(), i);
310
+ if (!o || e.isDisposed()) return;
311
+ let s = d(o.documentation), c = o.tags ? o.tags.map((e) => g(e)).join(" \n\n") : "", l = d(o.displayParts);
312
+ return {
313
+ range: this._textSpanToRange(e, o.textSpan),
314
+ contents: [{ value: "```typescript\n" + l + "\n```\n" }, { value: s + (c ? "\n\n" + c : "") }]
315
+ };
316
+ }
317
+ }, y = class extends f {
318
+ async provideDocumentHighlights(e, t, n) {
319
+ let i = e.uri, a = e.getOffsetAt(t), o = await this._worker(i);
320
+ if (e.isDisposed()) return;
321
+ let s = await o.getDocumentHighlights(i.toString(), a, [i.toString()]);
322
+ if (s && !e.isDisposed()) return s.flatMap((t) => t.highlightSpans.map((t) => ({
323
+ range: this._textSpanToRange(e, t.textSpan),
324
+ kind: t.kind === "writtenReference" ? r.DocumentHighlightKind.Write : r.DocumentHighlightKind.Text
325
+ })));
326
+ }
327
+ }, b = class extends f {
328
+ constructor(e, t) {
329
+ super(t), this._libFiles = e;
330
+ }
331
+ async provideDefinition(e, t, r) {
332
+ let i = e.uri, a = e.getOffsetAt(t), o = await this._worker(i);
333
+ if (e.isDisposed()) return;
334
+ let s = await o.getDefinitionAtPosition(i.toString(), a);
335
+ if (!s || e.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(s.map((e) => n.parse(e.fileName))), e.isDisposed())) return;
336
+ let c = [];
337
+ for (let e of s) {
338
+ let t = this._libFiles.getOrCreateModel(e.fileName);
339
+ t && c.push({
340
+ uri: t.uri,
341
+ range: this._textSpanToRange(t, e.textSpan)
342
+ });
343
+ }
344
+ return c;
345
+ }
346
+ }, x = class extends f {
347
+ constructor(e, t) {
348
+ super(t), this._libFiles = e;
349
+ }
350
+ async provideReferences(e, t, r, i) {
351
+ let a = e.uri, o = e.getOffsetAt(t), s = await this._worker(a);
352
+ if (e.isDisposed()) return;
353
+ let c = await s.getReferencesAtPosition(a.toString(), o);
354
+ if (!c || e.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(c.map((e) => n.parse(e.fileName))), e.isDisposed())) return;
355
+ let l = [];
356
+ for (let e of c) {
357
+ let t = this._libFiles.getOrCreateModel(e.fileName);
358
+ t && l.push({
359
+ uri: t.uri,
360
+ range: this._textSpanToRange(t, e.textSpan)
361
+ });
362
+ }
363
+ return l;
364
+ }
365
+ }, S = class extends f {
366
+ async provideDocumentSymbols(e, t) {
367
+ let n = e.uri, i = await this._worker(n);
368
+ if (e.isDisposed()) return;
369
+ let a = await i.getNavigationTree(n.toString());
370
+ if (!a || e.isDisposed()) return;
371
+ let o = (t, n) => ({
372
+ name: t.text,
373
+ detail: "",
374
+ kind: w[t.kind] || r.SymbolKind.Variable,
375
+ range: this._textSpanToRange(e, t.spans[0]),
376
+ selectionRange: this._textSpanToRange(e, t.spans[0]),
377
+ tags: [],
378
+ children: t.childItems?.map((e) => o(e, t.text)),
379
+ containerName: n
380
+ });
381
+ return a.childItems ? a.childItems.map((e) => o(e)) : [];
382
+ }
383
+ }, C = class {};
384
+ C.unknown = "", C.keyword = "keyword", C.script = "script", C.module = "module", C.class = "class", C.interface = "interface", C.type = "type", C.enum = "enum", C.variable = "var", C.localVariable = "local var", C.function = "function", C.localFunction = "local function", C.memberFunction = "method", C.memberGetAccessor = "getter", C.memberSetAccessor = "setter", C.memberVariable = "property", C.constructorImplementation = "constructor", C.callSignature = "call", C.indexSignature = "index", C.constructSignature = "construct", C.parameter = "parameter", C.typeParameter = "type parameter", C.primitiveType = "primitive type", C.label = "label", C.alias = "alias", C.const = "const", C.let = "let", C.warning = "warning";
385
+ var w = /* @__PURE__ */ Object.create(null);
386
+ w[C.module] = r.SymbolKind.Module, w[C.class] = r.SymbolKind.Class, w[C.enum] = r.SymbolKind.Enum, w[C.interface] = r.SymbolKind.Interface, w[C.memberFunction] = r.SymbolKind.Method, w[C.memberVariable] = r.SymbolKind.Property, w[C.memberGetAccessor] = r.SymbolKind.Property, w[C.memberSetAccessor] = r.SymbolKind.Property, w[C.variable] = r.SymbolKind.Variable, w[C.const] = r.SymbolKind.Variable, w[C.localVariable] = r.SymbolKind.Variable, w[C.variable] = r.SymbolKind.Variable, w[C.function] = r.SymbolKind.Function, w[C.localFunction] = r.SymbolKind.Function;
387
+ var T = class extends f {
388
+ static _convertOptions(e) {
389
+ return {
390
+ ConvertTabsToSpaces: e.insertSpaces,
391
+ TabSize: e.tabSize,
392
+ IndentSize: e.tabSize,
393
+ IndentStyle: 2,
394
+ NewLineCharacter: "\n",
395
+ InsertSpaceAfterCommaDelimiter: !0,
396
+ InsertSpaceAfterSemicolonInForStatements: !0,
397
+ InsertSpaceBeforeAndAfterBinaryOperators: !0,
398
+ InsertSpaceAfterKeywordsInControlFlowStatements: !0,
399
+ InsertSpaceAfterFunctionKeywordForAnonymousFunctions: !0,
400
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1,
401
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1,
402
+ InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1,
403
+ PlaceOpenBraceOnNewLineForControlBlocks: !1,
404
+ PlaceOpenBraceOnNewLineForFunctions: !1
405
+ };
406
+ }
407
+ _convertTextChanges(e, t) {
408
+ return {
409
+ text: t.newText,
410
+ range: this._textSpanToRange(e, t.span)
411
+ };
412
+ }
413
+ }, E = class extends T {
414
+ constructor() {
415
+ super(...arguments), this.canFormatMultipleRanges = !1;
416
+ }
417
+ async provideDocumentRangeFormattingEdits(e, t, n, r) {
418
+ let i = e.uri, a = e.getOffsetAt({
419
+ lineNumber: t.startLineNumber,
420
+ column: t.startColumn
421
+ }), o = e.getOffsetAt({
422
+ lineNumber: t.endLineNumber,
423
+ column: t.endColumn
424
+ }), s = await this._worker(i);
425
+ if (e.isDisposed()) return;
426
+ let c = await s.getFormattingEditsForRange(i.toString(), a, o, T._convertOptions(n));
427
+ if (c && !e.isDisposed()) return c.map((t) => this._convertTextChanges(e, t));
428
+ }
429
+ }, D = class extends T {
430
+ get autoFormatTriggerCharacters() {
431
+ return [
432
+ ";",
433
+ "}",
434
+ "\n"
435
+ ];
436
+ }
437
+ async provideOnTypeFormattingEdits(e, t, n, r, i) {
438
+ let a = e.uri, o = e.getOffsetAt(t), s = await this._worker(a);
439
+ if (e.isDisposed()) return;
440
+ let c = await s.getFormattingEditsAfterKeystroke(a.toString(), o, n, T._convertOptions(r));
441
+ if (c && !e.isDisposed()) return c.map((t) => this._convertTextChanges(e, t));
442
+ }
443
+ }, O = class extends T {
444
+ async provideCodeActions(e, t, n, r) {
445
+ let i = e.uri, a = e.getOffsetAt({
446
+ lineNumber: t.startLineNumber,
447
+ column: t.startColumn
448
+ }), o = e.getOffsetAt({
449
+ lineNumber: t.endLineNumber,
450
+ column: t.endColumn
451
+ }), s = T._convertOptions(e.getOptions()), c = n.markers.filter((e) => e.code).map((e) => e.code).map(Number), l = await this._worker(i);
452
+ if (e.isDisposed()) return;
453
+ let u = await l.getCodeFixesAtPosition(i.toString(), a, o, c, s);
454
+ return !u || e.isDisposed() ? {
455
+ actions: [],
456
+ dispose: () => {}
457
+ } : {
458
+ actions: u.filter((e) => e.changes.filter((e) => e.isNewFile).length === 0).map((t) => this._tsCodeFixActionToMonacoCodeAction(e, n, t)),
459
+ dispose: () => {}
460
+ };
461
+ }
462
+ _tsCodeFixActionToMonacoCodeAction(e, t, n) {
463
+ let r = [];
464
+ for (let t of n.changes) for (let n of t.textChanges) r.push({
465
+ resource: e.uri,
466
+ versionId: void 0,
467
+ textEdit: {
468
+ range: this._textSpanToRange(e, n.span),
469
+ text: n.newText
470
+ }
471
+ });
472
+ return {
473
+ title: n.description,
474
+ edit: { edits: r },
475
+ diagnostics: t.markers,
476
+ kind: "quickfix"
477
+ };
478
+ }
479
+ }, k = class extends f {
480
+ constructor(e, t) {
481
+ super(t), this._libFiles = e;
482
+ }
483
+ async provideRenameEdits(e, t, n, r) {
484
+ let i = e.uri, a = i.toString(), o = e.getOffsetAt(t), s = await this._worker(i);
485
+ if (e.isDisposed()) return;
486
+ let c = await s.getRenameInfo(a, o, { allowRenameOfImportPath: !1 });
487
+ if (c.canRename === !1) return {
488
+ edits: [],
489
+ rejectReason: c.localizedErrorMessage
490
+ };
491
+ if (c.fileToRename !== void 0) throw Error("Renaming files is not supported.");
492
+ let l = await s.findRenameLocations(a, o, !1, !1, !1);
493
+ if (!l || e.isDisposed()) return;
494
+ let u = [];
495
+ for (let e of l) {
496
+ let t = this._libFiles.getOrCreateModel(e.fileName);
497
+ if (t) u.push({
498
+ resource: t.uri,
499
+ versionId: void 0,
500
+ textEdit: {
501
+ range: this._textSpanToRange(t, e.textSpan),
502
+ text: n
503
+ }
504
+ });
505
+ else throw Error(`Unknown file ${e.fileName}.`);
506
+ }
507
+ return { edits: u };
508
+ }
509
+ }, A = class extends f {
510
+ async provideInlayHints(e, t, n) {
511
+ let r = e.uri, i = r.toString(), a = e.getOffsetAt({
512
+ lineNumber: t.startLineNumber,
513
+ column: t.startColumn
514
+ }), o = e.getOffsetAt({
515
+ lineNumber: t.endLineNumber,
516
+ column: t.endColumn
517
+ }), s = await this._worker(r);
518
+ return e.isDisposed() ? null : {
519
+ hints: (await s.provideInlayHints(i, a, o)).map((t) => ({
520
+ ...t,
521
+ label: t.text,
522
+ position: e.getPositionAt(t.position),
523
+ kind: this._convertHintKind(t.kind)
524
+ })),
525
+ dispose: () => {}
526
+ };
527
+ }
528
+ _convertHintKind(e) {
529
+ switch (e) {
530
+ case "Parameter": return r.InlayHintKind.Parameter;
531
+ case "Type": return r.InlayHintKind.Type;
532
+ default: return r.InlayHintKind.Type;
533
+ }
534
+ }
535
+ }, j, M;
536
+ function N(e) {
537
+ M = L(e, "typescript");
538
+ }
539
+ function P(e) {
540
+ j = L(e, "javascript");
541
+ }
542
+ function F() {
543
+ return new Promise((e, t) => {
544
+ if (!j) return t("JavaScript not registered!");
545
+ e(j);
546
+ });
547
+ }
548
+ function I() {
549
+ return new Promise((e, t) => {
550
+ if (!M) return t("TypeScript not registered!");
551
+ e(M);
552
+ });
553
+ }
554
+ function L(e, t) {
555
+ let n = [], i = new c(t, e), a = (...e) => i.getLanguageServiceWorker(...e), o = new p(a);
556
+ function s() {
557
+ let { modeConfiguration: i } = e;
558
+ R(n), i.completionItems && n.push(r.registerCompletionItemProvider(t, new h(a))), i.signatureHelp && n.push(r.registerSignatureHelpProvider(t, new _(a))), i.hovers && n.push(r.registerHoverProvider(t, new v(a))), i.documentHighlights && n.push(r.registerDocumentHighlightProvider(t, new y(a))), i.definitions && n.push(r.registerDefinitionProvider(t, new b(o, a))), i.references && n.push(r.registerReferenceProvider(t, new x(o, a))), i.documentSymbols && n.push(r.registerDocumentSymbolProvider(t, new S(a))), i.rename && n.push(r.registerRenameProvider(t, new k(o, a))), i.documentRangeFormattingEdits && n.push(r.registerDocumentRangeFormattingEditProvider(t, new E(a))), i.onTypeFormattingEdits && n.push(r.registerOnTypeFormattingEditProvider(t, new D(a))), i.codeActions && n.push(r.registerCodeActionProvider(t, new O(a))), i.inlayHints && n.push(r.registerInlayHintsProvider(t, new A(a))), i.diagnostics && n.push(new m(o, e, t, a));
559
+ }
560
+ return s(), a;
561
+ }
562
+ function R(e) {
563
+ for (; e.length;) e.pop().dispose();
564
+ }
565
+ //#endregion
566
+ export { f as Adapter, O as CodeActionAdaptor, b as DefinitionAdapter, m as DiagnosticsAdapter, y as DocumentHighlightAdapter, E as FormatAdapter, T as FormatHelper, D as FormatOnTypeAdapter, A as InlayHintsAdapter, C as Kind, p as LibFiles, S as OutlineAdapter, v as QuickInfoAdapter, x as ReferenceAdapter, k as RenameAdapter, _ as SignatureHelpAdapter, h as SuggestAdapter, c as WorkerManager, u as flattenDiagnosticMessageText, F as getJavaScriptWorker, I as getTypeScriptWorker, P as setupJavaScript, N as setupTypeScript };