monaco-lsp-bridge 0.0.2 → 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/{esm/error.js → error.js} +7 -3
- 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/protocol.d.ts +102 -0
- package/lib/protocol.d.ts.map +1 -0
- package/lib/protocol.js +37 -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/util.js → transform.js} +178 -14
- package/lib/transform.js.map +1 -0
- package/lib/{ts/transport.d.ts → transport.d.ts} +12 -5
- package/lib/transport.d.ts.map +1 -0
- package/lib/{esm/transport.js → transport.js} +63 -21
- package/lib/transport.js.map +1 -0
- package/package.json +15 -20
- package/tsconfig.json +4 -4
- package/lib/cjs/error.js +0 -46
- 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 -21
- package/lib/cjs/protocol.js.map +0 -1
- package/lib/cjs/transport.js +0 -269
- package/lib/cjs/transport.js.map +0 -1
- package/lib/cjs/util.js +0 -264
- package/lib/cjs/util.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 +0 -15
- package/lib/esm/protocol.js.map +0 -1
- package/lib/esm/transport.js.map +0 -1
- package/lib/esm/util.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 +0 -80
- package/lib/ts/protocol.d.ts.map +0 -1
- package/lib/ts/transport.d.ts.map +0 -1
- package/lib/ts/util.d.ts +0 -21
- package/lib/ts/util.d.ts.map +0 -1
- package/src/error.ts +0 -48
- package/src/index.ts +0 -709
- package/src/protocol.ts +0 -129
- package/src/transport.ts +0 -337
- package/src/util.ts +0 -300
- /package/lib/{ts/error.d.ts → error.d.ts} +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 './
|
|
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"}
|
|
@@ -30,11 +30,15 @@ export const isCancellationError = (e) => typeof e === 'object' &&
|
|
|
30
30
|
e !== null &&
|
|
31
31
|
'code' in e &&
|
|
32
32
|
(e.code === LspErrorCode.RequestCancelled || e.code === LspErrorCode.ServerCancelled);
|
|
33
|
-
export const toLspError = (e) =>
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
export const toLspError = (e) => {
|
|
34
|
+
if (e instanceof LspError)
|
|
35
|
+
return e;
|
|
36
|
+
if (typeof e === 'string')
|
|
37
|
+
return new LspError({ code: LspErrorCode.InternalError, message: e });
|
|
38
|
+
return new LspError({
|
|
36
39
|
code: Number(e?.code ?? LspErrorCode.InternalError),
|
|
37
40
|
message: String(e?.message ?? 'Error'),
|
|
38
41
|
data: e?.data,
|
|
39
42
|
});
|
|
43
|
+
};
|
|
40
44
|
//# sourceMappingURL=error.js.map
|
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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
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
|
+
import { LspErrorShape } from './error.js';
|
|
3
|
+
export declare const JSONRPC_VERSION = "2.0";
|
|
4
|
+
export type JSONRPC = typeof JSONRPC_VERSION;
|
|
5
|
+
export type Id = number | string;
|
|
6
|
+
export declare const isId: (id: unknown) => id is Id;
|
|
7
|
+
type RequestMapValue<P, R> = {
|
|
8
|
+
fields: {
|
|
9
|
+
params: P;
|
|
10
|
+
};
|
|
11
|
+
response: R;
|
|
12
|
+
};
|
|
13
|
+
export interface RequestMap {
|
|
14
|
+
[InitializeRequest.method]: RequestMapValue<InitializeParams, InitializeResult>;
|
|
15
|
+
[CompletionResolveRequest.method]: RequestMapValue<CompletionItem, CompletionItem>;
|
|
16
|
+
[CompletionRequest.method]: RequestMapValue<CompletionParams, CompletionList | CompletionItem[] | null>;
|
|
17
|
+
[DocumentFormattingRequest.method]: RequestMapValue<DocumentFormattingParams, TextEdit[] | null>;
|
|
18
|
+
[DocumentRangeFormattingRequest.method]: RequestMapValue<DocumentRangeFormattingParams, TextEdit[] | null>;
|
|
19
|
+
[DocumentOnTypeFormattingRequest.method]: RequestMapValue<DocumentOnTypeFormattingParams, TextEdit[] | null>;
|
|
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>;
|
|
34
|
+
shutdown: RequestMapValue<null, null>;
|
|
35
|
+
}
|
|
36
|
+
export interface ClientNotifMap {
|
|
37
|
+
[DidOpenTextDocumentNotification.method]: RequestMapValue<DidOpenTextDocumentParams, void>;
|
|
38
|
+
[DidChangeTextDocumentNotification.method]: RequestMapValue<DidChangeTextDocumentParams, void>;
|
|
39
|
+
[DidCloseTextDocumentNotification.method]: RequestMapValue<DidCloseTextDocumentParams, void>;
|
|
40
|
+
'$/cancelRequest': RequestMapValue<{
|
|
41
|
+
id: Id;
|
|
42
|
+
}, void>;
|
|
43
|
+
exit: RequestMapValue<null, void>;
|
|
44
|
+
}
|
|
45
|
+
export interface ServerNotifMap {
|
|
46
|
+
'$/progress': RequestMapValue<{
|
|
47
|
+
token: ProgressToken;
|
|
48
|
+
value: any;
|
|
49
|
+
}, void>;
|
|
50
|
+
[PublishDiagnosticsNotification.method]: RequestMapValue<PublishDiagnosticsParams, void>;
|
|
51
|
+
[LogMessageNotification.method]: RequestMapValue<LogMessageParams, void>;
|
|
52
|
+
}
|
|
53
|
+
export interface JsonRpcMessage {
|
|
54
|
+
jsonrpc: JSONRPC;
|
|
55
|
+
}
|
|
56
|
+
export interface JsonRpcRequest<K, T> extends JsonRpcMessage {
|
|
57
|
+
id: Id;
|
|
58
|
+
params: T;
|
|
59
|
+
method: K;
|
|
60
|
+
}
|
|
61
|
+
export type JsonRpcResponse<T> = (JsonRpcMessage & {
|
|
62
|
+
id: Id;
|
|
63
|
+
result: T;
|
|
64
|
+
error?: undefined;
|
|
65
|
+
}) | (JsonRpcMessage & {
|
|
66
|
+
id: Id;
|
|
67
|
+
result?: undefined;
|
|
68
|
+
error: LspErrorShape;
|
|
69
|
+
});
|
|
70
|
+
export interface JsonRpcNotification<K, T> extends JsonRpcMessage {
|
|
71
|
+
method: K;
|
|
72
|
+
params: T;
|
|
73
|
+
}
|
|
74
|
+
export declare const makeRequest: <K extends keyof RequestMap>(id: Id, method: K, params: RequestMap[K]["fields"]["params"]) => JsonRpcRequest<K, RequestMap[K]["fields"]["params"]>;
|
|
75
|
+
export declare const makeNotification: <K extends keyof ClientNotifMap>(method: K, params: ClientNotifMap[K]["fields"]["params"]) => JsonRpcNotification<K, ClientNotifMap[K]["fields"]["params"]>;
|
|
76
|
+
export type ProgressPayload<T = any> = {
|
|
77
|
+
token: ProgressToken;
|
|
78
|
+
value: T;
|
|
79
|
+
};
|
|
80
|
+
export type WorkDoneProgressBegin = {
|
|
81
|
+
kind: 'begin';
|
|
82
|
+
title: string;
|
|
83
|
+
cancellable?: boolean;
|
|
84
|
+
message?: string;
|
|
85
|
+
percentage?: number;
|
|
86
|
+
};
|
|
87
|
+
export type WorkDoneProgressReport = {
|
|
88
|
+
kind: 'report';
|
|
89
|
+
cancellable?: boolean;
|
|
90
|
+
message?: string;
|
|
91
|
+
percentage?: number;
|
|
92
|
+
};
|
|
93
|
+
export type WorkDoneProgressEnd = {
|
|
94
|
+
kind: 'end';
|
|
95
|
+
message?: string;
|
|
96
|
+
};
|
|
97
|
+
export declare const isRpcMessage: (msg: unknown) => msg is JsonRpcMessage;
|
|
98
|
+
type RequestMapType = RequestMap & ClientNotifMap & ServerNotifMap;
|
|
99
|
+
export declare const isRpcRequestType: <K extends keyof RequestMapType>(method: K, msg: unknown) => msg is JsonRpcRequest<K, RequestMapType[K]["fields"]["params"]>;
|
|
100
|
+
export declare const isRpcResponseType: <K extends keyof RequestMapType = keyof RequestMapType>(msg: unknown, method?: K) => msg is JsonRpcResponse<RequestMapType[K]["response"]>;
|
|
101
|
+
export {};
|
|
102
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/lib/protocol.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export const JSONRPC_VERSION = '2.0';
|
|
2
|
+
export const isId = (id) => typeof id === 'number' || typeof id === 'string';
|
|
3
|
+
export const makeRequest = (id, method, params) => ({
|
|
4
|
+
jsonrpc: JSONRPC_VERSION,
|
|
5
|
+
id,
|
|
6
|
+
method,
|
|
7
|
+
params,
|
|
8
|
+
});
|
|
9
|
+
export const makeNotification = (method, params) => ({
|
|
10
|
+
jsonrpc: JSONRPC_VERSION,
|
|
11
|
+
method,
|
|
12
|
+
params,
|
|
13
|
+
});
|
|
14
|
+
export const isRpcMessage = (msg) => {
|
|
15
|
+
if (typeof msg !== 'object' || msg === null)
|
|
16
|
+
return false;
|
|
17
|
+
if (!('jsonrpc' in msg) || msg.jsonrpc !== JSONRPC_VERSION)
|
|
18
|
+
return false;
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
export const isRpcRequestType = (method, msg) => {
|
|
22
|
+
if (!isRpcMessage(msg))
|
|
23
|
+
return false;
|
|
24
|
+
if (msg.method !== method)
|
|
25
|
+
return false;
|
|
26
|
+
return true;
|
|
27
|
+
};
|
|
28
|
+
export const isRpcResponseType = (msg, method) => {
|
|
29
|
+
if (!isRpcMessage(msg))
|
|
30
|
+
return false;
|
|
31
|
+
if (!Object.prototype.hasOwnProperty.call(msg, 'id') || !isId(msg.id))
|
|
32
|
+
return false;
|
|
33
|
+
if (method && msg.method !== method)
|
|
34
|
+
return false;
|
|
35
|
+
return true;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -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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"}
|