@volar/monaco 1.4.0-alpha.0 → 1.4.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/editor.js CHANGED
@@ -1,15 +1,6 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
1
+ "use strict";
10
2
  Object.defineProperty(exports, "__esModule", { value: true });
11
3
  exports.editor = void 0;
12
- const language_service_1 = require("@volar/language-service");
13
4
  const monaco_editor_core_1 = require("monaco-editor-core");
14
5
  const markers_1 = require("./utils/markers");
15
6
  const protocol2monaco = require("./utils/protocol2monaco");
@@ -34,11 +25,10 @@ var editor;
34
25
  }
35
26
  return { dispose: () => disposables.forEach((d) => d.dispose()) };
36
27
  function stopHostingMarkers(model) {
37
- var _a;
38
28
  editor.setModelMarkers(model, markersOwn, []);
39
29
  const key = model.uri.toString();
40
30
  if (listener.has(key)) {
41
- (_a = listener.get(key)) === null || _a === void 0 ? void 0 : _a.dispose();
31
+ listener.get(key)?.dispose();
42
32
  listener.delete(key);
43
33
  }
44
34
  }
@@ -68,29 +58,25 @@ var editor;
68
58
  });
69
59
  doValidation(model);
70
60
  }
71
- function doValidation(model) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- if (model.isDisposed()) {
74
- return;
75
- }
76
- if (!model.isAttachedToEditor()) {
77
- return;
78
- }
79
- const version = model.getVersionId();
80
- const languageService = yield worker.withSyncedResources(getSyncUris());
81
- const diagnostics = yield languageService.doValidation(model.uri.toString(), {
82
- get isCancellationRequested() {
83
- return model.getVersionId() !== version;
84
- },
85
- onCancellationRequested: language_service_1.Event.None,
86
- }, 'all');
87
- const result = diagnostics.map(error => {
88
- const marker = protocol2monaco.asMarkerData(error);
89
- markers_1.markers.set(marker, error);
90
- return marker;
91
- });
92
- editor.setModelMarkers(model, markersOwn, result);
61
+ async function doValidation(model) {
62
+ if (model.isDisposed()) {
63
+ return;
64
+ }
65
+ if (!model.isAttachedToEditor()) {
66
+ return;
67
+ }
68
+ const version = model.getVersionId();
69
+ const languageService = await worker.withSyncedResources(getSyncUris());
70
+ const diagnostics = await languageService.doValidation(model.uri.toString(), 'all');
71
+ if (model.getVersionId() !== version) {
72
+ return;
73
+ }
74
+ const result = diagnostics.map(error => {
75
+ const marker = protocol2monaco.asMarkerData(error);
76
+ markers_1.markers.set(marker, error);
77
+ return marker;
93
78
  });
79
+ editor.setModelMarkers(model, markersOwn, result);
94
80
  }
95
81
  }
96
82
  editor_1.activateMarkers = activateMarkers;
@@ -114,9 +100,8 @@ var editor;
114
100
  }
115
101
  return { dispose: () => disposables.forEach((d) => d.dispose()) };
116
102
  function stopHostingAutoInsertion(model) {
117
- var _a;
118
103
  if (listener.has(model)) {
119
- (_a = listener.get(model)) === null || _a === void 0 ? void 0 : _a.dispose();
104
+ listener.get(model)?.dispose();
120
105
  listener.delete(model);
121
106
  }
122
107
  }
@@ -138,47 +123,42 @@ var editor;
138
123
  doAutoInsert(model, lastChange);
139
124
  }));
140
125
  }
141
- function doAutoInsert(model, lastChange) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- if (timeout) {
144
- clearTimeout(timeout);
145
- timeout = undefined;
146
- }
147
- const version = model.getVersionId();
148
- timeout = setTimeout(() => {
149
- (() => __awaiter(this, void 0, void 0, function* () {
150
- var _a;
151
- if (model.getVersionId() !== version) {
152
- return;
126
+ async function doAutoInsert(model, lastChange) {
127
+ if (timeout) {
128
+ clearTimeout(timeout);
129
+ timeout = undefined;
130
+ }
131
+ const version = model.getVersionId();
132
+ timeout = setTimeout(() => {
133
+ (async () => {
134
+ if (model.getVersionId() !== version) {
135
+ return;
136
+ }
137
+ const position = new monaco_editor_core_1.Position(lastChange.range.startLineNumber, lastChange.range.startColumn + lastChange.text.length);
138
+ const languageService = await worker.withSyncedResources(getSyncUris());
139
+ const edit = await languageService.doAutoInsert(model.uri.toString(), monaco2protocol.asPosition(position), {
140
+ lastChange: {
141
+ range: monaco2protocol.asRange(lastChange.range),
142
+ rangeLength: lastChange.rangeLength,
143
+ text: lastChange.text,
144
+ rangeOffset: lastChange.rangeOffset,
145
+ },
146
+ });
147
+ if (model.getVersionId() !== version) {
148
+ return;
149
+ }
150
+ const codeEditor = editor.getEditors().find((e) => e.getModel() === model);
151
+ if (codeEditor && edit && model.getVersionId() === version) {
152
+ if (typeof edit === 'string') {
153
+ codeEditor?.getContribution('snippetController2')?.insert(edit);
153
154
  }
154
- const position = new monaco_editor_core_1.Position(lastChange.range.startLineNumber, lastChange.range.startColumn + lastChange.text.length);
155
- const languageService = yield worker.withSyncedResources(getSyncUris());
156
- const edit = yield languageService.doAutoInsert(model.uri.toString(), monaco2protocol.asPosition(position), {
157
- lastChange: {
158
- range: monaco2protocol.asRange(lastChange.range),
159
- rangeLength: lastChange.rangeLength,
160
- text: lastChange.text,
161
- rangeOffset: lastChange.rangeOffset,
162
- },
163
- }, {
164
- get isCancellationRequested() {
165
- return model.getVersionId() !== version;
166
- },
167
- onCancellationRequested: language_service_1.Event.None,
168
- });
169
- const codeEditor = editor.getEditors().find((e) => e.getModel() === model);
170
- if (codeEditor && edit && model.getVersionId() === version) {
171
- if (typeof edit === 'string') {
172
- (_a = codeEditor === null || codeEditor === void 0 ? void 0 : codeEditor.getContribution('snippetController2')) === null || _a === void 0 ? void 0 : _a.insert(edit);
173
- }
174
- else {
175
- model.pushEditOperations([], [protocol2monaco.asTextEdit(edit)], () => []);
176
- }
155
+ else {
156
+ model.pushEditOperations([], [protocol2monaco.asTextEdit(edit)], () => []);
177
157
  }
178
- }))();
179
- timeout = undefined;
180
- }, 100);
181
- });
158
+ }
159
+ })();
160
+ timeout = undefined;
161
+ }, 100);
182
162
  }
183
163
  }
184
164
  editor_1.activateAutoInsertion = activateAutoInsertion;
package/out/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
3
  if (k2 === undefined) k2 = k;
3
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
package/out/languages.js CHANGED
@@ -1,46 +1,38 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
1
+ "use strict";
10
2
  Object.defineProperty(exports, "__esModule", { value: true });
11
3
  exports.languages = void 0;
12
4
  const provider_1 = require("./utils/provider");
13
5
  var languages;
14
6
  (function (languages_1) {
15
- function registerProvides(worker, language, getSyncUris, languages) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- const provider = yield (0, provider_1.createLanguageFeaturesProvider)(worker, getSyncUris);
18
- const disposables = [
19
- languages.registerHoverProvider(language, provider),
20
- languages.registerReferenceProvider(language, provider),
21
- languages.registerRenameProvider(language, provider),
22
- languages.registerSignatureHelpProvider(language, provider),
23
- languages.registerDocumentSymbolProvider(language, provider),
24
- languages.registerDocumentHighlightProvider(language, provider),
25
- languages.registerLinkedEditingRangeProvider(language, provider),
26
- languages.registerDefinitionProvider(language, provider),
27
- languages.registerImplementationProvider(language, provider),
28
- languages.registerTypeDefinitionProvider(language, provider),
29
- languages.registerCodeLensProvider(language, provider),
30
- languages.registerCodeActionProvider(language, provider),
31
- languages.registerDocumentFormattingEditProvider(language, provider),
32
- languages.registerDocumentRangeFormattingEditProvider(language, provider),
33
- languages.registerOnTypeFormattingEditProvider(language, provider),
34
- languages.registerLinkProvider(language, provider),
35
- languages.registerCompletionItemProvider(language, provider),
36
- languages.registerColorProvider(language, provider),
37
- languages.registerFoldingRangeProvider(language, provider),
38
- languages.registerDeclarationProvider(language, provider),
39
- languages.registerSelectionRangeProvider(language, provider),
40
- languages.registerInlayHintsProvider(language, provider),
41
- ];
42
- return { dispose: () => disposables.forEach((d) => d.dispose()) };
43
- });
7
+ async function registerProvides(worker, language, getSyncUris, languages) {
8
+ const provider = await (0, provider_1.createLanguageFeaturesProvider)(worker, getSyncUris);
9
+ const disposables = [
10
+ languages.registerHoverProvider(language, provider),
11
+ languages.registerReferenceProvider(language, provider),
12
+ languages.registerRenameProvider(language, provider),
13
+ languages.registerSignatureHelpProvider(language, provider),
14
+ languages.registerDocumentSymbolProvider(language, provider),
15
+ languages.registerDocumentHighlightProvider(language, provider),
16
+ languages.registerLinkedEditingRangeProvider(language, provider),
17
+ languages.registerDefinitionProvider(language, provider),
18
+ languages.registerImplementationProvider(language, provider),
19
+ languages.registerTypeDefinitionProvider(language, provider),
20
+ languages.registerCodeLensProvider(language, provider),
21
+ languages.registerCodeActionProvider(language, provider),
22
+ languages.registerDocumentFormattingEditProvider(language, provider),
23
+ languages.registerDocumentRangeFormattingEditProvider(language, provider),
24
+ languages.registerOnTypeFormattingEditProvider(language, provider),
25
+ languages.registerLinkProvider(language, provider),
26
+ languages.registerCompletionItemProvider(language, provider),
27
+ languages.registerColorProvider(language, provider),
28
+ languages.registerFoldingRangeProvider(language, provider),
29
+ languages.registerDeclarationProvider(language, provider),
30
+ languages.registerSelectionRangeProvider(language, provider),
31
+ languages.registerInlayHintsProvider(language, provider),
32
+ languages.registerDocumentSemanticTokensProvider(language, provider),
33
+ languages.registerDocumentRangeSemanticTokensProvider(language, provider),
34
+ ];
35
+ return { dispose: () => disposables.forEach((d) => d.dispose()) };
44
36
  }
45
37
  languages_1.registerProvides = registerProvides;
46
38
  })(languages = exports.languages || (exports.languages = {}));
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.markers = void 0;
3
4
  exports.markers = new WeakMap();
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.asFormattingOptions = exports.asTriggerKind = exports.asMarkdownString = exports.asParameterInformation = exports.asSignatureInformation = exports.asSignatureHelp = exports.asSignatureHelpTriggerKind = exports.asSignatureHelpContext = exports.asCompletionContext = exports.asRange = exports.asPosition = void 0;
3
4
  const monaco_editor_core_1 = require("monaco-editor-core");
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  Object.defineProperty(exports, "__esModule", { value: true });
2
3
  exports.asPosition = exports.asInlayHintLabelPart = exports.asInlayHintLabel = exports.asInlayHintKind = exports.asInlayHint = exports.asSelectionRange = exports.asFoldingRange = exports.asColorPresentation = exports.asColorInformation = exports.asLink = exports.asCodeAction = exports.asCodeLens = exports.asDocumentHighlightKind = exports.asDocumentHighlight = exports.asSymbolKind = exports.asSymbolTag = exports.asDocumentSymbol = exports.asWorkspaceEdit = exports.asMarkerSeverity = exports.asRelatedInformation = exports.asMarkerTag = exports.asMarkerData = exports.asParameterInformation = exports.asSignatureInformation = exports.asSignatureHelp = exports.asUri = exports.asLocation = exports.asMarkdownString = exports.asHover = exports.asRange = exports.asCompletionItemRange = exports.asTextEdit = exports.asCommand = exports.asCompletionItem = exports.asCompletionItemKind = exports.asCompletionList = void 0;
3
4
  const monaco_editor_core_1 = require("monaco-editor-core");
@@ -67,7 +68,6 @@ function asCompletionItemKind(kind) {
67
68
  }
68
69
  exports.asCompletionItemKind = asCompletionItemKind;
69
70
  function asCompletionItem(item, range) {
70
- var _a, _b, _c, _d;
71
71
  return {
72
72
  label: item.label,
73
73
  kind: asCompletionItemKind(item.kind),
@@ -77,11 +77,11 @@ function asCompletionItem(item, range) {
77
77
  sortText: item.sortText,
78
78
  filterText: item.filterText,
79
79
  preselect: item.preselect,
80
- insertText: (_c = (_b = (_a = item.textEdit) === null || _a === void 0 ? void 0 : _a.newText) !== null && _b !== void 0 ? _b : item.insertText) !== null && _c !== void 0 ? _c : item.label,
80
+ insertText: item.textEdit?.newText ?? item.insertText ?? item.label,
81
81
  insertTextRules: monaco_editor_core_1.languages.CompletionItemInsertTextRule.InsertAsSnippet,
82
82
  range: item.textEdit ? asCompletionItemRange(item.textEdit) : asRange(range),
83
83
  commitCharacters: item.commitCharacters,
84
- additionalTextEdits: (_d = item.additionalTextEdits) === null || _d === void 0 ? void 0 : _d.map(asTextEdit),
84
+ additionalTextEdits: item.additionalTextEdits?.map(asTextEdit),
85
85
  command: item.command ? asCommand(item.command) : undefined,
86
86
  };
87
87
  }
@@ -160,11 +160,10 @@ function asUri(uri) {
160
160
  }
161
161
  exports.asUri = asUri;
162
162
  function asSignatureHelp(signatureHelp) {
163
- var _a, _b;
164
163
  return {
165
164
  signatures: signatureHelp.signatures.map(asSignatureInformation),
166
- activeSignature: (_a = signatureHelp.activeSignature) !== null && _a !== void 0 ? _a : 0,
167
- activeParameter: (_b = signatureHelp.activeParameter) !== null && _b !== void 0 ? _b : 0,
165
+ activeSignature: signatureHelp.activeSignature ?? 0,
166
+ activeParameter: signatureHelp.activeParameter ?? 0,
168
167
  };
169
168
  }
170
169
  exports.asSignatureHelp = asSignatureHelp;
@@ -187,8 +186,15 @@ function asParameterInformation(parameterInformation) {
187
186
  }
188
187
  exports.asParameterInformation = asParameterInformation;
189
188
  function asMarkerData(diagnostic) {
190
- var _a, _b, _c;
191
- return Object.assign(Object.assign({ code: (_a = diagnostic.code) === null || _a === void 0 ? void 0 : _a.toString(), severity: asMarkerSeverity(diagnostic.severity), message: diagnostic.message, source: diagnostic.source }, asRange(diagnostic.range)), { relatedInformation: (_b = diagnostic.relatedInformation) === null || _b === void 0 ? void 0 : _b.map(asRelatedInformation), tags: (_c = diagnostic.tags) === null || _c === void 0 ? void 0 : _c.map(asMarkerTag) });
189
+ return {
190
+ code: diagnostic.code?.toString(),
191
+ severity: asMarkerSeverity(diagnostic.severity),
192
+ message: diagnostic.message,
193
+ source: diagnostic.source,
194
+ ...asRange(diagnostic.range),
195
+ relatedInformation: diagnostic.relatedInformation?.map(asRelatedInformation),
196
+ tags: diagnostic.tags?.map(asMarkerTag),
197
+ };
192
198
  }
193
199
  exports.asMarkerData = asMarkerData;
194
200
  function asMarkerTag(tag) {
@@ -201,7 +207,11 @@ function asMarkerTag(tag) {
201
207
  }
202
208
  exports.asMarkerTag = asMarkerTag;
203
209
  function asRelatedInformation(relatedInformation) {
204
- return Object.assign({ resource: asUri(relatedInformation.location.uri), message: relatedInformation.message }, asRange(relatedInformation.location.range));
210
+ return {
211
+ resource: asUri(relatedInformation.location.uri),
212
+ message: relatedInformation.message,
213
+ ...asRange(relatedInformation.location.range),
214
+ };
205
215
  }
206
216
  exports.asRelatedInformation = asRelatedInformation;
207
217
  function asMarkerSeverity(severity) {
@@ -220,7 +230,6 @@ function asMarkerSeverity(severity) {
220
230
  }
221
231
  exports.asMarkerSeverity = asMarkerSeverity;
222
232
  function asWorkspaceEdit(workspaceEdit) {
223
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
224
233
  const result = {
225
234
  edits: [],
226
235
  };
@@ -243,7 +252,7 @@ function asWorkspaceEdit(workspaceEdit) {
243
252
  result.edits.push({
244
253
  resource: asUri(documentChange.textDocument.uri),
245
254
  textEdit: asTextEdit(edit),
246
- versionId: (_a = documentChange.textDocument.version) !== null && _a !== void 0 ? _a : undefined,
255
+ versionId: documentChange.textDocument.version ?? undefined,
247
256
  });
248
257
  }
249
258
  }
@@ -251,8 +260,8 @@ function asWorkspaceEdit(workspaceEdit) {
251
260
  result.edits.push({
252
261
  newResource: asUri(documentChange.uri),
253
262
  options: {
254
- overwrite: (_c = (_b = documentChange.options) === null || _b === void 0 ? void 0 : _b.overwrite) !== null && _c !== void 0 ? _c : false,
255
- ignoreIfExists: (_e = (_d = documentChange.options) === null || _d === void 0 ? void 0 : _d.ignoreIfExists) !== null && _e !== void 0 ? _e : false,
263
+ overwrite: documentChange.options?.overwrite ?? false,
264
+ ignoreIfExists: documentChange.options?.ignoreIfExists ?? false,
256
265
  },
257
266
  });
258
267
  }
@@ -261,8 +270,8 @@ function asWorkspaceEdit(workspaceEdit) {
261
270
  oldResource: asUri(documentChange.oldUri),
262
271
  newResource: asUri(documentChange.newUri),
263
272
  options: {
264
- overwrite: (_g = (_f = documentChange.options) === null || _f === void 0 ? void 0 : _f.overwrite) !== null && _g !== void 0 ? _g : false,
265
- ignoreIfExists: (_j = (_h = documentChange.options) === null || _h === void 0 ? void 0 : _h.ignoreIfExists) !== null && _j !== void 0 ? _j : false,
273
+ overwrite: documentChange.options?.overwrite ?? false,
274
+ ignoreIfExists: documentChange.options?.ignoreIfExists ?? false,
266
275
  },
267
276
  });
268
277
  }
@@ -270,8 +279,8 @@ function asWorkspaceEdit(workspaceEdit) {
270
279
  result.edits.push({
271
280
  oldResource: asUri(documentChange.uri),
272
281
  options: {
273
- recursive: (_l = (_k = documentChange.options) === null || _k === void 0 ? void 0 : _k.recursive) !== null && _l !== void 0 ? _l : false,
274
- ignoreIfNotExists: (_o = (_m = documentChange.options) === null || _m === void 0 ? void 0 : _m.ignoreIfNotExists) !== null && _o !== void 0 ? _o : false,
282
+ recursive: documentChange.options?.recursive ?? false,
283
+ ignoreIfNotExists: documentChange.options?.ignoreIfNotExists ?? false,
275
284
  },
276
285
  });
277
286
  }
@@ -281,12 +290,11 @@ function asWorkspaceEdit(workspaceEdit) {
281
290
  }
282
291
  exports.asWorkspaceEdit = asWorkspaceEdit;
283
292
  function asDocumentSymbol(symbol) {
284
- var _a, _b;
285
293
  return {
286
294
  name: symbol.name,
287
295
  detail: '',
288
296
  kind: asSymbolKind(symbol.kind),
289
- tags: (_b = (_a = symbol.tags) === null || _a === void 0 ? void 0 : _a.map(asSymbolTag)) !== null && _b !== void 0 ? _b : [],
297
+ tags: symbol.tags?.map(asSymbolTag) ?? [],
290
298
  range: asRange(symbol.range),
291
299
  selectionRange: asRange(symbol.selectionRange),
292
300
  children: symbol.children
@@ -389,7 +397,6 @@ function asCodeLens(item) {
389
397
  }
390
398
  exports.asCodeLens = asCodeLens;
391
399
  function asCodeAction(item) {
392
- var _a;
393
400
  return {
394
401
  title: item.title,
395
402
  command: item.command ? asCommand(item.command) : undefined,
@@ -399,7 +406,7 @@ function asCodeAction(item) {
399
406
  : undefined,
400
407
  kind: item.kind,
401
408
  isPreferred: item.isPreferred,
402
- disabled: (_a = item.disabled) === null || _a === void 0 ? void 0 : _a.reason,
409
+ disabled: item.disabled?.reason,
403
410
  };
404
411
  }
405
412
  exports.asCodeAction = asCodeAction;
@@ -429,12 +436,11 @@ function asColorPresentation(item) {
429
436
  }
430
437
  exports.asColorPresentation = asColorPresentation;
431
438
  function asFoldingRange(item) {
432
- var _a;
433
439
  return {
434
440
  start: item.startLine + 1,
435
441
  end: item.endLine + 1,
436
442
  kind: {
437
- value: (_a = item.kind) !== null && _a !== void 0 ? _a : '',
443
+ value: item.kind ?? '',
438
444
  },
439
445
  };
440
446
  }