monaco-lsp-bridge 0.0.1

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.
@@ -0,0 +1,594 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.LspMonacoClient = void 0;
18
+ const util_js_1 = require("./util.js");
19
+ const transport_js_1 = require("./transport.js");
20
+ __exportStar(require("./transport.js"), exports);
21
+ class LspMonacoClient {
22
+ options;
23
+ static CLIENT_NAME = 'monaco-lsp-bridge';
24
+ static CLIENT_VERSION = '0.0.1';
25
+ editor = null;
26
+ monaco = null;
27
+ binding;
28
+ endpoint;
29
+ openDocuments = new Set(); // Track opened document URIs
30
+ initialized = false;
31
+ eventHandlers = new Set();
32
+ syncKind = 0; // 0=None, 1=Full, 2=Incremental
33
+ MARKER_OWNER = 'lsp-diagnostics';
34
+ /** Construct a Monaco LSP client bound to an endpoint */
35
+ constructor(endpoint, options) {
36
+ this.options = options;
37
+ this.endpoint = endpoint;
38
+ this.binding = transport_js_1.LspTransport.infer(endpoint);
39
+ }
40
+ /** Register an event handler for client events */
41
+ onEvent(handler) {
42
+ this.eventHandlers.add(handler);
43
+ return () => this.eventHandlers.delete(handler);
44
+ }
45
+ /** Emit an event to all registered handlers */
46
+ emit(event) {
47
+ for (const handler of this.eventHandlers) {
48
+ try {
49
+ handler(event);
50
+ }
51
+ catch (error) {
52
+ // Prevent handler errors from breaking the client
53
+ console.error('Event handler error:', error);
54
+ }
55
+ }
56
+ }
57
+ /** Register Monaco editor instance and initialize LSP wiring */
58
+ connect(monaco, editor) {
59
+ if (this.editor === editor)
60
+ return;
61
+ this.dispose();
62
+ // Recreate binding after dispose
63
+ this.binding = transport_js_1.LspTransport.infer(this.endpoint);
64
+ this.editor = editor;
65
+ this.monaco = monaco;
66
+ // Wire error/progress events
67
+ this.binding
68
+ .onError((error) => this.emit({ type: 'error', error }))
69
+ .onProgressNotification((params) => this.emit({ type: 'workDoneProgress', params }))
70
+ .onServerNotification('window/logMessage', (params) => this.emit({ type: 'logMessage', method: 'window/logMessage', params }));
71
+ // Initialize server
72
+ this.initialize();
73
+ }
74
+ /** Initialize the LSP server connection and capabilities */
75
+ async initialize() {
76
+ try {
77
+ const init = await this.binding.sendRequest('initialize', this.options.initialParams ?? {
78
+ // @ts-ignore
79
+ processId: typeof process !== 'undefined' ? process.pid : null,
80
+ rootUri: null,
81
+ clientInfo: { name: LspMonacoClient.CLIENT_NAME, version: LspMonacoClient.CLIENT_VERSION },
82
+ locale: typeof navigator !== 'undefined' ? navigator.language : 'en-US',
83
+ capabilities: LspMonacoClient.CAPABILITIES,
84
+ // Omit workspaceFolders (we advertise false)
85
+ });
86
+ if (!init.cancelled && init.result?.capabilities) {
87
+ this.initialized = true;
88
+ this.emit({ type: 'initialized', capabilities: init.result.capabilities });
89
+ this.applyServerCapabilities(init.result.capabilities);
90
+ }
91
+ }
92
+ catch (error) {
93
+ // Error already emitted; keep uninitialized
94
+ this.initialized = false;
95
+ }
96
+ }
97
+ /** Dispose the client, closing docs and optionally shutting down server */
98
+ async dispose() {
99
+ // Close all open documents
100
+ for (const uri of this.openDocuments) {
101
+ this.binding.sendNotification('textDocument/didClose', { textDocument: { uri } });
102
+ // Clear diagnostics markers for each open document
103
+ const monacoApi = this.monaco;
104
+ if (monacoApi) {
105
+ const model = monacoApi.editor.getModel(monacoApi.Uri.parse(uri));
106
+ if (model)
107
+ monacoApi.editor.setModelMarkers(model, this.MARKER_OWNER, []);
108
+ }
109
+ }
110
+ this.openDocuments.clear();
111
+ // Graceful shutdown for dedicated servers
112
+ if (this.options.dedicatedServer && this.initialized) {
113
+ try {
114
+ // Request shutdown with timeout
115
+ await this.binding.sendRequest('shutdown', null, { timeoutMs: 5000 });
116
+ }
117
+ catch (error) {
118
+ this.emit({ type: 'shutdownError', error });
119
+ // Continue with exit anyway
120
+ }
121
+ finally {
122
+ // Always send exit (fire-and-forget)
123
+ this.binding.sendNotification('exit', null);
124
+ }
125
+ }
126
+ // Tear down binding
127
+ this.binding.dispose();
128
+ this.editor = null;
129
+ this.initialized = false;
130
+ }
131
+ /** Register Monaco features based on server-reported capabilities */
132
+ applyServerCapabilities(caps) {
133
+ if (!this.editor)
134
+ return;
135
+ const sync = caps.textDocumentSync;
136
+ // TextDocumentSyncKind: 0=None, 1=Full, 2=Incremental
137
+ if (typeof sync === 'number') {
138
+ this.syncKind = sync;
139
+ }
140
+ else if (typeof sync === 'object' && sync !== null) {
141
+ this.syncKind = sync.change ?? 0;
142
+ }
143
+ else {
144
+ this.syncKind = 0;
145
+ }
146
+ // Open/close supported
147
+ const enableOpenClose = typeof sync === 'object' ? !!sync.openClose : sync !== undefined && sync !== 0;
148
+ // Change supported for Full/Incremental
149
+ const enableChange = this.syncKind === 1 || this.syncKind === 2;
150
+ if (enableOpenClose) {
151
+ this.handleModelChange({ oldModelUrl: null, newModelUrl: this.editor.getModel()?.uri ?? null });
152
+ this.binding.addDisposable(this.editor.onDidChangeModel((e) => this.handleModelChange(e)));
153
+ }
154
+ if (enableChange) {
155
+ this.binding.addDisposable(this.editor.onDidChangeModelContent((e) => this.handleContentChange(e)));
156
+ }
157
+ if (caps.completionProvider)
158
+ this.registerCompletionProvider(caps.completionProvider);
159
+ if (caps.hoverProvider)
160
+ this.registerHoverProvider();
161
+ if (caps.documentFormattingProvider)
162
+ this.registerFormattingProvider();
163
+ if (caps.documentRangeFormattingProvider)
164
+ this.registerRangeFormattingProvider();
165
+ if (caps.documentOnTypeFormattingProvider)
166
+ this.registerOnTypeFormattingProvider(caps.documentOnTypeFormattingProvider);
167
+ // Listen for diagnostics
168
+ this.wireDiagnostics();
169
+ }
170
+ /** Register hover provider backed by the LSP server */
171
+ registerHoverProvider() {
172
+ const monaco = this.monaco;
173
+ if (!monaco)
174
+ return;
175
+ this.binding.addDisposable(monaco.languages.registerHoverProvider(this.options.languageSelector, {
176
+ provideHover: (model, position, token) => withCancellation(token, (p) => this.binding.sendRequest('textDocument/hover', {
177
+ textDocument: { uri: model.uri.toString() },
178
+ position: (0, util_js_1.toLspPosition)(position),
179
+ }, p), null).then((h) => (h ? (0, util_js_1.lspHoverToMonaco)(h) : null)),
180
+ }));
181
+ }
182
+ /** Register Monaco completion provider backed by the LSP server */
183
+ registerCompletionProvider(opts) {
184
+ const monaco = this.monaco;
185
+ if (!monaco)
186
+ return;
187
+ const resolveCompletionItem = opts.resolveProvider
188
+ ? async (item, token) => withCancellation(token, async (p) => this.binding.sendRequest('completionItem/resolve', (0, util_js_1.toLspCompletionItem)(item), p)).then((r) => (r ? (0, util_js_1.mergeResolvedCompletionItem)(item, r) : item))
189
+ : undefined;
190
+ const provideCompletionItems = (model, position, context, token) => withCancellation(token, async (p) => {
191
+ const lspContext = {
192
+ triggerKind: context.triggerKind + 1, // Monaco is 0-based, LSP is 1-based
193
+ };
194
+ if (context.triggerCharacter) {
195
+ lspContext.triggerCharacter = context.triggerCharacter;
196
+ }
197
+ return this.binding.sendRequest('textDocument/completion', {
198
+ textDocument: { uri: model.uri.toString() },
199
+ position: (0, util_js_1.toLspPosition)(position),
200
+ context: lspContext,
201
+ }, p);
202
+ }).then((r) => {
203
+ if (!r)
204
+ return { suggestions: [] };
205
+ const items = Array.isArray(r) ? r : (r?.items ?? []);
206
+ return { suggestions: items.map((x) => (0, util_js_1.toMonacoCompletionItem)(monaco, x)) };
207
+ });
208
+ this.binding.addDisposable(monaco.languages.registerCompletionItemProvider(this.options.languageSelector, {
209
+ triggerCharacters: opts.triggerCharacters,
210
+ provideCompletionItems,
211
+ resolveCompletionItem,
212
+ }));
213
+ }
214
+ /** Register document formatting provider backed by the LSP server */
215
+ registerFormattingProvider() {
216
+ const monaco = this.monaco;
217
+ if (!monaco)
218
+ return;
219
+ this.binding.addDisposable(monaco.languages.registerDocumentFormattingEditProvider(this.options.languageSelector, {
220
+ provideDocumentFormattingEdits: (model, options, token) => withCancellation(token, (p) => this.binding.sendRequest('textDocument/formatting', {
221
+ textDocument: { uri: model.uri.toString() },
222
+ options: { tabSize: options.tabSize, insertSpaces: options.insertSpaces },
223
+ }, p), []).then((r) => (r ? (0, util_js_1.toMonacoTextEdits)(r) : [])),
224
+ }));
225
+ }
226
+ /** Register range formatting provider backed by the LSP server */
227
+ registerRangeFormattingProvider() {
228
+ const monaco = this.monaco;
229
+ if (!monaco)
230
+ return;
231
+ this.binding.addDisposable(monaco.languages.registerDocumentRangeFormattingEditProvider(this.options.languageSelector, {
232
+ provideDocumentRangeFormattingEdits: (model, range, options, token) => withCancellation(token, (p) => this.binding.sendRequest('textDocument/rangeFormatting', {
233
+ textDocument: { uri: model.uri.toString() },
234
+ range: (0, util_js_1.toLspRange)(range),
235
+ options: { tabSize: options.tabSize, insertSpaces: options.insertSpaces },
236
+ }, p), []).then((r) => (r ? (0, util_js_1.toMonacoTextEdits)(r) : [])),
237
+ }));
238
+ }
239
+ /** Register on-type formatting provider backed by the LSP server */
240
+ registerOnTypeFormattingProvider(opts) {
241
+ const monaco = this.monaco;
242
+ if (!monaco)
243
+ return;
244
+ const triggers = [opts.firstTriggerCharacter, ...(opts.moreTriggerCharacter ?? [])];
245
+ this.binding.addDisposable(monaco.languages.registerOnTypeFormattingEditProvider(this.options.languageSelector, {
246
+ autoFormatTriggerCharacters: triggers,
247
+ provideOnTypeFormattingEdits: (model, position, ch, options, token) => withCancellation(token, (p) => this.binding.sendRequest('textDocument/onTypeFormatting', {
248
+ textDocument: { uri: model.uri.toString() },
249
+ position: (0, util_js_1.toLspPosition)(position),
250
+ ch,
251
+ options: { tabSize: options.tabSize, insertSpaces: options.insertSpaces },
252
+ }, p), []).then((r) => (r ? (0, util_js_1.toMonacoTextEdits)(r) : [])),
253
+ }));
254
+ }
255
+ // ---------------- Editor event handlers ----------------
256
+ /** Send textDocument/didChange according to server sync kind */
257
+ handleContentChange(e) {
258
+ const model = this.editor?.getModel();
259
+ if (!model)
260
+ return;
261
+ const uri = model.uri.toString();
262
+ const version = model.getVersionId();
263
+ // Respect TextDocumentSyncKind
264
+ let contentChanges;
265
+ if (this.syncKind === 1) {
266
+ // Full: send entire text
267
+ contentChanges = [{ text: model.getValue() }];
268
+ }
269
+ else if (this.syncKind === 2) {
270
+ // Incremental: send ranged changes
271
+ contentChanges = e.changes.map((c) => ({ range: (0, util_js_1.toLspRange)(c.range), text: c.text }));
272
+ }
273
+ else {
274
+ // None/unknown: no-op
275
+ return;
276
+ }
277
+ this.binding.sendNotification('textDocument/didChange', {
278
+ textDocument: { uri, version },
279
+ contentChanges,
280
+ });
281
+ }
282
+ /** Handle model open/close and send didOpen/didClose notifications */
283
+ handleModelChange(event) {
284
+ // Close old model if open
285
+ if (event.oldModelUrl) {
286
+ const oldUri = event.oldModelUrl.toString();
287
+ if (this.openDocuments.has(oldUri)) {
288
+ this.binding.sendNotification('textDocument/didClose', { textDocument: { uri: oldUri } });
289
+ this.openDocuments.delete(oldUri);
290
+ // Clear old model markers
291
+ const monacoApi = this.monaco;
292
+ if (monacoApi) {
293
+ const oldModel = monacoApi.editor.getModel(event.oldModelUrl);
294
+ if (oldModel)
295
+ monacoApi.editor.setModelMarkers(oldModel, this.MARKER_OWNER, []);
296
+ }
297
+ }
298
+ }
299
+ // Open new model
300
+ const newModel = this.editor?.getModel();
301
+ if (!newModel)
302
+ return;
303
+ const newUri = newModel.uri.toString();
304
+ // Avoid reopening same URI
305
+ if (this.openDocuments.has(newUri))
306
+ return;
307
+ // Cleanup on model dispose
308
+ this.binding.addDisposable(newModel.onWillDispose(() => {
309
+ const uri = newModel.uri.toString();
310
+ if (this.openDocuments.has(uri)) {
311
+ this.binding.sendNotification('textDocument/didClose', { textDocument: { uri } });
312
+ this.openDocuments.delete(uri);
313
+ }
314
+ // Clear markers on dispose
315
+ const monacoApi = this.monaco;
316
+ if (monacoApi)
317
+ monacoApi.editor.setModelMarkers(newModel, this.MARKER_OWNER, []);
318
+ }));
319
+ // Send didOpen and track
320
+ this.binding.sendNotification('textDocument/didOpen', {
321
+ textDocument: {
322
+ uri: newUri,
323
+ languageId: newModel.getLanguageId(),
324
+ version: newModel.getVersionId(),
325
+ text: newModel.getValue(),
326
+ },
327
+ });
328
+ this.openDocuments.add(newUri);
329
+ }
330
+ /** Listen for publishDiagnostics and update Monaco markers */
331
+ wireDiagnostics() {
332
+ const monacoApi = this.monaco;
333
+ if (!monacoApi)
334
+ return;
335
+ this.binding.onServerNotification('textDocument/publishDiagnostics', (params) => {
336
+ try {
337
+ const { uri, diagnostics, version } = params;
338
+ const model = monacoApi.editor.getModel(monacoApi.Uri.parse(uri));
339
+ if (!model)
340
+ return;
341
+ if (typeof version === 'number' && model.getVersionId() !== version)
342
+ return;
343
+ const markers = (0, util_js_1.toMonacoMarkers)(monacoApi, diagnostics);
344
+ monacoApi.editor.setModelMarkers(model, this.MARKER_OWNER, markers);
345
+ }
346
+ catch (e) {
347
+ // Swallow diagnostics errors
348
+ }
349
+ });
350
+ }
351
+ static CAPABILITIES = {
352
+ textDocument: {
353
+ synchronization: {
354
+ dynamicRegistration: false,
355
+ willSave: false,
356
+ willSaveWaitUntil: false,
357
+ didSave: false,
358
+ },
359
+ completion: {
360
+ dynamicRegistration: false,
361
+ completionItem: {
362
+ snippetSupport: true,
363
+ commitCharactersSupport: true,
364
+ documentationFormat: ['markdown', 'plaintext'],
365
+ deprecatedSupport: true,
366
+ preselectSupport: true,
367
+ tagSupport: {
368
+ valueSet: [1], // 1 = Deprecated
369
+ },
370
+ insertReplaceSupport: true,
371
+ resolveSupport: {
372
+ properties: ['documentation', 'detail', 'additionalTextEdits'],
373
+ },
374
+ insertTextModeSupport: {
375
+ valueSet: [1, 2], // 1 = asIs, 2 = adjustIndentation
376
+ },
377
+ labelDetailsSupport: true,
378
+ },
379
+ completionItemKind: {
380
+ valueSet: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25],
381
+ },
382
+ contextSupport: true,
383
+ },
384
+ hover: {
385
+ dynamicRegistration: false,
386
+ contentFormat: ['markdown', 'plaintext'],
387
+ },
388
+ signatureHelp: {
389
+ dynamicRegistration: false,
390
+ signatureInformation: {
391
+ documentationFormat: ['markdown', 'plaintext'],
392
+ parameterInformation: {
393
+ labelOffsetSupport: true,
394
+ },
395
+ activeParameterSupport: true,
396
+ },
397
+ contextSupport: true,
398
+ },
399
+ declaration: {
400
+ dynamicRegistration: false,
401
+ linkSupport: true,
402
+ },
403
+ definition: {
404
+ dynamicRegistration: false,
405
+ linkSupport: true,
406
+ },
407
+ typeDefinition: {
408
+ dynamicRegistration: false,
409
+ linkSupport: true,
410
+ },
411
+ implementation: {
412
+ dynamicRegistration: false,
413
+ linkSupport: true,
414
+ },
415
+ references: {
416
+ dynamicRegistration: false,
417
+ },
418
+ documentHighlight: {
419
+ dynamicRegistration: false,
420
+ },
421
+ documentSymbol: {
422
+ dynamicRegistration: false,
423
+ symbolKind: {
424
+ valueSet: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
425
+ },
426
+ hierarchicalDocumentSymbolSupport: true,
427
+ tagSupport: {
428
+ valueSet: [1], // 1 = Deprecated
429
+ },
430
+ labelSupport: true,
431
+ },
432
+ codeAction: {
433
+ dynamicRegistration: false,
434
+ codeActionLiteralSupport: {
435
+ codeActionKind: {
436
+ valueSet: [
437
+ '',
438
+ 'quickfix',
439
+ 'refactor',
440
+ 'refactor.extract',
441
+ 'refactor.inline',
442
+ 'refactor.rewrite',
443
+ 'source',
444
+ 'source.organizeImports',
445
+ ],
446
+ },
447
+ },
448
+ isPreferredSupport: true,
449
+ disabledSupport: true,
450
+ dataSupport: true,
451
+ resolveSupport: {
452
+ properties: ['edit'],
453
+ },
454
+ honorsChangeAnnotations: false,
455
+ },
456
+ codeLens: {
457
+ dynamicRegistration: false,
458
+ },
459
+ formatting: {
460
+ dynamicRegistration: false,
461
+ },
462
+ rangeFormatting: {
463
+ dynamicRegistration: false,
464
+ },
465
+ onTypeFormatting: {
466
+ dynamicRegistration: false,
467
+ },
468
+ rename: {
469
+ dynamicRegistration: false,
470
+ prepareSupport: true,
471
+ prepareSupportDefaultBehavior: 1,
472
+ honorsChangeAnnotations: false,
473
+ },
474
+ documentLink: {
475
+ dynamicRegistration: false,
476
+ tooltipSupport: true,
477
+ },
478
+ foldingRange: {
479
+ dynamicRegistration: false,
480
+ rangeLimit: 5000,
481
+ lineFoldingOnly: true,
482
+ },
483
+ selectionRange: {
484
+ dynamicRegistration: false,
485
+ },
486
+ publishDiagnostics: {
487
+ relatedInformation: true,
488
+ tagSupport: {
489
+ valueSet: [1, 2], // 1 = Unnecessary, 2 = Deprecated
490
+ },
491
+ versionSupport: true,
492
+ codeDescriptionSupport: true,
493
+ dataSupport: true,
494
+ },
495
+ },
496
+ workspace: {
497
+ applyEdit: false,
498
+ workspaceEdit: {
499
+ documentChanges: false,
500
+ resourceOperations: [],
501
+ failureHandling: 'abort',
502
+ normalizesLineEndings: false,
503
+ changeAnnotationSupport: {
504
+ groupsOnLabel: false,
505
+ },
506
+ },
507
+ didChangeConfiguration: {
508
+ dynamicRegistration: false,
509
+ },
510
+ didChangeWatchedFiles: {
511
+ dynamicRegistration: false,
512
+ },
513
+ symbol: {
514
+ dynamicRegistration: false,
515
+ symbolKind: {
516
+ valueSet: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26],
517
+ },
518
+ tagSupport: {
519
+ valueSet: [1], // 1 = Deprecated
520
+ },
521
+ },
522
+ executeCommand: {
523
+ dynamicRegistration: false,
524
+ },
525
+ workspaceFolders: false,
526
+ configuration: false,
527
+ semanticTokens: {
528
+ refreshSupport: false,
529
+ },
530
+ codeLens: {
531
+ refreshSupport: false,
532
+ },
533
+ fileOperations: {
534
+ dynamicRegistration: false,
535
+ didCreate: false,
536
+ didRename: false,
537
+ didDelete: false,
538
+ willCreate: false,
539
+ willRename: false,
540
+ willDelete: false,
541
+ },
542
+ inlineValue: {
543
+ refreshSupport: false,
544
+ },
545
+ inlayHint: {
546
+ refreshSupport: false,
547
+ },
548
+ diagnostics: {
549
+ refreshSupport: false,
550
+ },
551
+ },
552
+ window: {
553
+ workDoneProgress: true,
554
+ showMessage: {
555
+ messageActionItem: {
556
+ additionalPropertiesSupport: true,
557
+ },
558
+ },
559
+ showDocument: {
560
+ support: false,
561
+ },
562
+ },
563
+ general: {
564
+ regularExpressions: {
565
+ engine: 'ECMAScript',
566
+ version: 'ES2020',
567
+ },
568
+ markdown: {
569
+ parser: 'marked',
570
+ version: '1.0.0',
571
+ },
572
+ },
573
+ };
574
+ }
575
+ exports.LspMonacoClient = LspMonacoClient;
576
+ const withCancellation = async (token, f, cancelled = null) => {
577
+ if (token.isCancellationRequested)
578
+ return cancelled;
579
+ const controller = new AbortController();
580
+ const off = token.onCancellationRequested(() => controller.abort());
581
+ try {
582
+ const result = await f({ signal: controller.signal });
583
+ if (result.cancelled)
584
+ return cancelled;
585
+ return result.result;
586
+ }
587
+ catch (e) {
588
+ return cancelled;
589
+ }
590
+ finally {
591
+ off.dispose();
592
+ }
593
+ };
594
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeNotification = exports.makeRequest = exports.JSONRPC_VERSION = exports.isId = void 0;
4
+ const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
5
+ const isId = (id) => typeof id === 'number' || typeof id === 'string';
6
+ exports.isId = isId;
7
+ exports.JSONRPC_VERSION = '2.0';
8
+ const makeRequest = (id, method, params) => ({
9
+ jsonrpc: exports.JSONRPC_VERSION,
10
+ id,
11
+ method,
12
+ params,
13
+ });
14
+ exports.makeRequest = makeRequest;
15
+ const makeNotification = (method, params) => ({
16
+ jsonrpc: exports.JSONRPC_VERSION,
17
+ method,
18
+ params,
19
+ });
20
+ exports.makeNotification = makeNotification;
21
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":";;;AAAA,mFA8BuC;AAKhC,MAAM,IAAI,GAAG,CAAC,EAAW,EAAY,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAA;AAAlF,QAAA,IAAI,QAA8E;AA8BlF,QAAA,eAAe,GAAG,KAAK,CAAA;AAoB7B,MAAM,WAAW,GAAG,CACzB,EAAM,EACN,MAAS,EACT,MAAwB,EACa,EAAE,CAAC,CAAC;IACzC,OAAO,EAAE,uBAAe;IACxB,EAAE;IACF,MAAM;IACN,MAAM;CACP,CAAC,CAAA;AATW,QAAA,WAAW,eAStB;AAEK,MAAM,gBAAgB,GAAG,CAC9B,MAAS,EACT,MAA4B,EACkB,EAAE,CAAC,CAAC;IAClD,OAAO,EAAE,uBAAe;IACxB,MAAM;IACN,MAAM;CACP,CAAC,CAAA;AAPW,QAAA,gBAAgB,oBAO3B"}