@vrowzer/vite-plugin 0.0.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 (39) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +290 -0
  3. package/dist/ide/assets/css.worker-uWEFNxvl.js +89 -0
  4. package/dist/ide/assets/html.worker-1tLoAl5Z.js +502 -0
  5. package/dist/ide/assets/json.worker-CL3sVQd6.js +58 -0
  6. package/dist/ide/assets/ts.worker-BFpNHPy5.js +67719 -0
  7. package/dist/ide/css-CPSW8DVZ.js +286 -0
  8. package/dist/ide/cssMode-B5DtFEwy.js +65 -0
  9. package/dist/ide/graphql-BteLL2CG.js +176 -0
  10. package/dist/ide/handlebars-BcqMM6pa.js +412 -0
  11. package/dist/ide/html-CxO5OaJl.js +333 -0
  12. package/dist/ide/htmlMode-DxpUG2jm.js +74 -0
  13. package/dist/ide/ide.css +2 -0
  14. package/dist/ide/ide.js +5523 -0
  15. package/dist/ide/javascript-CvtLx4_Z.js +21 -0
  16. package/dist/ide/jsonMode-LVtiYWKr.js +449 -0
  17. package/dist/ide/less-BubkcFWW.js +244 -0
  18. package/dist/ide/lspLanguageFeatures-BDyekQt2.js +1455 -0
  19. package/dist/ide/markdown-DPB5N4OB.js +264 -0
  20. package/dist/ide/mdx-Sun87_nd.js +329 -0
  21. package/dist/ide/monaco.contribution-DVj8eGe_.js +116 -0
  22. package/dist/ide/pug-BONHZNEg.js +302 -0
  23. package/dist/ide/scss-0r6NeK1P.js +419 -0
  24. package/dist/ide/shell-Vh_eZpea.js +225 -0
  25. package/dist/ide/toggleHighContrast-DI4ZeqFk.js +113328 -0
  26. package/dist/ide/tsMode-BKTkt1bt.js +567 -0
  27. package/dist/ide/typescript-CHC4VYBW.js +257 -0
  28. package/dist/ide/workers-IG_hD8Jy.js +47 -0
  29. package/dist/ide/xml-C0QFzMaz.js +130 -0
  30. package/dist/ide/yaml-o-RP7lYY.js +223 -0
  31. package/dist/index.d.mts +138 -0
  32. package/dist/index.d.mts.map +1 -0
  33. package/dist/index.mjs +1335 -0
  34. package/dist/index.mjs.map +1 -0
  35. package/dist/manifest-generate.d.mts +89 -0
  36. package/dist/manifest-generate.d.mts.map +1 -0
  37. package/dist/manifest-generate.mjs +438 -0
  38. package/dist/manifest-generate.mjs.map +1 -0
  39. package/package.json +88 -0
@@ -0,0 +1,567 @@
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a } from "./toggleHighContrast-DI4ZeqFk.js";
2
+ import { t as o } from "./monaco.contribution-DVj8eGe_.js";
3
+ import { t as s } from "./workers-IG_hD8Jy.js";
4
+ //#region ../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/workerManager.js
5
+ var c = class {
6
+ constructor(e, t) {
7
+ 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());
8
+ }
9
+ dispose() {
10
+ this._configChangeListener.dispose(), this._extraLibsChangeListener.dispose(), this._stopWorker();
11
+ }
12
+ _stopWorker() {
13
+ this._worker &&= (this._worker.dispose(), null), this._client = null;
14
+ }
15
+ async _updateExtraLibs() {
16
+ if (!this._worker) return;
17
+ let e = ++this._updateExtraLibsToken, t = await this._worker.getProxy();
18
+ this._updateExtraLibsToken === e && t.updateExtraLibs(this._defaults.getExtraLibs());
19
+ }
20
+ _getClient() {
21
+ return this._client ||= (async () => (this._worker = s({
22
+ moduleId: "vs/language/typescript/tsWorker",
23
+ createWorker: () => new Worker(new URL(
24
+ /* @vite-ignore */
25
+ "/assets/ts.worker-BFpNHPy5.js",
26
+ "" + import.meta.url
27
+ ), { type: "module" }),
28
+ label: this._modeId,
29
+ keepIdleModels: !0,
30
+ createData: {
31
+ compilerOptions: this._defaults.getCompilerOptions(),
32
+ extraLibs: this._defaults.getExtraLibs(),
33
+ customWorkerPath: this._defaults.workerOptions.customWorkerPath,
34
+ inlayHintsOptions: this._defaults.inlayHintsOptions
35
+ }
36
+ }), this._defaults.getEagerModelSync() ? await this._worker.withSyncedResources(i.getModels().filter((e) => e.getLanguageId() === this._modeId).map((e) => e.uri)) : await this._worker.getProxy()))(), this._client;
37
+ }
38
+ async getLanguageServiceWorker(...e) {
39
+ let t = await this._getClient();
40
+ return this._worker && await this._worker.withSyncedResources(e), t;
41
+ }
42
+ }, l = {};
43
+ 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;
44
+ //#endregion
45
+ //#region ../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/languageFeatures.js
46
+ function u(e, t, n = 0) {
47
+ if (typeof e == "string") return e;
48
+ if (e === void 0) return "";
49
+ let r = "";
50
+ if (n) {
51
+ r += t;
52
+ for (let e = 0; e < n; e++) r += " ";
53
+ }
54
+ if (r += e.messageText, n++, e.next) for (let i of e.next) r += u(i, t, n);
55
+ return r;
56
+ }
57
+ function d(e) {
58
+ return e ? e.map((e) => e.text).join("") : "";
59
+ }
60
+ var f = class {
61
+ constructor(e) {
62
+ this._worker = e;
63
+ }
64
+ _textSpanToRange(e, t) {
65
+ let n = e.getPositionAt(t.start), r = e.getPositionAt(t.start + t.length), { lineNumber: i, column: a } = n, { lineNumber: o, column: s } = r;
66
+ return {
67
+ startLineNumber: i,
68
+ startColumn: a,
69
+ endLineNumber: o,
70
+ endColumn: s
71
+ };
72
+ }
73
+ }, p = class {
74
+ constructor(e) {
75
+ this._worker = e, this._libFiles = {}, this._hasFetchedLibFiles = !1, this._fetchLibFilesPromise = null;
76
+ }
77
+ isLibFile(e) {
78
+ return e && e.path.indexOf("/lib.") === 0 ? !!l[e.path.slice(1)] : !1;
79
+ }
80
+ getOrCreateModel(t) {
81
+ let n = e.parse(t), r = i.getModel(n);
82
+ if (r) return r;
83
+ if (this.isLibFile(n) && this._hasFetchedLibFiles) return i.createModel(this._libFiles[n.path.slice(1)], "typescript", n);
84
+ let a = o.getExtraLibs()[t];
85
+ return a ? i.createModel(a.content, "typescript", n) : null;
86
+ }
87
+ _containsLibFile(e) {
88
+ for (let t of e) if (this.isLibFile(t)) return !0;
89
+ return !1;
90
+ }
91
+ async fetchLibFilesIfNecessary(e) {
92
+ this._containsLibFile(e) && await this._fetchLibFiles();
93
+ }
94
+ _fetchLibFiles() {
95
+ return this._fetchLibFilesPromise ||= this._worker().then((e) => e.getLibFiles()).then((e) => {
96
+ this._hasFetchedLibFiles = !0, this._libFiles = e;
97
+ }), this._fetchLibFilesPromise;
98
+ }
99
+ }, m = class extends f {
100
+ constructor(e, t, n, r) {
101
+ super(r), this._libFiles = e, this._defaults = t, this._selector = n, this._disposables = [], this._listener = /* @__PURE__ */ Object.create(null);
102
+ let a = (e) => {
103
+ if (e.getLanguageId() !== n) return;
104
+ let t = () => {
105
+ let { onlyVisible: t } = this._defaults.getDiagnosticsOptions();
106
+ t ? e.isAttachedToEditor() && this._doValidate(e) : this._doValidate(e);
107
+ }, r, a = e.onDidChangeContent(() => {
108
+ clearTimeout(r), r = window.setTimeout(t, 500);
109
+ }), o = e.onDidChangeAttached(() => {
110
+ let { onlyVisible: n } = this._defaults.getDiagnosticsOptions();
111
+ n && (e.isAttachedToEditor() ? t() : i.setModelMarkers(e, this._selector, []));
112
+ });
113
+ this._listener[e.uri.toString()] = { dispose() {
114
+ a.dispose(), o.dispose(), clearTimeout(r);
115
+ } }, t();
116
+ }, o = (e) => {
117
+ i.setModelMarkers(e, this._selector, []);
118
+ let t = e.uri.toString();
119
+ this._listener[t] && (this._listener[t].dispose(), delete this._listener[t]);
120
+ };
121
+ this._disposables.push(i.onDidCreateModel((e) => a(e))), this._disposables.push(i.onWillDisposeModel(o)), this._disposables.push(i.onDidChangeModelLanguage((e) => {
122
+ o(e.model), a(e.model);
123
+ })), this._disposables.push({ dispose() {
124
+ for (let e of i.getModels()) o(e);
125
+ } });
126
+ let s = () => {
127
+ for (let e of i.getModels()) o(e), a(e);
128
+ };
129
+ this._disposables.push(this._defaults.onDidChange(s)), this._disposables.push(this._defaults.onDidExtraLibsChange(s)), i.getModels().forEach((e) => a(e));
130
+ }
131
+ dispose() {
132
+ this._disposables.forEach((e) => e && e.dispose()), this._disposables = [];
133
+ }
134
+ async _doValidate(t) {
135
+ let n = await this._worker(t.uri);
136
+ if (t.isDisposed()) return;
137
+ let r = [], { noSyntaxValidation: a, noSemanticValidation: o, noSuggestionDiagnostics: s } = this._defaults.getDiagnosticsOptions();
138
+ a || r.push(n.getSyntacticDiagnostics(t.uri.toString())), o || r.push(n.getSemanticDiagnostics(t.uri.toString())), s || r.push(n.getSuggestionDiagnostics(t.uri.toString()));
139
+ let c = await Promise.all(r);
140
+ if (!c || t.isDisposed()) return;
141
+ 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((t) => t.file ? e.parse(t.file.fileName) : null);
142
+ await this._libFiles.fetchLibFilesIfNecessary(u), !t.isDisposed() && i.setModelMarkers(t, this._selector, l.map((e) => this._convertDiagnostics(t, e)));
143
+ }
144
+ _convertDiagnostics(e, t) {
145
+ let n = t.start || 0, r = t.length || 1, { lineNumber: i, column: o } = e.getPositionAt(n), { lineNumber: s, column: c } = e.getPositionAt(n + r), l = [];
146
+ return t.reportsUnnecessary && l.push(a.Unnecessary), t.reportsDeprecated && l.push(a.Deprecated), {
147
+ severity: this._tsDiagnosticCategoryToMarkerSeverity(t.category),
148
+ startLineNumber: i,
149
+ startColumn: o,
150
+ endLineNumber: s,
151
+ endColumn: c,
152
+ message: u(t.messageText, "\n"),
153
+ code: t.code.toString(),
154
+ tags: l,
155
+ relatedInformation: this._convertRelatedInformation(e, t.relatedInformation)
156
+ };
157
+ }
158
+ _convertRelatedInformation(e, t) {
159
+ if (!t) return [];
160
+ let n = [];
161
+ return t.forEach((t) => {
162
+ let r = e;
163
+ if (t.file && (r = this._libFiles.getOrCreateModel(t.file.fileName)), !r) return;
164
+ let i = t.start || 0, a = t.length || 1, { lineNumber: o, column: s } = r.getPositionAt(i), { lineNumber: c, column: l } = r.getPositionAt(i + a);
165
+ n.push({
166
+ resource: r.uri,
167
+ startLineNumber: o,
168
+ startColumn: s,
169
+ endLineNumber: c,
170
+ endColumn: l,
171
+ message: u(t.messageText, "\n")
172
+ });
173
+ }), n;
174
+ }
175
+ _tsDiagnosticCategoryToMarkerSeverity(e) {
176
+ switch (e) {
177
+ case 1: return r.Error;
178
+ case 3: return r.Info;
179
+ case 0: return r.Warning;
180
+ case 2: return r.Hint;
181
+ }
182
+ return r.Info;
183
+ }
184
+ }, h = class e extends f {
185
+ get triggerCharacters() {
186
+ return ["."];
187
+ }
188
+ async provideCompletionItems(r, i, a, o) {
189
+ let s = r.getWordUntilPosition(i), c = new n(i.lineNumber, s.startColumn, i.lineNumber, s.endColumn), l = r.uri, u = r.getOffsetAt(i), d = await this._worker(l);
190
+ if (r.isDisposed()) return;
191
+ let f = await d.getCompletionsAtPosition(l.toString(), u);
192
+ if (!(!f || r.isDisposed())) return { suggestions: f.entries.map((a) => {
193
+ let o = c;
194
+ if (a.replacementSpan) {
195
+ let e = r.getPositionAt(a.replacementSpan.start), t = r.getPositionAt(a.replacementSpan.start + a.replacementSpan.length);
196
+ o = new n(e.lineNumber, e.column, t.lineNumber, t.column);
197
+ }
198
+ let s = [];
199
+ return a.kindModifiers !== void 0 && a.kindModifiers.indexOf("deprecated") !== -1 && s.push(t.CompletionItemTag.Deprecated), {
200
+ uri: l,
201
+ position: i,
202
+ offset: u,
203
+ range: o,
204
+ label: a.name,
205
+ insertText: a.name,
206
+ sortText: a.sortText,
207
+ kind: e.convertKind(a.kind),
208
+ tags: s
209
+ };
210
+ }) };
211
+ }
212
+ async resolveCompletionItem(t, n) {
213
+ let r = t, i = r.uri, a = r.position, o = r.offset, s = await (await this._worker(i)).getCompletionEntryDetails(i.toString(), o, r.label);
214
+ return s ? {
215
+ uri: i,
216
+ position: a,
217
+ label: s.name,
218
+ kind: e.convertKind(s.kind),
219
+ detail: d(s.displayParts),
220
+ documentation: { value: e.createDocumentationString(s) }
221
+ } : r;
222
+ }
223
+ static convertKind(e) {
224
+ switch (e) {
225
+ case C.primitiveType:
226
+ case C.keyword: return t.CompletionItemKind.Keyword;
227
+ case C.variable:
228
+ case C.localVariable: return t.CompletionItemKind.Variable;
229
+ case C.memberVariable:
230
+ case C.memberGetAccessor:
231
+ case C.memberSetAccessor: return t.CompletionItemKind.Field;
232
+ case C.function:
233
+ case C.memberFunction:
234
+ case C.constructSignature:
235
+ case C.callSignature:
236
+ case C.indexSignature: return t.CompletionItemKind.Function;
237
+ case C.enum: return t.CompletionItemKind.Enum;
238
+ case C.module: return t.CompletionItemKind.Module;
239
+ case C.class: return t.CompletionItemKind.Class;
240
+ case C.interface: return t.CompletionItemKind.Interface;
241
+ case C.warning: return t.CompletionItemKind.File;
242
+ }
243
+ return t.CompletionItemKind.Property;
244
+ }
245
+ static createDocumentationString(e) {
246
+ let t = d(e.documentation);
247
+ if (e.tags) for (let n of e.tags) t += `
248
+
249
+ ${g(n)}`;
250
+ return t;
251
+ }
252
+ };
253
+ function g(e) {
254
+ let t = `*@${e.name}*`;
255
+ if (e.name === "param" && e.text) {
256
+ let [n, ...r] = e.text;
257
+ t += `\`${n.text}\``, r.length > 0 && (t += ` \u2014 ${r.map((e) => e.text).join(" ")}`);
258
+ } else Array.isArray(e.text) ? t += ` \u2014 ${e.text.map((e) => e.text).join(" ")}` : e.text && (t += ` \u2014 ${e.text}`);
259
+ return t;
260
+ }
261
+ var _ = class e extends f {
262
+ constructor() {
263
+ super(...arguments), this.signatureHelpTriggerCharacters = ["(", ","];
264
+ }
265
+ static _toSignatureHelpTriggerReason(e) {
266
+ switch (e.triggerKind) {
267
+ case t.SignatureHelpTriggerKind.TriggerCharacter: return e.triggerCharacter ? e.isRetrigger ? {
268
+ kind: "retrigger",
269
+ triggerCharacter: e.triggerCharacter
270
+ } : {
271
+ kind: "characterTyped",
272
+ triggerCharacter: e.triggerCharacter
273
+ } : { kind: "invoked" };
274
+ case t.SignatureHelpTriggerKind.ContentChange: return e.isRetrigger ? { kind: "retrigger" } : { kind: "invoked" };
275
+ case t.SignatureHelpTriggerKind.Invoke:
276
+ default: return { kind: "invoked" };
277
+ }
278
+ }
279
+ async provideSignatureHelp(t, n, r, i) {
280
+ let a = t.uri, o = t.getOffsetAt(n), s = await this._worker(a);
281
+ if (t.isDisposed()) return;
282
+ let c = await s.getSignatureHelpItems(a.toString(), o, { triggerReason: e._toSignatureHelpTriggerReason(i) });
283
+ if (!c || t.isDisposed()) return;
284
+ let l = {
285
+ activeSignature: c.selectedItemIndex,
286
+ activeParameter: c.argumentIndex,
287
+ signatures: []
288
+ };
289
+ return c.items.forEach((e) => {
290
+ let t = {
291
+ label: "",
292
+ parameters: []
293
+ };
294
+ t.documentation = { value: d(e.documentation) }, t.label += d(e.prefixDisplayParts), e.parameters.forEach((n, r, i) => {
295
+ let a = d(n.displayParts), o = {
296
+ label: a,
297
+ documentation: { value: d(n.documentation) }
298
+ };
299
+ t.label += a, t.parameters.push(o), r < i.length - 1 && (t.label += d(e.separatorDisplayParts));
300
+ }), t.label += d(e.suffixDisplayParts), l.signatures.push(t);
301
+ }), {
302
+ value: l,
303
+ dispose() {}
304
+ };
305
+ }
306
+ }, v = class extends f {
307
+ async provideHover(e, t, n) {
308
+ let r = e.uri, i = e.getOffsetAt(t), a = await this._worker(r);
309
+ if (e.isDisposed()) return;
310
+ let o = await a.getQuickInfoAtPosition(r.toString(), i);
311
+ if (!o || e.isDisposed()) return;
312
+ let s = d(o.documentation), c = o.tags ? o.tags.map((e) => g(e)).join(" \n\n") : "", l = d(o.displayParts);
313
+ return {
314
+ range: this._textSpanToRange(e, o.textSpan),
315
+ contents: [{ value: "```typescript\n" + l + "\n```\n" }, { value: s + (c ? "\n\n" + c : "") }]
316
+ };
317
+ }
318
+ }, y = class extends f {
319
+ async provideDocumentHighlights(e, n, r) {
320
+ let i = e.uri, a = e.getOffsetAt(n), o = await this._worker(i);
321
+ if (e.isDisposed()) return;
322
+ let s = await o.getDocumentHighlights(i.toString(), a, [i.toString()]);
323
+ if (!(!s || e.isDisposed())) return s.flatMap((n) => n.highlightSpans.map((n) => ({
324
+ range: this._textSpanToRange(e, n.textSpan),
325
+ kind: n.kind === "writtenReference" ? t.DocumentHighlightKind.Write : t.DocumentHighlightKind.Text
326
+ })));
327
+ }
328
+ }, b = class extends f {
329
+ constructor(e, t) {
330
+ super(t), this._libFiles = e;
331
+ }
332
+ async provideDefinition(t, n, r) {
333
+ let i = t.uri, a = t.getOffsetAt(n), o = await this._worker(i);
334
+ if (t.isDisposed()) return;
335
+ let s = await o.getDefinitionAtPosition(i.toString(), a);
336
+ if (!s || t.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(s.map((t) => e.parse(t.fileName))), t.isDisposed())) return;
337
+ let c = [];
338
+ for (let e of s) {
339
+ let t = this._libFiles.getOrCreateModel(e.fileName);
340
+ t && c.push({
341
+ uri: t.uri,
342
+ range: this._textSpanToRange(t, e.textSpan)
343
+ });
344
+ }
345
+ return c;
346
+ }
347
+ }, x = class extends f {
348
+ constructor(e, t) {
349
+ super(t), this._libFiles = e;
350
+ }
351
+ async provideReferences(t, n, r, i) {
352
+ let a = t.uri, o = t.getOffsetAt(n), s = await this._worker(a);
353
+ if (t.isDisposed()) return;
354
+ let c = await s.getReferencesAtPosition(a.toString(), o);
355
+ if (!c || t.isDisposed() || (await this._libFiles.fetchLibFilesIfNecessary(c.map((t) => e.parse(t.fileName))), t.isDisposed())) return;
356
+ let l = [];
357
+ for (let e of c) {
358
+ let t = this._libFiles.getOrCreateModel(e.fileName);
359
+ t && l.push({
360
+ uri: t.uri,
361
+ range: this._textSpanToRange(t, e.textSpan)
362
+ });
363
+ }
364
+ return l;
365
+ }
366
+ }, S = class extends f {
367
+ async provideDocumentSymbols(e, n) {
368
+ let r = e.uri, i = await this._worker(r);
369
+ if (e.isDisposed()) return;
370
+ let a = await i.getNavigationTree(r.toString());
371
+ if (!a || e.isDisposed()) return;
372
+ let o = (n, r) => ({
373
+ name: n.text,
374
+ detail: "",
375
+ kind: w[n.kind] || t.SymbolKind.Variable,
376
+ range: this._textSpanToRange(e, n.spans[0]),
377
+ selectionRange: this._textSpanToRange(e, n.spans[0]),
378
+ tags: [],
379
+ children: n.childItems?.map((e) => o(e, n.text)),
380
+ containerName: r
381
+ });
382
+ return a.childItems ? a.childItems.map((e) => o(e)) : [];
383
+ }
384
+ }, C = class {};
385
+ 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";
386
+ var w = /* @__PURE__ */ Object.create(null);
387
+ w[C.module] = t.SymbolKind.Module, w[C.class] = t.SymbolKind.Class, w[C.enum] = t.SymbolKind.Enum, w[C.interface] = t.SymbolKind.Interface, w[C.memberFunction] = t.SymbolKind.Method, w[C.memberVariable] = t.SymbolKind.Property, w[C.memberGetAccessor] = t.SymbolKind.Property, w[C.memberSetAccessor] = t.SymbolKind.Property, w[C.variable] = t.SymbolKind.Variable, w[C.const] = t.SymbolKind.Variable, w[C.localVariable] = t.SymbolKind.Variable, w[C.variable] = t.SymbolKind.Variable, w[C.function] = t.SymbolKind.Function, w[C.localFunction] = t.SymbolKind.Function;
388
+ var T = class extends f {
389
+ static _convertOptions(e) {
390
+ return {
391
+ ConvertTabsToSpaces: e.insertSpaces,
392
+ TabSize: e.tabSize,
393
+ IndentSize: e.tabSize,
394
+ IndentStyle: 2,
395
+ NewLineCharacter: "\n",
396
+ InsertSpaceAfterCommaDelimiter: !0,
397
+ InsertSpaceAfterSemicolonInForStatements: !0,
398
+ InsertSpaceBeforeAndAfterBinaryOperators: !0,
399
+ InsertSpaceAfterKeywordsInControlFlowStatements: !0,
400
+ InsertSpaceAfterFunctionKeywordForAnonymousFunctions: !0,
401
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: !1,
402
+ InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: !1,
403
+ InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: !1,
404
+ PlaceOpenBraceOnNewLineForControlBlocks: !1,
405
+ PlaceOpenBraceOnNewLineForFunctions: !1
406
+ };
407
+ }
408
+ _convertTextChanges(e, t) {
409
+ return {
410
+ text: t.newText,
411
+ range: this._textSpanToRange(e, t.span)
412
+ };
413
+ }
414
+ }, E = class extends T {
415
+ constructor() {
416
+ super(...arguments), this.canFormatMultipleRanges = !1;
417
+ }
418
+ async provideDocumentRangeFormattingEdits(e, t, n, r) {
419
+ let i = e.uri, a = e.getOffsetAt({
420
+ lineNumber: t.startLineNumber,
421
+ column: t.startColumn
422
+ }), o = e.getOffsetAt({
423
+ lineNumber: t.endLineNumber,
424
+ column: t.endColumn
425
+ }), s = await this._worker(i);
426
+ if (e.isDisposed()) return;
427
+ let c = await s.getFormattingEditsForRange(i.toString(), a, o, T._convertOptions(n));
428
+ if (!(!c || e.isDisposed())) return c.map((t) => this._convertTextChanges(e, t));
429
+ }
430
+ }, D = class extends T {
431
+ get autoFormatTriggerCharacters() {
432
+ return [
433
+ ";",
434
+ "}",
435
+ "\n"
436
+ ];
437
+ }
438
+ async provideOnTypeFormattingEdits(e, t, n, r, i) {
439
+ let a = e.uri, o = e.getOffsetAt(t), s = await this._worker(a);
440
+ if (e.isDisposed()) return;
441
+ let c = await s.getFormattingEditsAfterKeystroke(a.toString(), o, n, T._convertOptions(r));
442
+ if (!(!c || e.isDisposed())) return c.map((t) => this._convertTextChanges(e, t));
443
+ }
444
+ }, O = class extends T {
445
+ async provideCodeActions(e, t, n, r) {
446
+ let i = e.uri, a = e.getOffsetAt({
447
+ lineNumber: t.startLineNumber,
448
+ column: t.startColumn
449
+ }), o = e.getOffsetAt({
450
+ lineNumber: t.endLineNumber,
451
+ column: t.endColumn
452
+ }), s = T._convertOptions(e.getOptions()), c = n.markers.filter((e) => e.code).map((e) => e.code).map(Number), l = await this._worker(i);
453
+ if (e.isDisposed()) return;
454
+ let u = await l.getCodeFixesAtPosition(i.toString(), a, o, c, s);
455
+ return !u || e.isDisposed() ? {
456
+ actions: [],
457
+ dispose: () => {}
458
+ } : {
459
+ actions: u.filter((e) => e.changes.filter((e) => e.isNewFile).length === 0).map((t) => this._tsCodeFixActionToMonacoCodeAction(e, n, t)),
460
+ dispose: () => {}
461
+ };
462
+ }
463
+ _tsCodeFixActionToMonacoCodeAction(e, t, n) {
464
+ let r = [];
465
+ for (let t of n.changes) for (let n of t.textChanges) r.push({
466
+ resource: e.uri,
467
+ versionId: void 0,
468
+ textEdit: {
469
+ range: this._textSpanToRange(e, n.span),
470
+ text: n.newText
471
+ }
472
+ });
473
+ return {
474
+ title: n.description,
475
+ edit: { edits: r },
476
+ diagnostics: t.markers,
477
+ kind: "quickfix"
478
+ };
479
+ }
480
+ }, k = class extends f {
481
+ constructor(e, t) {
482
+ super(t), this._libFiles = e;
483
+ }
484
+ async provideRenameEdits(e, t, n, r) {
485
+ let i = e.uri, a = i.toString(), o = e.getOffsetAt(t), s = await this._worker(i);
486
+ if (e.isDisposed()) return;
487
+ let c = await s.getRenameInfo(a, o, { allowRenameOfImportPath: !1 });
488
+ if (c.canRename === !1) return {
489
+ edits: [],
490
+ rejectReason: c.localizedErrorMessage
491
+ };
492
+ if (c.fileToRename !== void 0) throw Error("Renaming files is not supported.");
493
+ let l = await s.findRenameLocations(a, o, !1, !1, !1);
494
+ if (!l || e.isDisposed()) return;
495
+ let u = [];
496
+ for (let e of l) {
497
+ let t = this._libFiles.getOrCreateModel(e.fileName);
498
+ if (t) u.push({
499
+ resource: t.uri,
500
+ versionId: void 0,
501
+ textEdit: {
502
+ range: this._textSpanToRange(t, e.textSpan),
503
+ text: n
504
+ }
505
+ });
506
+ else throw Error(`Unknown file ${e.fileName}.`);
507
+ }
508
+ return { edits: u };
509
+ }
510
+ }, A = class extends f {
511
+ async provideInlayHints(e, t, n) {
512
+ let r = e.uri, i = r.toString(), a = e.getOffsetAt({
513
+ lineNumber: t.startLineNumber,
514
+ column: t.startColumn
515
+ }), o = e.getOffsetAt({
516
+ lineNumber: t.endLineNumber,
517
+ column: t.endColumn
518
+ }), s = await this._worker(r);
519
+ return e.isDisposed() ? null : {
520
+ hints: (await s.provideInlayHints(i, a, o)).map((t) => ({
521
+ ...t,
522
+ label: t.text,
523
+ position: e.getPositionAt(t.position),
524
+ kind: this._convertHintKind(t.kind)
525
+ })),
526
+ dispose: () => {}
527
+ };
528
+ }
529
+ _convertHintKind(e) {
530
+ switch (e) {
531
+ case "Parameter": return t.InlayHintKind.Parameter;
532
+ case "Type": return t.InlayHintKind.Type;
533
+ default: return t.InlayHintKind.Type;
534
+ }
535
+ }
536
+ }, j, M;
537
+ function N(e) {
538
+ M = L(e, "typescript");
539
+ }
540
+ function P(e) {
541
+ j = L(e, "javascript");
542
+ }
543
+ function F() {
544
+ return new Promise((e, t) => {
545
+ if (!j) return t("JavaScript not registered!");
546
+ e(j);
547
+ });
548
+ }
549
+ function I() {
550
+ return new Promise((e, t) => {
551
+ if (!M) return t("TypeScript not registered!");
552
+ e(M);
553
+ });
554
+ }
555
+ function L(e, n) {
556
+ let r = [], i = new c(n, e), a = (...e) => i.getLanguageServiceWorker(...e), o = new p(a);
557
+ function s() {
558
+ let { modeConfiguration: i } = e;
559
+ R(r), i.completionItems && r.push(t.registerCompletionItemProvider(n, new h(a))), i.signatureHelp && r.push(t.registerSignatureHelpProvider(n, new _(a))), i.hovers && r.push(t.registerHoverProvider(n, new v(a))), i.documentHighlights && r.push(t.registerDocumentHighlightProvider(n, new y(a))), i.definitions && r.push(t.registerDefinitionProvider(n, new b(o, a))), i.references && r.push(t.registerReferenceProvider(n, new x(o, a))), i.documentSymbols && r.push(t.registerDocumentSymbolProvider(n, new S(a))), i.rename && r.push(t.registerRenameProvider(n, new k(o, a))), i.documentRangeFormattingEdits && r.push(t.registerDocumentRangeFormattingEditProvider(n, new E(a))), i.onTypeFormattingEdits && r.push(t.registerOnTypeFormattingEditProvider(n, new D(a))), i.codeActions && r.push(t.registerCodeActionProvider(n, new O(a))), i.inlayHints && r.push(t.registerInlayHintsProvider(n, new A(a))), i.diagnostics && r.push(new m(o, e, n, a));
560
+ }
561
+ return s(), a;
562
+ }
563
+ function R(e) {
564
+ for (; e.length;) e.pop().dispose();
565
+ }
566
+ //#endregion
567
+ 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 };