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.
Files changed (52) hide show
  1. package/lib/{ts/index.d.ts → client.d.ts} +14 -4
  2. package/lib/client.d.ts.map +1 -0
  3. package/lib/{esm/index.js → client.js} +103 -21
  4. package/lib/client.js.map +1 -0
  5. package/lib/error.d.ts.map +1 -0
  6. package/lib/error.js.map +1 -0
  7. package/lib/index.d.ts +4 -0
  8. package/lib/index.d.ts.map +1 -0
  9. package/lib/index.js +3 -0
  10. package/lib/index.js.map +1 -0
  11. package/lib/{ts/protocol.d.ts → protocol.d.ts} +14 -1
  12. package/lib/protocol.d.ts.map +1 -0
  13. package/lib/protocol.js.map +1 -0
  14. package/lib/transform.d.ts +44 -0
  15. package/lib/transform.d.ts.map +1 -0
  16. package/lib/{esm/transform.js → transform.js} +177 -13
  17. package/lib/transform.js.map +1 -0
  18. package/lib/{ts/transport.d.ts → transport.d.ts} +8 -1
  19. package/lib/transport.d.ts.map +1 -0
  20. package/lib/{esm/transport.js → transport.js} +51 -3
  21. package/lib/transport.js.map +1 -0
  22. package/package.json +15 -25
  23. package/tsconfig.json +4 -4
  24. package/lib/cjs/error.js +0 -50
  25. package/lib/cjs/error.js.map +0 -1
  26. package/lib/cjs/index.js +0 -594
  27. package/lib/cjs/index.js.map +0 -1
  28. package/lib/cjs/protocol.js +0 -46
  29. package/lib/cjs/protocol.js.map +0 -1
  30. package/lib/cjs/transform.js +0 -264
  31. package/lib/cjs/transform.js.map +0 -1
  32. package/lib/cjs/transport.js +0 -263
  33. package/lib/cjs/transport.js.map +0 -1
  34. package/lib/esm/error.js.map +0 -1
  35. package/lib/esm/index.js.map +0 -1
  36. package/lib/esm/protocol.js.map +0 -1
  37. package/lib/esm/transform.js.map +0 -1
  38. package/lib/esm/transport.js.map +0 -1
  39. package/lib/ts/error.d.ts.map +0 -1
  40. package/lib/ts/index.d.ts.map +0 -1
  41. package/lib/ts/protocol.d.ts.map +0 -1
  42. package/lib/ts/transform.d.ts +0 -21
  43. package/lib/ts/transform.d.ts.map +0 -1
  44. package/lib/ts/transport.d.ts.map +0 -1
  45. package/src/error.ts +0 -49
  46. package/src/index.ts +0 -709
  47. package/src/protocol.ts +0 -159
  48. package/src/transform.ts +0 -300
  49. package/src/transport.ts +0 -336
  50. /package/lib/{ts/error.d.ts → error.d.ts} +0 -0
  51. /package/lib/{esm/error.js → error.js} +0 -0
  52. /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
- //# sourceMappingURL=index.d.ts.map
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 init = await this.binding.sendRequest('initialize', this.options.initialParams ?? {
61
- // @ts-ignore
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
- triggerKind: context.triggerKind + 1, // Monaco is 0-based, LSP is 1-based
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
- const model = this.editor?.getModel();
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=index.js.map
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"}
@@ -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,4 @@
1
+ export type * from './protocol.js';
2
+ export * from './transport.js';
3
+ export * from './client.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -0,0 +1,3 @@
1
+ export * from './transport.js';
2
+ export * from './client.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,+BAA+B,EAC/B,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,aAAa,EACb,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,OAAO,EACP,UAAU,EACV,QAAQ,EACR,YAAY,EACb,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,eAAO,MAAM,eAAe,QAAQ,CAAA;AACpC,MAAM,MAAM,OAAO,GAAG,OAAO,eAAe,CAAA;AAE5C,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;AAChC,eAAO,MAAM,IAAI,GAAI,IAAI,OAAO,KAAG,EAAE,IAAI,EAAsD,CAAA;AAE/F,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,CAAA;AAGnE,MAAM,WAAW,UAAU;IACzB,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;IAC/E,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;IAClF,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE,cAAc,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,CAAA;IACvG,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,wBAAwB,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;IAChG,CAAC,8BAA8B,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,6BAA6B,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;IAC1G,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,8BAA8B,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;IAC5G,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,CAAA;IACjE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE,UAAU,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,CAAA;IACjG,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,oBAAoB,EAAE,UAAU,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,CAAA;IACzG,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,oBAAoB,EAAE,UAAU,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,CAAA;IACzG,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,iBAAiB,EAAE,UAAU,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,CAAA;IACnG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,eAAe,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;IAC/E,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,uBAAuB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAA;IACvG,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,mBAAmB,EAAE,aAAa,GAAG,IAAI,CAAC,CAAA;IACzF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,oBAAoB,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAAA;IACpH,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,kBAAkB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAA;IACxF,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAA;IAC/F,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC,CAAA;IAC3E,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IAC9F,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAC1E,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;CACtC;AAGD,MAAM,WAAW,cAAc;IAC7B,CAAC,+BAA+B,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAA;IAC1F,CAAC,iCAAiC,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAA;IAC9F,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAA;IAC5F,iBAAiB,EAAE,eAAe,CAAC;QAAE,EAAE,EAAE,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,CAAA;IACpD,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;CAClC;AAGD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,eAAe,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,EAAE,IAAI,CAAC,CAAA;IACzE,CAAC,8BAA8B,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;IACxF,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;CACzE;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IAC1D,EAAE,EAAE,EAAE,CAAA;IACN,MAAM,EAAE,CAAC,CAAA;IACT,MAAM,EAAE,CAAC,CAAA;CACV;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB,CAAC,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,GAC3D,CAAC,cAAc,GAAG;IAAE,EAAE,EAAE,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC,CAAA;AAE3E,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,cAAc;IAC/D,MAAM,EAAE,CAAC,CAAA;IACT,MAAM,EAAE,CAAC,CAAA;CACV;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,UAAU,EACpD,IAAI,EAAE,EACN,QAAQ,CAAC,EACT,QAAQ,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KACxC,cAAc,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAKpD,CAAA;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,cAAc,EAC7D,QAAQ,CAAC,EACT,QAAQ,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAC5C,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAI7D,CAAA;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI;IACrC,KAAK,EAAE,aAAa,CAAA;IACpB,KAAK,EAAE,CAAC,CAAA;CACT,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,QAAQ,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,KAAK,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,cAIlD,CAAA;AAED,KAAK,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,CAAA;AAClE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,MAAM,cAAc,EAC7D,QAAQ,CAAC,EACT,KAAK,OAAO,KACX,GAAG,IAAI,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAIhE,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,cAAc,GAAG,MAAM,cAAc,EACrF,KAAK,OAAO,EACZ,SAAS,CAAC,KACT,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAKtD,CAAA"}
@@ -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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"}