@difizen/libro-lsp 0.1.2

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +0 -0
  3. package/es/adapters/adapter.d.ts +255 -0
  4. package/es/adapters/adapter.d.ts.map +1 -0
  5. package/es/adapters/adapter.js +647 -0
  6. package/es/adapters/notebook-adapter.d.ts +150 -0
  7. package/es/adapters/notebook-adapter.d.ts.map +1 -0
  8. package/es/adapters/notebook-adapter.js +588 -0
  9. package/es/adapters/status-message.d.ts +48 -0
  10. package/es/adapters/status-message.d.ts.map +1 -0
  11. package/es/adapters/status-message.js +110 -0
  12. package/es/connection-manager.d.ts +199 -0
  13. package/es/connection-manager.d.ts.map +1 -0
  14. package/es/connection-manager.js +685 -0
  15. package/es/connection.d.ts +149 -0
  16. package/es/connection.d.ts.map +1 -0
  17. package/es/connection.js +591 -0
  18. package/es/extractors/index.d.ts +4 -0
  19. package/es/extractors/index.d.ts.map +1 -0
  20. package/es/extractors/index.js +6 -0
  21. package/es/extractors/manager.d.ts +31 -0
  22. package/es/extractors/manager.d.ts.map +1 -0
  23. package/es/extractors/manager.js +90 -0
  24. package/es/extractors/text-extractor.d.ts +56 -0
  25. package/es/extractors/text-extractor.d.ts.map +1 -0
  26. package/es/extractors/text-extractor.js +72 -0
  27. package/es/extractors/types.d.ts +68 -0
  28. package/es/extractors/types.d.ts.map +1 -0
  29. package/es/extractors/types.js +1 -0
  30. package/es/feature.d.ts +29 -0
  31. package/es/feature.d.ts.map +1 -0
  32. package/es/feature.js +85 -0
  33. package/es/index.d.ts +19 -0
  34. package/es/index.d.ts.map +1 -0
  35. package/es/index.js +21 -0
  36. package/es/lsp-app-contribution.d.ts +19 -0
  37. package/es/lsp-app-contribution.d.ts.map +1 -0
  38. package/es/lsp-app-contribution.js +155 -0
  39. package/es/lsp-protocol.d.ts +10 -0
  40. package/es/lsp-protocol.d.ts.map +1 -0
  41. package/es/lsp-protocol.js +1 -0
  42. package/es/lsp.d.ts +136 -0
  43. package/es/lsp.d.ts.map +1 -0
  44. package/es/lsp.js +141 -0
  45. package/es/manager.d.ts +142 -0
  46. package/es/manager.d.ts.map +1 -0
  47. package/es/manager.js +423 -0
  48. package/es/module.d.ts +3 -0
  49. package/es/module.d.ts.map +1 -0
  50. package/es/module.js +21 -0
  51. package/es/plugin.d.ts +56 -0
  52. package/es/plugin.d.ts.map +1 -0
  53. package/es/plugin.js +0 -0
  54. package/es/positioning.d.ts +66 -0
  55. package/es/positioning.d.ts.map +1 -0
  56. package/es/positioning.js +96 -0
  57. package/es/schema.d.ts +240 -0
  58. package/es/schema.d.ts.map +1 -0
  59. package/es/schema.js +0 -0
  60. package/es/tokens.d.ts +677 -0
  61. package/es/tokens.d.ts.map +1 -0
  62. package/es/tokens.js +183 -0
  63. package/es/utils.d.ts +33 -0
  64. package/es/utils.d.ts.map +1 -0
  65. package/es/utils.js +168 -0
  66. package/es/virtual/document.d.ts +546 -0
  67. package/es/virtual/document.d.ts.map +1 -0
  68. package/es/virtual/document.js +1263 -0
  69. package/es/ws-connection/server-capability-registration.d.ts +19 -0
  70. package/es/ws-connection/server-capability-registration.d.ts.map +1 -0
  71. package/es/ws-connection/server-capability-registration.js +51 -0
  72. package/es/ws-connection/types.d.ts +76 -0
  73. package/es/ws-connection/types.d.ts.map +1 -0
  74. package/es/ws-connection/types.js +1 -0
  75. package/es/ws-connection/ws-connection.d.ts +105 -0
  76. package/es/ws-connection/ws-connection.d.ts.map +1 -0
  77. package/es/ws-connection/ws-connection.js +301 -0
  78. package/package.json +67 -0
  79. package/src/adapters/adapter.ts +611 -0
  80. package/src/adapters/notebook-adapter.ts +463 -0
  81. package/src/adapters/status-message.ts +93 -0
  82. package/src/connection-manager.ts +626 -0
  83. package/src/connection.ts +570 -0
  84. package/src/extractors/index.ts +6 -0
  85. package/src/extractors/manager.ts +82 -0
  86. package/src/extractors/text-extractor.ts +94 -0
  87. package/src/extractors/types.ts +78 -0
  88. package/src/feature.ts +60 -0
  89. package/src/index.spec.ts +10 -0
  90. package/src/index.ts +21 -0
  91. package/src/lsp-app-contribution.ts +83 -0
  92. package/src/lsp-protocol.ts +10 -0
  93. package/src/lsp.ts +160 -0
  94. package/src/manager.ts +358 -0
  95. package/src/module.ts +32 -0
  96. package/src/plugin.ts +62 -0
  97. package/src/positioning.ts +121 -0
  98. package/src/schema.ts +249 -0
  99. package/src/tokens.ts +843 -0
  100. package/src/utils.ts +109 -0
  101. package/src/virtual/document.ts +1250 -0
  102. package/src/ws-connection/server-capability-registration.ts +77 -0
  103. package/src/ws-connection/types.ts +102 -0
  104. package/src/ws-connection/ws-connection.ts +320 -0
package/es/tokens.d.ts ADDED
@@ -0,0 +1,677 @@
1
+ import type { IEditor as ICodeEditor } from '@difizen/libro-code-editor';
2
+ import type { NotebookView } from '@difizen/libro-core';
3
+ import type { Disposable, Emitter, Event } from '@difizen/mana-app';
4
+ import type * as rpc from 'vscode-jsonrpc';
5
+ import type * as lsp from 'vscode-languageserver-protocol';
6
+ import type { WidgetLSPAdapter } from './adapters/adapter.js';
7
+ import type { IForeignCodeExtractor } from './extractors/types.js';
8
+ import type { AnyCompletion, AnyLocation, ClientCapabilities, LanguageIdentifier } from './lsp.js';
9
+ import type { LanguageServer1 as LSPLanguageServerSettings } from './plugin.js';
10
+ import type * as SCHEMA from './schema.js';
11
+ import type { VirtualDocument } from './virtual/document.js';
12
+ import type { IDocumentInfo, ILspConnection, ILspOptions } from './ws-connection/types.js';
13
+ export { IDocumentInfo };
14
+ /**
15
+ * Example server keys==ids that are expected. The list is not exhaustive.
16
+ * Custom server keys are allowed. Constraining the values helps avoid errors,
17
+ * but at runtime any value is allowed.
18
+ */
19
+ export type TLanguageServerId = 'pyright-extended' | 'pyright' | 'pylsp' | 'bash-language-server' | 'dockerfile-language-server-nodejs' | 'javascript-typescript-langserver' | 'unified-language-server' | 'vscode-css-languageserver-bin' | 'vscode-html-languageserver-bin' | 'vscode-json-languageserver-bin' | 'yaml-language-server' | 'r-languageserver';
20
+ /**
21
+ * Type alias for the server ids.
22
+ */
23
+ export type TServerKeys = TLanguageServerId;
24
+ /**
25
+ * Type of language server configuration, it is a map between server
26
+ * id and its setting.
27
+ */
28
+ export type TLanguageServerConfigurations = Partial<Record<TServerKeys, LSPLanguageServerSettings>>;
29
+ /**
30
+ * Type of language server session, it is a map between server
31
+ * id and the associated session.
32
+ */
33
+ export type TSessionMap = Map<TServerKeys, SCHEMA.LanguageServerSession>;
34
+ /**
35
+ * Type of language server specs, it is a map between server
36
+ * id and the associated specs.
37
+ */
38
+ export type TSpecsMap = Map<TServerKeys, SCHEMA.LanguageServerSpec>;
39
+ /**
40
+ * Type alias for language server id, it helps to clarify other types.
41
+ */
42
+ export type TLanguageId = string;
43
+ export interface ILanguageServerManager extends Disposable {
44
+ /**
45
+ * @alpha
46
+ *
47
+ * Signal emitted when the language server sessions are changed.
48
+ */
49
+ sessionsChanged: Event<void>;
50
+ /**
51
+ * @alpha
52
+ *
53
+ * The current session information of running language servers.
54
+ */
55
+ readonly sessions: TSessionMap;
56
+ /**
57
+ * @alpha
58
+ *
59
+ * A promise that is fulfilled when the connection manager is ready.
60
+ */
61
+ readonly ready: Promise<void>;
62
+ /**
63
+ * @alpha
64
+ *
65
+ * Current endpoint to get the status of running language servers
66
+ */
67
+ readonly statusUrl: string;
68
+ /**
69
+ * @alpha
70
+ *
71
+ * Status code of the `fetchSession` request.
72
+ */
73
+ readonly statusCode: number;
74
+ /**
75
+ * @alpha
76
+ *
77
+ * Check if the manager is enabled or disabled
78
+ */
79
+ readonly isEnabled: boolean;
80
+ /**
81
+ * @alpha
82
+ *
83
+ * Enable the language server services
84
+ */
85
+ enable(): void;
86
+ /**
87
+ * @alpha
88
+ *
89
+ * Disable the language server services
90
+ */
91
+ disable(): void;
92
+ /**
93
+ * @alpha
94
+ *
95
+ * An ordered list of matching >running< sessions, with servers of higher rank higher in the list
96
+ */
97
+ getMatchingServers(options: IGetServerIdOptions): TLanguageServerId[];
98
+ /**
99
+ * @alpha
100
+ *
101
+ * A list of all known matching specs (whether detected or not).
102
+ */
103
+ getMatchingSpecs(options: IGetServerIdOptions): TSpecsMap;
104
+ /**
105
+ * @alpha
106
+ *
107
+ * Set the configuration for language servers
108
+ */
109
+ setConfiguration(configuration: TLanguageServerConfigurations): void;
110
+ /**
111
+ * @alpha
112
+ *
113
+ * Send a request to language server handler to get the session information.
114
+ */
115
+ fetchSessions(): Promise<void>;
116
+ }
117
+ /**
118
+ * Virtual document namespace
119
+ */
120
+ export declare namespace Document {
121
+ /**
122
+ * Code block description.
123
+ */
124
+ interface ICodeBlockOptions {
125
+ /**
126
+ * CodeEditor accessor
127
+ */
128
+ ceEditor: IEditor;
129
+ /**
130
+ * Type of the cell holding this block
131
+ */
132
+ type: string;
133
+ /**
134
+ * Editor text
135
+ *
136
+ * #### Notes
137
+ * This must always be available and should come from the document model directly.
138
+ */
139
+ value: string;
140
+ }
141
+ /**
142
+ * Code editor accessor.
143
+ */
144
+ interface IEditor {
145
+ /**
146
+ * CodeEditor getter.
147
+ *
148
+ * It will return `null` if the editor is not yet instantiated;
149
+ * e.g. to support windowed notebook.
150
+ */
151
+ getEditor(): ICodeEditor | null;
152
+ /**
153
+ * Promise getter that resolved when the editor is instantiated.
154
+ */
155
+ ready(): Promise<ICodeEditor>;
156
+ /**
157
+ * Reveal the code editor in viewport.
158
+ *
159
+ * ### Notes
160
+ * The promise will resolve when the editor is instantiated and in
161
+ * the viewport.
162
+ */
163
+ reveal(): Promise<ICodeEditor>;
164
+ }
165
+ /**
166
+ * Foreign context within code block.
167
+ */
168
+ interface IForeignContext {
169
+ /**
170
+ * The virtual document
171
+ */
172
+ foreignDocument: VirtualDocument;
173
+ /**
174
+ * The document holding the virtual document.
175
+ */
176
+ parentHost: VirtualDocument;
177
+ }
178
+ /**
179
+ * Virtual document block.
180
+ */
181
+ interface IVirtualDocumentBlock {
182
+ /**
183
+ * Line corresponding to the block in the entire foreign document
184
+ */
185
+ virtualLine: number;
186
+ /**
187
+ * The virtual document holding this virtual line.
188
+ */
189
+ virtualDocument: VirtualDocument;
190
+ /**
191
+ * The CM editor associated with this virtual line.
192
+ */
193
+ editor: IEditor;
194
+ }
195
+ }
196
+ /**
197
+ * LSP endpoint prefix.
198
+ */
199
+ export declare const URL_NS = "lsp";
200
+ export declare const ILanguageServerManagerFactory: unique symbol;
201
+ export type ILanguageServerManagerFactory = (option: ILanguageServerManagerOptions) => ILanguageServerManager;
202
+ export declare const ILanguageServerManagerOptions: unique symbol;
203
+ export interface ILanguageServerManagerOptions {
204
+ /**
205
+ * The Jupyter server settings objec
206
+ */
207
+ /**
208
+ * Base URL of current JupyterLab server.
209
+ */
210
+ baseUrl?: string;
211
+ /**
212
+ * Number of connection retries to fetch the sessions.
213
+ * Default 2.
214
+ */
215
+ retries?: number;
216
+ /**
217
+ * The interval for retries, default 10 seconds.
218
+ */
219
+ retriesInterval?: number;
220
+ }
221
+ /**
222
+ * The argument for getting server session or specs.
223
+ */
224
+ export interface IGetServerIdOptions {
225
+ /**
226
+ * Language server id
227
+ */
228
+ language?: TLanguageId;
229
+ /**
230
+ * Server specs mime type.
231
+ */
232
+ mimeType?: string;
233
+ }
234
+ /**
235
+ * Option to create the websocket connection to the LSP proxy server
236
+ * on the backend.
237
+ */
238
+ export interface ISocketConnectionOptions {
239
+ /**
240
+ * The virtual document trying to connect to the LSP server.
241
+ */
242
+ virtualDocument: VirtualDocument;
243
+ /**
244
+ * The language identifier, corresponding to the API endpoint on the
245
+ * LSP proxy server.
246
+ */
247
+ language: string;
248
+ /**
249
+ * LSP capabilities describing currently supported features
250
+ */
251
+ capabilities: ClientCapabilities;
252
+ /**
253
+ * Is the file format is supported by LSP?
254
+ */
255
+ hasLspSupportedFile: boolean;
256
+ }
257
+ /**
258
+ * @alpha
259
+ *
260
+ * Interface describing the LSP connection state
261
+ */
262
+ export interface IDocumentConnectionData {
263
+ /**
264
+ * The virtual document connected to the language server
265
+ */
266
+ virtualDocument: VirtualDocument;
267
+ /**
268
+ * The connection between the virtual document and the language server.
269
+ */
270
+ connection: ILSPConnection;
271
+ }
272
+ export declare const ILSPDocumentConnectionManager: unique symbol;
273
+ /**
274
+ * @alpha
275
+ *
276
+ * The LSP connection state manager
277
+ */
278
+ export interface ILSPDocumentConnectionManager {
279
+ /**
280
+ * The mapping of document uri to the connection to language server.
281
+ */
282
+ connections: Map<VirtualDocument.uri, ILSPConnection>;
283
+ /**
284
+ * The mapping of document uri to the virtual document.
285
+ */
286
+ documents: Map<VirtualDocument.uri, VirtualDocument>;
287
+ /**
288
+ * The mapping of document uri to the widget adapter.
289
+ */
290
+ adapters: Map<string, WidgetLSPAdapter<NotebookView>>;
291
+ /**
292
+ * Signal emitted when a connection is connected.
293
+ */
294
+ connected: Event<IDocumentConnectionData>;
295
+ /**
296
+ * Signal emitted when a connection is disconnected.
297
+ */
298
+ disconnected: Event<IDocumentConnectionData>;
299
+ /**
300
+ * Signal emitted when the language server is initialized.
301
+ */
302
+ initialized: Event<IDocumentConnectionData>;
303
+ /**
304
+ * Signal emitted when a virtual document is closed.
305
+ */
306
+ closed: Event<IDocumentConnectionData>;
307
+ /**
308
+ * Signal emitted when the content of a virtual document is changed.
309
+ */
310
+ documentsChanged: Event<Map<VirtualDocument.uri, VirtualDocument>>;
311
+ /**
312
+ * The language server manager instance.
313
+ */
314
+ languageServerManager: ILanguageServerManager;
315
+ /**
316
+ * A promise that is fulfilled when the connection manager is ready.
317
+ */
318
+ readonly ready: Promise<void>;
319
+ /**
320
+ * Handles the settings that do not require an existing connection
321
+ * with a language server (or can influence to which server the
322
+ * connection will be created, e.g. `rank`).
323
+ *
324
+ * This function should be called **before** initialization of servers.
325
+ */
326
+ updateConfiguration(allServerSettings: TLanguageServerConfigurations): void;
327
+ /**
328
+ * Handles the settings that the language servers accept using
329
+ * `onDidChangeConfiguration` messages, which should be passed under
330
+ * the "serverSettings" keyword in the setting registry.
331
+ * Other configuration options are handled by `updateConfiguration` instead.
332
+ *
333
+ * This function should be called **after** initialization of servers.
334
+ */
335
+ updateServerConfigurations(allServerSettings: TLanguageServerConfigurations): void;
336
+ /**
337
+ * Retry to connect to the server each `reconnectDelay` seconds
338
+ * and for `retrialsLeft` times.
339
+ */
340
+ retryToConnect(options: ISocketConnectionOptions, reconnectDelay: number, retrialsLeft: number): Promise<void>;
341
+ /**
342
+ * Create a new connection to the language server
343
+ * @return A promise of the LSP connection
344
+ */
345
+ connect(options: ISocketConnectionOptions, firstTimeoutSeconds?: number, secondTimeoutMinute?: number): Promise<ILSPConnection | undefined>;
346
+ /**
347
+ * Disconnect the connection to the language server of the requested
348
+ * language.
349
+ */
350
+ disconnect(languageId: TLanguageServerId): void;
351
+ /**
352
+ * Disconnect the signals of requested virtual document uri.
353
+ */
354
+ unregisterDocument(uri: string): void;
355
+ /**
356
+ * Register a widget adapter.
357
+ *
358
+ * @param path - path to current document widget of input adapter
359
+ * @param adapter - the adapter need to be registered
360
+ */
361
+ registerAdapter(path: string, adapter: WidgetLSPAdapter<NotebookView>): void;
362
+ }
363
+ /**
364
+ * @alpha
365
+ *
366
+ * Interface describing the client feature
367
+ */
368
+ export interface IFeature {
369
+ /**
370
+ * The feature identifier. It must be the same as the feature plugin id.
371
+ */
372
+ id: string;
373
+ /**
374
+ * LSP capabilities implemented by the feature.
375
+ */
376
+ capabilities?: ClientCapabilities;
377
+ }
378
+ export declare const ILSPFeatureManager: unique symbol;
379
+ /**
380
+ * @alpha
381
+ *
382
+ * The LSP feature manager
383
+ */
384
+ export interface ILSPFeatureManager {
385
+ /**
386
+ * A read-only registry of all registered features.
387
+ */
388
+ readonly features: IFeature[];
389
+ /**
390
+ * Register the new feature (frontend capability)
391
+ * for one or more code editor implementations.
392
+ */
393
+ register(feature: IFeature): void;
394
+ /**
395
+ * Signal emitted when a feature is registered
396
+ */
397
+ featuresRegistered: Event<IFeature>;
398
+ /**
399
+ * Get capabilities of all registered features
400
+ */
401
+ clientCapabilities(): ClientCapabilities;
402
+ }
403
+ export declare const ILSPCodeExtractorsManager: unique symbol;
404
+ /**
405
+ * @alpha
406
+ *
407
+ * Manages code transclusion plugins.
408
+ */
409
+ export interface ILSPCodeExtractorsManager {
410
+ /**
411
+ * Get the foreign code extractors.
412
+ */
413
+ getExtractors(cellType: string, hostLanguage: string | null): IForeignCodeExtractor[];
414
+ /**
415
+ * Register the extraction rules to be applied in documents with language `host_language`.
416
+ */
417
+ register(extractor: IForeignCodeExtractor, hostLanguage: LanguageIdentifier | null): void;
418
+ }
419
+ /**
420
+ * Argument for creating a connection to the LSP proxy server.
421
+ */
422
+ export interface ILSPOptions extends ILspOptions {
423
+ /**
424
+ * Client capabilities implemented by the client.
425
+ */
426
+ capabilities: ClientCapabilities;
427
+ /**
428
+ * Language server id.
429
+ */
430
+ serverIdentifier?: string;
431
+ }
432
+ /**
433
+ * Method strings are reproduced here because a non-typing import of
434
+ * `vscode-languageserver-protocol` is ridiculously expensive.
435
+ */
436
+ export declare namespace Method {
437
+ /** Server notifications */
438
+ enum ServerNotification {
439
+ PUBLISH_DIAGNOSTICS = "textDocument/publishDiagnostics",
440
+ SHOW_MESSAGE = "window/showMessage",
441
+ LOG_TRACE = "$/logTrace",
442
+ LOG_MESSAGE = "window/logMessage"
443
+ }
444
+ /** Client notifications */
445
+ enum ClientNotification {
446
+ DID_CHANGE = "textDocument/didChange",
447
+ DID_CHANGE_CONFIGURATION = "workspace/didChangeConfiguration",
448
+ DID_OPEN = "textDocument/didOpen",
449
+ DID_SAVE = "textDocument/didSave",
450
+ INITIALIZED = "initialized",
451
+ SET_TRACE = "$/setTrace"
452
+ }
453
+ /** Server requests */
454
+ enum ServerRequest {
455
+ REGISTER_CAPABILITY = "client/registerCapability",
456
+ SHOW_MESSAGE_REQUEST = "window/showMessageRequest",
457
+ UNREGISTER_CAPABILITY = "client/unregisterCapability",
458
+ WORKSPACE_CONFIGURATION = "workspace/configuration"
459
+ }
460
+ /** Client requests */
461
+ enum ClientRequest {
462
+ COMPLETION = "textDocument/completion",
463
+ COMPLETION_ITEM_RESOLVE = "completionItem/resolve",
464
+ DEFINITION = "textDocument/definition",
465
+ DOCUMENT_HIGHLIGHT = "textDocument/documentHighlight",
466
+ DOCUMENT_SYMBOL = "textDocument/documentSymbol",
467
+ HOVER = "textDocument/hover",
468
+ IMPLEMENTATION = "textDocument/implementation",
469
+ INITIALIZE = "initialize",
470
+ REFERENCES = "textDocument/references",
471
+ RENAME = "textDocument/rename",
472
+ SIGNATURE_HELP = "textDocument/signatureHelp",
473
+ TYPE_DEFINITION = "textDocument/typeDefinition",
474
+ FORMATTING = "textDocument/formatting",
475
+ RANGE_FORMATTING = "textDocument/rangeFormatting"
476
+ }
477
+ }
478
+ /**
479
+ * Interface describing the notifications that come from the server.
480
+ */
481
+ export interface IServerNotifyParams {
482
+ [Method.ServerNotification.LOG_MESSAGE]: lsp.LogMessageParams;
483
+ [Method.ServerNotification.LOG_TRACE]: rpc.LogTraceParams;
484
+ [Method.ServerNotification.PUBLISH_DIAGNOSTICS]: lsp.PublishDiagnosticsParams;
485
+ [Method.ServerNotification.SHOW_MESSAGE]: lsp.ShowMessageParams;
486
+ }
487
+ /**
488
+ * Interface describing the notifications that come from the client.
489
+ */
490
+ export interface IClientNotifyParams {
491
+ [Method.ClientNotification
492
+ .DID_CHANGE_CONFIGURATION]: lsp.DidChangeConfigurationParams;
493
+ [Method.ClientNotification.DID_CHANGE]: lsp.DidChangeTextDocumentParams;
494
+ [Method.ClientNotification.DID_OPEN]: lsp.DidOpenTextDocumentParams;
495
+ [Method.ClientNotification.DID_SAVE]: lsp.DidSaveTextDocumentParams;
496
+ [Method.ClientNotification.INITIALIZED]: lsp.InitializedParams;
497
+ [Method.ClientNotification.SET_TRACE]: rpc.SetTraceParams;
498
+ }
499
+ /**
500
+ * Interface describing the requests sent to the server.
501
+ */
502
+ export interface IServerRequestParams {
503
+ [Method.ServerRequest.REGISTER_CAPABILITY]: lsp.RegistrationParams;
504
+ [Method.ServerRequest.SHOW_MESSAGE_REQUEST]: lsp.ShowMessageRequestParams;
505
+ [Method.ServerRequest.UNREGISTER_CAPABILITY]: lsp.UnregistrationParams;
506
+ [Method.ServerRequest.WORKSPACE_CONFIGURATION]: lsp.ConfigurationParams;
507
+ }
508
+ /**
509
+ * Interface describing the responses received from the server.
510
+ */
511
+ export interface IServerResult {
512
+ [Method.ServerRequest.REGISTER_CAPABILITY]: void;
513
+ [Method.ServerRequest.SHOW_MESSAGE_REQUEST]: lsp.MessageActionItem | null;
514
+ [Method.ServerRequest.UNREGISTER_CAPABILITY]: void;
515
+ [Method.ServerRequest.WORKSPACE_CONFIGURATION]: any[];
516
+ }
517
+ /**
518
+ * Interface describing the request sent to the client.
519
+ */
520
+ export interface IClientRequestParams {
521
+ [Method.ClientRequest.COMPLETION_ITEM_RESOLVE]: lsp.CompletionItem;
522
+ [Method.ClientRequest.COMPLETION]: lsp.CompletionParams;
523
+ [Method.ClientRequest.DEFINITION]: lsp.TextDocumentPositionParams;
524
+ [Method.ClientRequest.DOCUMENT_HIGHLIGHT]: lsp.TextDocumentPositionParams;
525
+ [Method.ClientRequest.DOCUMENT_SYMBOL]: lsp.DocumentSymbolParams;
526
+ [Method.ClientRequest.HOVER]: lsp.TextDocumentPositionParams;
527
+ [Method.ClientRequest.IMPLEMENTATION]: lsp.TextDocumentPositionParams;
528
+ [Method.ClientRequest.INITIALIZE]: lsp.InitializeParams;
529
+ [Method.ClientRequest.REFERENCES]: lsp.ReferenceParams;
530
+ [Method.ClientRequest.RENAME]: lsp.RenameParams;
531
+ [Method.ClientRequest.SIGNATURE_HELP]: lsp.TextDocumentPositionParams;
532
+ [Method.ClientRequest.TYPE_DEFINITION]: lsp.TextDocumentPositionParams;
533
+ [Method.ClientRequest.FORMATTING]: lsp.DocumentFormattingParams;
534
+ [Method.ClientRequest.RANGE_FORMATTING]: lsp.DocumentRangeFormattingParams;
535
+ }
536
+ /**
537
+ * Interface describing the responses received from the client.
538
+ */
539
+ export interface IClientResult {
540
+ [Method.ClientRequest.COMPLETION_ITEM_RESOLVE]: lsp.CompletionItem;
541
+ [Method.ClientRequest.COMPLETION]: AnyCompletion;
542
+ [Method.ClientRequest.DEFINITION]: AnyLocation;
543
+ [Method.ClientRequest.DOCUMENT_HIGHLIGHT]: lsp.DocumentHighlight[];
544
+ [Method.ClientRequest.DOCUMENT_SYMBOL]: lsp.DocumentSymbol[];
545
+ [Method.ClientRequest.HOVER]: lsp.Hover | null;
546
+ [Method.ClientRequest.IMPLEMENTATION]: AnyLocation;
547
+ [Method.ClientRequest.INITIALIZE]: lsp.InitializeResult;
548
+ [Method.ClientRequest.REFERENCES]: lsp.Location[] | null;
549
+ [Method.ClientRequest.RENAME]: lsp.WorkspaceEdit;
550
+ [Method.ClientRequest.SIGNATURE_HELP]: lsp.SignatureHelp;
551
+ [Method.ClientRequest.TYPE_DEFINITION]: AnyLocation;
552
+ [Method.ClientRequest.FORMATTING]: lsp.TextEdit[] | null;
553
+ [Method.ClientRequest.RANGE_FORMATTING]: lsp.TextEdit[] | null;
554
+ }
555
+ /**
556
+ * Type of server notification handlers, it is a map between the server
557
+ * notification name and the associated `ISignal`.
558
+ */
559
+ export type ServerNotifications<T extends keyof IServerNotifyParams = keyof IServerNotifyParams> = {
560
+ readonly [key in T]: Emitter<IServerNotifyParams[key]>;
561
+ };
562
+ /**
563
+ * Type of client notification handlers, it is a map between the client
564
+ * notification name and the associated signal.
565
+ */
566
+ export type ClientNotifications<T extends keyof IClientNotifyParams = keyof IClientNotifyParams> = {
567
+ readonly [key in T]: Emitter<IClientNotifyParams[key]>;
568
+ };
569
+ /**
570
+ * Interface describing the client request handler.
571
+ */
572
+ export interface IClientRequestHandler<T extends keyof IClientRequestParams = keyof IClientRequestParams> {
573
+ request(params: IClientRequestParams[T]): Promise<IClientResult[T]>;
574
+ }
575
+ /**
576
+ * Interface describing the server request handler.
577
+ */
578
+ export interface IServerRequestHandler<T extends keyof IServerRequestParams = keyof IServerRequestParams> {
579
+ setHandler(handler: (params: IServerRequestParams[T], connection?: ILSPConnection) => Promise<IServerResult[T]>): void;
580
+ clearHandler(): void;
581
+ }
582
+ /**
583
+ * Type of client request handlers, it is a map between the client
584
+ * request name and the associated handler.
585
+ */
586
+ export type ClientRequests<T extends keyof IClientRequestParams = keyof IClientRequestParams> = {
587
+ readonly [key in T]: IClientRequestHandler<key>;
588
+ };
589
+ /**
590
+ * Type of server request handlers, it is a map between the server
591
+ * request name and the associated handler.
592
+ */
593
+ export type ServerRequests<T extends keyof IServerRequestParams = keyof IServerRequestParams> = {
594
+ readonly [key in T]: IServerRequestHandler<key>;
595
+ };
596
+ /**
597
+ * @alpha
598
+ *
599
+ * Interface describing he connection to the language server.
600
+ */
601
+ export interface ILSPConnection extends ILspConnection {
602
+ /**
603
+ * @alpha
604
+ *
605
+ * Identifier of the language server
606
+ */
607
+ serverIdentifier?: string;
608
+ /**
609
+ * @alpha
610
+ *
611
+ * Language of the language server
612
+ */
613
+ serverLanguage?: string;
614
+ /**
615
+ * @alpha
616
+ *
617
+ * Should log all communication?
618
+ */
619
+ logAllCommunication: boolean;
620
+ /**
621
+ * @alpha
622
+ *
623
+ * Notifications that come from the client.
624
+ */
625
+ clientNotifications: ClientNotifications;
626
+ /**
627
+ * @alpha
628
+ *
629
+ * Notifications that come from the server.
630
+ */
631
+ serverNotifications: ServerNotifications;
632
+ /**
633
+ * @alpha
634
+ *
635
+ * Requests that come from the client.
636
+ */
637
+ clientRequests: ClientRequests;
638
+ /**
639
+ * @alpha
640
+ *
641
+ * Responses that come from the server.
642
+ */
643
+ serverRequests: ServerRequests;
644
+ /**
645
+ * @alpha
646
+ *
647
+ * Signal emitted when the connection is closed.
648
+ */
649
+ closeSignal: Event<boolean>;
650
+ /**
651
+ * @alpha
652
+ *
653
+ * Signal emitted when the connection receives an error
654
+ * message..
655
+ */
656
+ errorSignal: Event<any>;
657
+ /**
658
+ * @alpha
659
+ *
660
+ * Signal emitted when the connection is initialized.
661
+ */
662
+ serverInitialized: Event<lsp.ServerCapabilities<any>>;
663
+ /**
664
+ * @alpha
665
+ *
666
+ * Send the open request to the backend when the server is
667
+ * ready.
668
+ */
669
+ sendOpenWhenReady(documentInfo: IDocumentInfo): void;
670
+ /**
671
+ * @alpha
672
+ *
673
+ * Send all changes to the server.
674
+ */
675
+ sendFullTextChange(text: string, documentInfo: IDocumentInfo): void;
676
+ }
677
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}