monaco-lsp-bridge 0.0.3 → 0.0.4
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/lib/{ts/index.d.ts → client.d.ts} +14 -4
- package/lib/client.d.ts.map +1 -0
- package/lib/{esm/index.js → client.js} +103 -21
- package/lib/client.js.map +1 -0
- package/lib/error.d.ts.map +1 -0
- package/lib/error.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -0
- package/lib/{ts/protocol.d.ts → protocol.d.ts} +14 -1
- package/lib/protocol.d.ts.map +1 -0
- package/lib/protocol.js.map +1 -0
- package/lib/transform.d.ts +44 -0
- package/lib/transform.d.ts.map +1 -0
- package/lib/{esm/transform.js → transform.js} +177 -13
- package/lib/transform.js.map +1 -0
- package/lib/{ts/transport.d.ts → transport.d.ts} +8 -1
- package/lib/transport.d.ts.map +1 -0
- package/lib/{esm/transport.js → transport.js} +51 -3
- package/lib/transport.js.map +1 -0
- package/package.json +15 -25
- package/tsconfig.json +4 -4
- package/lib/cjs/error.js +0 -50
- package/lib/cjs/error.js.map +0 -1
- package/lib/cjs/index.js +0 -594
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/protocol.js +0 -46
- package/lib/cjs/protocol.js.map +0 -1
- package/lib/cjs/transform.js +0 -264
- package/lib/cjs/transform.js.map +0 -1
- package/lib/cjs/transport.js +0 -263
- package/lib/cjs/transport.js.map +0 -1
- package/lib/esm/error.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/protocol.js.map +0 -1
- package/lib/esm/transform.js.map +0 -1
- package/lib/esm/transport.js.map +0 -1
- package/lib/ts/error.d.ts.map +0 -1
- package/lib/ts/index.d.ts.map +0 -1
- package/lib/ts/protocol.d.ts.map +0 -1
- package/lib/ts/transform.d.ts +0 -21
- package/lib/ts/transform.d.ts.map +0 -1
- package/lib/ts/transport.d.ts.map +0 -1
- package/src/error.ts +0 -49
- package/src/index.ts +0 -709
- package/src/protocol.ts +0 -159
- package/src/transform.ts +0 -300
- package/src/transport.ts +0 -336
- /package/lib/{ts/error.d.ts → error.d.ts} +0 -0
- /package/lib/{esm/error.js → error.js} +0 -0
- /package/lib/{esm/protocol.js → protocol.js} +0 -0
|
@@ -3,8 +3,6 @@ import type * as monaco from 'monaco-editor';
|
|
|
3
3
|
import { Transport } from './transport.js';
|
|
4
4
|
import { ProgressPayload } from './protocol.js';
|
|
5
5
|
import type { LspError } from './error.js';
|
|
6
|
-
export type * from './protocol.js';
|
|
7
|
-
export * from './transport.js';
|
|
8
6
|
type Monaco = typeof monaco;
|
|
9
7
|
export type ClientEvent = {
|
|
10
8
|
type: 'initialized';
|
|
@@ -42,6 +40,7 @@ export declare class LspMonacoClient {
|
|
|
42
40
|
private initialized;
|
|
43
41
|
private eventHandlers;
|
|
44
42
|
private syncKind;
|
|
43
|
+
private syncChange;
|
|
45
44
|
private readonly MARKER_OWNER;
|
|
46
45
|
/** Construct a Monaco LSP client bound to an endpoint */
|
|
47
46
|
constructor(endpoint: Transport, options: MonacoLspClientOptions);
|
|
@@ -57,6 +56,16 @@ export declare class LspMonacoClient {
|
|
|
57
56
|
dispose(): Promise<void>;
|
|
58
57
|
/** Register Monaco features based on server-reported capabilities */
|
|
59
58
|
private applyServerCapabilities;
|
|
59
|
+
/** textDocument + position params for the current model/position */
|
|
60
|
+
private posParams;
|
|
61
|
+
/** Send a cancellable LSP request, returning `fallback` on cancellation/error */
|
|
62
|
+
private ask;
|
|
63
|
+
/** Register a Monaco provider built from the active monaco instance */
|
|
64
|
+
private register;
|
|
65
|
+
/** Build a position-based location resolver for definition-like providers */
|
|
66
|
+
private location;
|
|
67
|
+
/** Wire navigation, signature, symbol, folding, rename and code-action providers */
|
|
68
|
+
private registerLanguageFeatures;
|
|
60
69
|
/** Register hover provider backed by the LSP server */
|
|
61
70
|
private registerHoverProvider;
|
|
62
71
|
/** Register Monaco completion provider backed by the LSP server */
|
|
@@ -67,7 +76,7 @@ export declare class LspMonacoClient {
|
|
|
67
76
|
private registerRangeFormattingProvider;
|
|
68
77
|
/** Register on-type formatting provider backed by the LSP server */
|
|
69
78
|
private registerOnTypeFormattingProvider;
|
|
70
|
-
/** Send textDocument/didChange according to server sync kind */
|
|
79
|
+
/** Send textDocument/didChange for the changed model according to server sync kind */
|
|
71
80
|
private handleContentChange;
|
|
72
81
|
/** Handle model open/close and send didOpen/didClose notifications */
|
|
73
82
|
private handleModelChange;
|
|
@@ -75,4 +84,5 @@ export declare class LspMonacoClient {
|
|
|
75
84
|
private wireDiagnostics;
|
|
76
85
|
private static CAPABILITIES;
|
|
77
86
|
}
|
|
78
|
-
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { toMonacoCompletionItem, toLspPosition, toLspRange, toLspCompletionItem, mergeResolvedCompletionItem, toMonacoMarkers, toMonacoTextEdits, lspHoverToMonaco, } from './transform.js';
|
|
1
|
+
import { toMonacoCompletionItem, toLspPosition, toLspRange, toLspCompletionItem, mergeResolvedCompletionItem, toMonacoMarkers, toMonacoTextEdits, lspHoverToMonaco, toMonacoLocations, toMonacoLocation, toMonacoHighlights, toMonacoSignatureHelp, toMonacoSymbols, toMonacoFoldingRanges, toMonacoWorkspaceEdit, toMonacoRenameLocation, toMonacoCodeActions, toMonacoCodeAction, getLspCodeAction, toLspDiagnostics, } from './transform.js';
|
|
2
2
|
import { LspTransport } from './transport.js';
|
|
3
|
-
export * from './transport.js';
|
|
4
3
|
export class LspMonacoClient {
|
|
5
4
|
options;
|
|
6
5
|
static CLIENT_NAME = 'monaco-lsp-bridge';
|
|
@@ -13,6 +12,7 @@ export class LspMonacoClient {
|
|
|
13
12
|
initialized = false;
|
|
14
13
|
eventHandlers = new Set();
|
|
15
14
|
syncKind = 0; // 0=None, 1=Full, 2=Incremental
|
|
15
|
+
syncChange = false; // whether the server wants didChange notifications
|
|
16
16
|
MARKER_OWNER = 'lsp-diagnostics';
|
|
17
17
|
/** Construct a Monaco LSP client bound to an endpoint */
|
|
18
18
|
constructor(endpoint, options) {
|
|
@@ -57,15 +57,15 @@ export class LspMonacoClient {
|
|
|
57
57
|
/** Initialize the LSP server connection and capabilities */
|
|
58
58
|
async initialize() {
|
|
59
59
|
try {
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
processId: typeof process !== 'undefined' ? process.pid : null,
|
|
60
|
+
const params = this.options.initialParams ?? {
|
|
61
|
+
processId: globalThis.process?.pid ?? null,
|
|
63
62
|
rootUri: null,
|
|
64
63
|
clientInfo: { name: LspMonacoClient.CLIENT_NAME, version: LspMonacoClient.CLIENT_VERSION },
|
|
65
64
|
locale: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
|
|
66
65
|
capabilities: LspMonacoClient.CAPABILITIES,
|
|
67
66
|
// Omit workspaceFolders (we advertise false)
|
|
68
|
-
}
|
|
67
|
+
};
|
|
68
|
+
const init = await this.binding.sendRequest('initialize', params);
|
|
69
69
|
if (!init.cancelled && init.result?.capabilities) {
|
|
70
70
|
this.initialized = true;
|
|
71
71
|
this.emit({ type: 'initialized', capabilities: init.result.capabilities });
|
|
@@ -130,13 +130,11 @@ export class LspMonacoClient {
|
|
|
130
130
|
const enableOpenClose = typeof sync === 'object' ? !!sync.openClose : sync !== undefined && sync !== 0;
|
|
131
131
|
// Change supported for Full/Incremental
|
|
132
132
|
const enableChange = this.syncKind === 1 || this.syncKind === 2;
|
|
133
|
+
this.syncChange = enableChange;
|
|
133
134
|
if (enableOpenClose) {
|
|
134
135
|
this.handleModelChange({ oldModelUrl: null, newModelUrl: this.editor.getModel()?.uri ?? null });
|
|
135
136
|
this.binding.addDisposable(this.editor.onDidChangeModel((e) => this.handleModelChange(e)));
|
|
136
137
|
}
|
|
137
|
-
if (enableChange) {
|
|
138
|
-
this.binding.addDisposable(this.editor.onDidChangeModelContent((e) => this.handleContentChange(e)));
|
|
139
|
-
}
|
|
140
138
|
if (caps.completionProvider)
|
|
141
139
|
this.registerCompletionProvider(caps.completionProvider);
|
|
142
140
|
if (caps.hoverProvider)
|
|
@@ -147,9 +145,93 @@ export class LspMonacoClient {
|
|
|
147
145
|
this.registerRangeFormattingProvider();
|
|
148
146
|
if (caps.documentOnTypeFormattingProvider)
|
|
149
147
|
this.registerOnTypeFormattingProvider(caps.documentOnTypeFormattingProvider);
|
|
148
|
+
this.registerLanguageFeatures(caps);
|
|
150
149
|
// Listen for diagnostics
|
|
151
150
|
this.wireDiagnostics();
|
|
152
151
|
}
|
|
152
|
+
// ---------------- Provider helpers ----------------
|
|
153
|
+
/** textDocument + position params for the current model/position */
|
|
154
|
+
posParams(model, position) {
|
|
155
|
+
return { textDocument: { uri: model.uri.toString() }, position: toLspPosition(position) };
|
|
156
|
+
}
|
|
157
|
+
/** Send a cancellable LSP request, returning `fallback` on cancellation/error */
|
|
158
|
+
ask(token, method, params, fallback) {
|
|
159
|
+
return withCancellation(token, (p) => this.binding.sendRequest(method, params, p), fallback);
|
|
160
|
+
}
|
|
161
|
+
/** Register a Monaco provider built from the active monaco instance */
|
|
162
|
+
register(fn) {
|
|
163
|
+
if (this.monaco)
|
|
164
|
+
this.binding.addDisposable(fn(this.monaco));
|
|
165
|
+
}
|
|
166
|
+
/** Build a position-based location resolver for definition-like providers */
|
|
167
|
+
location(method) {
|
|
168
|
+
return (model, position, token) => this.ask(token, method, this.posParams(model, position), null).then((r) => toMonacoLocations(this.monaco, r));
|
|
169
|
+
}
|
|
170
|
+
/** Wire navigation, signature, symbol, folding, rename and code-action providers */
|
|
171
|
+
registerLanguageFeatures(caps) {
|
|
172
|
+
const sel = this.options.languageSelector;
|
|
173
|
+
if (caps.definitionProvider)
|
|
174
|
+
this.register((m) => m.languages.registerDefinitionProvider(sel, { provideDefinition: this.location('textDocument/definition') }));
|
|
175
|
+
if (caps.typeDefinitionProvider)
|
|
176
|
+
this.register((m) => m.languages.registerTypeDefinitionProvider(sel, {
|
|
177
|
+
provideTypeDefinition: this.location('textDocument/typeDefinition'),
|
|
178
|
+
}));
|
|
179
|
+
if (caps.implementationProvider)
|
|
180
|
+
this.register((m) => m.languages.registerImplementationProvider(sel, {
|
|
181
|
+
provideImplementation: this.location('textDocument/implementation'),
|
|
182
|
+
}));
|
|
183
|
+
if (caps.declarationProvider)
|
|
184
|
+
this.register((m) => m.languages.registerDeclarationProvider(sel, { provideDeclaration: this.location('textDocument/declaration') }));
|
|
185
|
+
if (caps.referencesProvider)
|
|
186
|
+
this.register((m) => m.languages.registerReferenceProvider(sel, {
|
|
187
|
+
provideReferences: (model, position, context, token) => this.ask(token, 'textDocument/references', { ...this.posParams(model, position), context: { includeDeclaration: context.includeDeclaration } }, null).then((r) => (r ?? []).map((loc) => toMonacoLocation(m, loc))),
|
|
188
|
+
}));
|
|
189
|
+
if (caps.documentHighlightProvider)
|
|
190
|
+
this.register((m) => m.languages.registerDocumentHighlightProvider(sel, {
|
|
191
|
+
provideDocumentHighlights: (model, position, token) => this.ask(token, 'textDocument/documentHighlight', this.posParams(model, position), null).then((r) => r ? toMonacoHighlights(m, r) : []),
|
|
192
|
+
}));
|
|
193
|
+
if (caps.signatureHelpProvider) {
|
|
194
|
+
const sig = caps.signatureHelpProvider;
|
|
195
|
+
this.register((m) => m.languages.registerSignatureHelpProvider(sel, {
|
|
196
|
+
signatureHelpTriggerCharacters: sig.triggerCharacters,
|
|
197
|
+
signatureHelpRetriggerCharacters: sig.retriggerCharacters,
|
|
198
|
+
provideSignatureHelp: (model, position, token) => this.ask(token, 'textDocument/signatureHelp', this.posParams(model, position), null).then((r) => r ? { value: toMonacoSignatureHelp(r), dispose() { } } : null),
|
|
199
|
+
}));
|
|
200
|
+
}
|
|
201
|
+
if (caps.documentSymbolProvider)
|
|
202
|
+
this.register((m) => m.languages.registerDocumentSymbolProvider(sel, {
|
|
203
|
+
provideDocumentSymbols: (model, token) => this.ask(token, 'textDocument/documentSymbol', { textDocument: { uri: model.uri.toString() } }, null).then((r) => (r ? toMonacoSymbols(r) : [])),
|
|
204
|
+
}));
|
|
205
|
+
if (caps.foldingRangeProvider)
|
|
206
|
+
this.register((m) => m.languages.registerFoldingRangeProvider(sel, {
|
|
207
|
+
provideFoldingRanges: (model, _ctx, token) => this.ask(token, 'textDocument/foldingRange', { textDocument: { uri: model.uri.toString() } }, null).then((r) => (r ? toMonacoFoldingRanges(m, r) : [])),
|
|
208
|
+
}));
|
|
209
|
+
if (caps.renameProvider) {
|
|
210
|
+
const prepare = typeof caps.renameProvider === 'object' && !!caps.renameProvider.prepareProvider;
|
|
211
|
+
this.register((m) => m.languages.registerRenameProvider(sel, {
|
|
212
|
+
provideRenameEdits: (model, position, newName, token) => this.ask(token, 'textDocument/rename', { ...this.posParams(model, position), newName }, null).then((r) => r ? toMonacoWorkspaceEdit(m, r) : { edits: [], rejectReason: 'The element cannot be renamed.' }),
|
|
213
|
+
resolveRenameLocation: prepare
|
|
214
|
+
? (model, position, token) => this.ask(token, 'textDocument/prepareRename', this.posParams(model, position), null).then((r) => toMonacoRenameLocation(m, model, position, r))
|
|
215
|
+
: undefined,
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
218
|
+
if (caps.codeActionProvider) {
|
|
219
|
+
const resolve = typeof caps.codeActionProvider === 'object' && !!caps.codeActionProvider.resolveProvider;
|
|
220
|
+
this.register((m) => m.languages.registerCodeActionProvider(sel, {
|
|
221
|
+
provideCodeActions: (model, range, context, token) => this.ask(token, 'textDocument/codeAction', {
|
|
222
|
+
textDocument: { uri: model.uri.toString() },
|
|
223
|
+
range: toLspRange(range),
|
|
224
|
+
context: {
|
|
225
|
+
diagnostics: toLspDiagnostics(m, context.markers),
|
|
226
|
+
...(context.only ? { only: [context.only] } : {}),
|
|
227
|
+
},
|
|
228
|
+
}, null).then((r) => ({ actions: r ? toMonacoCodeActions(m, r) : [], dispose() { } })),
|
|
229
|
+
resolveCodeAction: resolve
|
|
230
|
+
? (action, token) => this.ask(token, 'codeAction/resolve', getLspCodeAction(action) ?? { title: action.title }, null).then((r) => (r ? toMonacoCodeAction(m, r) : action))
|
|
231
|
+
: undefined,
|
|
232
|
+
}));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
153
235
|
/** Register hover provider backed by the LSP server */
|
|
154
236
|
registerHoverProvider() {
|
|
155
237
|
const monaco = this.monaco;
|
|
@@ -172,11 +254,10 @@ export class LspMonacoClient {
|
|
|
172
254
|
: undefined;
|
|
173
255
|
const provideCompletionItems = (model, position, context, token) => withCancellation(token, async (p) => {
|
|
174
256
|
const lspContext = {
|
|
175
|
-
|
|
257
|
+
// Monaco trigger kind is 0-based, LSP is 1-based
|
|
258
|
+
triggerKind: (context.triggerKind + 1),
|
|
259
|
+
...(context.triggerCharacter ? { triggerCharacter: context.triggerCharacter } : {}),
|
|
176
260
|
};
|
|
177
|
-
if (context.triggerCharacter) {
|
|
178
|
-
lspContext.triggerCharacter = context.triggerCharacter;
|
|
179
|
-
}
|
|
180
261
|
return this.binding.sendRequest('textDocument/completion', {
|
|
181
262
|
textDocument: { uri: model.uri.toString() },
|
|
182
263
|
position: toLspPosition(position),
|
|
@@ -186,7 +267,7 @@ export class LspMonacoClient {
|
|
|
186
267
|
if (!r)
|
|
187
268
|
return { suggestions: [] };
|
|
188
269
|
const items = Array.isArray(r) ? r : (r?.items ?? []);
|
|
189
|
-
return { suggestions: items.map((x) => toMonacoCompletionItem(monaco, x)) };
|
|
270
|
+
return { suggestions: items.map((x) => toMonacoCompletionItem(monaco, model, position, x)) };
|
|
190
271
|
});
|
|
191
272
|
this.binding.addDisposable(monaco.languages.registerCompletionItemProvider(this.options.languageSelector, {
|
|
192
273
|
triggerCharacters: opts.triggerCharacters,
|
|
@@ -236,14 +317,11 @@ export class LspMonacoClient {
|
|
|
236
317
|
}));
|
|
237
318
|
}
|
|
238
319
|
// ---------------- Editor event handlers ----------------
|
|
239
|
-
/** Send textDocument/didChange according to server sync kind */
|
|
240
|
-
handleContentChange(e) {
|
|
241
|
-
|
|
242
|
-
if (!model)
|
|
243
|
-
return;
|
|
320
|
+
/** Send textDocument/didChange for the changed model according to server sync kind */
|
|
321
|
+
handleContentChange(model, e) {
|
|
322
|
+
// Read uri/version from the model that actually changed (avoids editor-model races)
|
|
244
323
|
const uri = model.uri.toString();
|
|
245
324
|
const version = model.getVersionId();
|
|
246
|
-
// Respect TextDocumentSyncKind
|
|
247
325
|
let contentChanges;
|
|
248
326
|
if (this.syncKind === 1) {
|
|
249
327
|
// Full: send entire text
|
|
@@ -309,6 +387,10 @@ export class LspMonacoClient {
|
|
|
309
387
|
},
|
|
310
388
|
});
|
|
311
389
|
this.openDocuments.add(newUri);
|
|
390
|
+
// Stream changes for this specific model when the server requests sync
|
|
391
|
+
if (this.syncChange) {
|
|
392
|
+
this.binding.addDisposable(newModel.onDidChangeContent((e) => this.handleContentChange(newModel, e)));
|
|
393
|
+
}
|
|
312
394
|
}
|
|
313
395
|
/** Listen for publishDiagnostics and update Monaco markers */
|
|
314
396
|
wireDiagnostics() {
|
|
@@ -573,4 +655,4 @@ const withCancellation = async (token, f, cancelled = null) => {
|
|
|
573
655
|
off.dispose();
|
|
574
656
|
}
|
|
575
657
|
};
|
|
576
|
-
//# sourceMappingURL=
|
|
658
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IAEtB,UAAU,SAAS;IACnB,cAAc,SAAS;IACvB,cAAc,SAAS;IACvB,aAAa,SAAS;IACtB,aAAa,SAAS;IAGtB,eAAe,SAAS;IAGxB,gBAAgB,SAAS;IACzB,eAAe,SAAS;IACxB,eAAe,SAAS;IAGxB,OAAO,OAAO;IACd,QAAQ,OAAO;CAChB;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE7E,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;gBACF,KAAK,EAAE,aAAa;CAMjC;AAED,eAAO,MAAM,mBAAmB,GAAI,GAAG,OAAO,YAI2D,CAAA;AAEzG,eAAO,MAAM,UAAU,GAAI,GAAG,GAAG,KAAG,QAQnC,CAAA"}
|
package/lib/error.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,gDAAgD;IAChD,gEAAmB,CAAA;IACnB,wEAAuB,CAAA;IACvB,wEAAuB,CAAA;IACvB,sEAAsB,CAAA;IACtB,sEAAsB,CAAA;IAEtB,0DAA0D;IAC1D,0EAAwB,CAAA;IAExB,yCAAyC;IACzC,4EAAyB,CAAA;IACzB,0EAAwB,CAAA;IACxB,0EAAwB,CAAA;IAExB,yEAAyE;IACzE,wDAAc,CAAA;IACd,0DAAe,CAAA;AACjB,CAAC,EAnBW,YAAY,KAAZ,YAAY,QAmBvB;AAID,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAQ;IACZ,IAAI,CAAU;IACd,YAAY,KAAoB;QAC9B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAU,EAAE,EAAE,CAChD,OAAO,CAAC,KAAK,QAAQ;IACrB,CAAC,KAAK,IAAI;IACV,MAAM,IAAK,CAAS;IACpB,CAAE,CAAS,CAAC,IAAI,KAAK,YAAY,CAAC,gBAAgB,IAAK,CAAS,CAAC,IAAI,KAAK,YAAY,CAAC,eAAe,CAAC,CAAA;AAEzG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAM,EAAY,EAAE;IAC7C,IAAI,CAAC,YAAY,QAAQ;QAAE,OAAO,CAAC,CAAA;IACnC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;IAChG,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,IAAI,IAAI,YAAY,CAAC,aAAa,CAAC;QACnD,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC;QACtC,IAAI,EAAE,CAAC,EAAE,IAAI;KACd,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA"}
|
package/lib/index.js
ADDED
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DidChangeTextDocumentNotification, DidChangeTextDocumentParams, DidCloseTextDocumentParams, DidCloseTextDocumentNotification, DidOpenTextDocumentNotification, DidOpenTextDocumentParams, CompletionRequest, CompletionParams, InitializeRequest, InitializeParams, InitializeResult, CompletionList, CompletionItem, CompletionResolveRequest, ProgressToken, PublishDiagnosticsNotification, PublishDiagnosticsParams, LogMessageNotification, LogMessageParams, DocumentFormattingRequest, DocumentFormattingParams, DocumentRangeFormattingRequest, DocumentRangeFormattingParams, DocumentOnTypeFormattingRequest, DocumentOnTypeFormattingParams, TextEdit, HoverRequest, HoverParams, Hover } from 'vscode-languageserver-protocol';
|
|
1
|
+
import type { DidChangeTextDocumentNotification, DidChangeTextDocumentParams, DidCloseTextDocumentParams, DidCloseTextDocumentNotification, DidOpenTextDocumentNotification, DidOpenTextDocumentParams, CompletionRequest, CompletionParams, InitializeRequest, InitializeParams, InitializeResult, CompletionList, CompletionItem, CompletionResolveRequest, ProgressToken, PublishDiagnosticsNotification, PublishDiagnosticsParams, LogMessageNotification, LogMessageParams, DocumentFormattingRequest, DocumentFormattingParams, DocumentRangeFormattingRequest, DocumentRangeFormattingParams, DocumentOnTypeFormattingRequest, DocumentOnTypeFormattingParams, TextEdit, HoverRequest, HoverParams, Hover, DefinitionRequest, DefinitionParams, TypeDefinitionRequest, TypeDefinitionParams, ImplementationRequest, ImplementationParams, DeclarationRequest, DeclarationParams, ReferencesRequest, ReferenceParams, DocumentHighlightRequest, DocumentHighlightParams, DocumentHighlight, SignatureHelpRequest, SignatureHelpParams, SignatureHelp, DocumentSymbolRequest, DocumentSymbolParams, DocumentSymbol, SymbolInformation, FoldingRangeRequest, FoldingRangeParams, FoldingRange, PrepareRenameRequest, PrepareRenameParams, PrepareRenameResult, RenameRequest, RenameParams, WorkspaceEdit, CodeActionRequest, CodeActionParams, CodeActionResolveRequest, CodeAction, Command, Definition, Location, LocationLink } from 'vscode-languageserver-protocol';
|
|
2
2
|
import { LspErrorShape } from './error.js';
|
|
3
3
|
export declare const JSONRPC_VERSION = "2.0";
|
|
4
4
|
export type JSONRPC = typeof JSONRPC_VERSION;
|
|
@@ -18,6 +18,19 @@ export interface RequestMap {
|
|
|
18
18
|
[DocumentRangeFormattingRequest.method]: RequestMapValue<DocumentRangeFormattingParams, TextEdit[] | null>;
|
|
19
19
|
[DocumentOnTypeFormattingRequest.method]: RequestMapValue<DocumentOnTypeFormattingParams, TextEdit[] | null>;
|
|
20
20
|
[HoverRequest.method]: RequestMapValue<HoverParams, Hover | null>;
|
|
21
|
+
[DefinitionRequest.method]: RequestMapValue<DefinitionParams, Definition | LocationLink[] | null>;
|
|
22
|
+
[TypeDefinitionRequest.method]: RequestMapValue<TypeDefinitionParams, Definition | LocationLink[] | null>;
|
|
23
|
+
[ImplementationRequest.method]: RequestMapValue<ImplementationParams, Definition | LocationLink[] | null>;
|
|
24
|
+
[DeclarationRequest.method]: RequestMapValue<DeclarationParams, Definition | LocationLink[] | null>;
|
|
25
|
+
[ReferencesRequest.method]: RequestMapValue<ReferenceParams, Location[] | null>;
|
|
26
|
+
[DocumentHighlightRequest.method]: RequestMapValue<DocumentHighlightParams, DocumentHighlight[] | null>;
|
|
27
|
+
[SignatureHelpRequest.method]: RequestMapValue<SignatureHelpParams, SignatureHelp | null>;
|
|
28
|
+
[DocumentSymbolRequest.method]: RequestMapValue<DocumentSymbolParams, DocumentSymbol[] | SymbolInformation[] | null>;
|
|
29
|
+
[FoldingRangeRequest.method]: RequestMapValue<FoldingRangeParams, FoldingRange[] | null>;
|
|
30
|
+
[PrepareRenameRequest.method]: RequestMapValue<PrepareRenameParams, PrepareRenameResult | null>;
|
|
31
|
+
[RenameRequest.method]: RequestMapValue<RenameParams, WorkspaceEdit | null>;
|
|
32
|
+
[CodeActionRequest.method]: RequestMapValue<CodeActionParams, (Command | CodeAction)[] | null>;
|
|
33
|
+
[CodeActionResolveRequest.method]: RequestMapValue<CodeAction, CodeAction>;
|
|
21
34
|
shutdown: RequestMapValue<null, null>;
|
|
22
35
|
}
|
|
23
36
|
export interface ClientNotifMap {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAuEA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAA;AAIpC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,EAAW,EAAY,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAA;AAgE/F,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,EAAM,EACN,MAAS,EACT,MAAyC,EACa,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,eAAe;IACxB,EAAE;IACF,MAAM;IACN,MAAM;CACP,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAS,EACT,MAA6C,EACkB,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,eAAe;IACxB,MAAM;IACN,MAAM;CACP,CAAC,CAAA;AA2BF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAY,EAAyB,EAAE;IAClE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,KAAK,CAAA;IACzD,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,eAAe;QAAE,OAAO,KAAK,CAAA;IACxE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAGD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAS,EACT,GAAY,EACqD,EAAE;IACnE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACpC,IAAK,GAAW,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAChD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAY,EACZ,MAAU,EAC6C,EAAE;IACzD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAE,GAAW,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5F,IAAI,MAAM,IAAK,GAAW,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IAC1D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CompletionItem, TextEdit, Range, Position, Diagnostic, Hover, Definition, Location, LocationLink, DocumentHighlight, SignatureHelp, DocumentSymbol, SymbolInformation, FoldingRange, WorkspaceEdit, PrepareRenameResult, CodeAction, Command } from 'vscode-languageserver-protocol';
|
|
2
|
+
import type * as monaco from 'monaco-editor';
|
|
3
|
+
/** Convert LSP CompletionItem to Monaco and stash original */
|
|
4
|
+
export declare const toMonacoCompletionItem: (monacoApi: typeof monaco, model: monaco.editor.ITextModel, position: monaco.Position, item: CompletionItem) => monaco.languages.CompletionItem;
|
|
5
|
+
/** Convert Monaco CompletionItem to LSP, preferring original */
|
|
6
|
+
export declare const toLspCompletionItem: (item: monaco.languages.CompletionItem) => CompletionItem;
|
|
7
|
+
/** Merge resolved LSP fields into Monaco item */
|
|
8
|
+
export declare const mergeResolvedCompletionItem: (monacoItem: monaco.languages.CompletionItem, resolvedLspItem: CompletionItem) => monaco.languages.CompletionItem;
|
|
9
|
+
/** Convert Monaco IRange to LSP Range (1-based → 0-based) */
|
|
10
|
+
export declare const toLspRange: (range: monaco.IRange) => Range;
|
|
11
|
+
/** Convert LSP Position to Monaco IPosition */
|
|
12
|
+
export declare const toMonacoPosition: (position: Position) => monaco.IPosition;
|
|
13
|
+
/** Convert Monaco IPosition to LSP Position */
|
|
14
|
+
export declare const toLspPosition: (position: monaco.IPosition) => Position;
|
|
15
|
+
/** Map LSP diagnostics to Monaco markers */
|
|
16
|
+
export declare const toMonacoMarkers: (monacoApi: typeof monaco, diagnostics: Diagnostic[]) => monaco.editor.IMarkerData[];
|
|
17
|
+
/** Map LSP TextEdits to Monaco edits */
|
|
18
|
+
export declare const toMonacoTextEdits: (edits: TextEdit[]) => monaco.languages.TextEdit[];
|
|
19
|
+
/** Convert LSP Hover to Monaco Hover */
|
|
20
|
+
export declare const lspHoverToMonaco: (hover: Hover) => monaco.languages.Hover;
|
|
21
|
+
/** Convert a single LSP Location to Monaco */
|
|
22
|
+
export declare const toMonacoLocation: (monacoApi: typeof monaco, loc: Location) => monaco.languages.Location;
|
|
23
|
+
/** Convert an LSP definition result (Location, Location[] or LocationLink[]) to Monaco */
|
|
24
|
+
export declare const toMonacoLocations: (monacoApi: typeof monaco, result: Definition | LocationLink[] | null) => monaco.languages.Location[] | monaco.languages.LocationLink[];
|
|
25
|
+
/** Convert LSP document highlights to Monaco (kind is 1-based -> 0-based) */
|
|
26
|
+
export declare const toMonacoHighlights: (monacoApi: typeof monaco, highlights: DocumentHighlight[]) => monaco.languages.DocumentHighlight[];
|
|
27
|
+
/** Convert LSP signature help to Monaco */
|
|
28
|
+
export declare const toMonacoSignatureHelp: (help: SignatureHelp) => monaco.languages.SignatureHelp;
|
|
29
|
+
/** Convert LSP document symbols (hierarchical or flat) to Monaco (kind 1-based -> 0-based) */
|
|
30
|
+
export declare const toMonacoSymbols: (symbols: (DocumentSymbol | SymbolInformation)[]) => monaco.languages.DocumentSymbol[];
|
|
31
|
+
/** Convert LSP folding ranges to Monaco (lines 0-based -> 1-based) */
|
|
32
|
+
export declare const toMonacoFoldingRanges: (monacoApi: typeof monaco, ranges: FoldingRange[]) => monaco.languages.FoldingRange[];
|
|
33
|
+
/** Convert an LSP WorkspaceEdit to Monaco (text edits only; file operations are skipped) */
|
|
34
|
+
export declare const toMonacoWorkspaceEdit: (monacoApi: typeof monaco, edit: WorkspaceEdit) => monaco.languages.WorkspaceEdit;
|
|
35
|
+
/** Convert an LSP prepareRename result to a Monaco rename location (or rejection) */
|
|
36
|
+
export declare const toMonacoRenameLocation: (monacoApi: typeof monaco, model: monaco.editor.ITextModel, position: monaco.Position, result: PrepareRenameResult | null) => monaco.languages.RenameLocation & monaco.languages.Rejection;
|
|
37
|
+
export declare const getLspCodeAction: (a: monaco.languages.CodeAction) => CodeAction | undefined;
|
|
38
|
+
/** Convert a single LSP code action or command to Monaco */
|
|
39
|
+
export declare const toMonacoCodeAction: (monacoApi: typeof monaco, a: Command | CodeAction) => monaco.languages.CodeAction;
|
|
40
|
+
/** Convert LSP code action results to Monaco */
|
|
41
|
+
export declare const toMonacoCodeActions: (monacoApi: typeof monaco, actions: (Command | CodeAction)[]) => monaco.languages.CodeAction[];
|
|
42
|
+
/** Map Monaco markers back to LSP diagnostics (lossy; used for codeAction context) */
|
|
43
|
+
export declare const toLspDiagnostics: (monacoApi: typeof monaco, markers: monaco.editor.IMarkerData[]) => Diagnostic[];
|
|
44
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
|