@jupyterlab/lsp 4.0.0-alpha.11 → 4.0.0-alpha.12

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 (65) hide show
  1. package/lib/adapters/adapter.d.ts +184 -54
  2. package/lib/adapters/adapter.js +177 -132
  3. package/lib/adapters/adapter.js.map +1 -1
  4. package/lib/adapters/statusmessage.d.ts +47 -0
  5. package/lib/adapters/statusmessage.js +74 -0
  6. package/lib/adapters/statusmessage.js.map +1 -0
  7. package/lib/connection.d.ts +113 -26
  8. package/lib/connection.js +166 -105
  9. package/lib/connection.js.map +1 -1
  10. package/lib/connection_manager.d.ts +143 -18
  11. package/lib/connection_manager.js +163 -49
  12. package/lib/connection_manager.js.map +1 -1
  13. package/lib/extractors/index.d.ts +3 -0
  14. package/lib/extractors/index.js +6 -0
  15. package/lib/extractors/index.js.map +1 -0
  16. package/lib/extractors/manager.d.ts +21 -4
  17. package/lib/extractors/manager.js +22 -5
  18. package/lib/extractors/manager.js.map +1 -1
  19. package/lib/extractors/text_extractor.d.ts +34 -7
  20. package/lib/extractors/text_extractor.js +11 -0
  21. package/lib/extractors/text_extractor.js.map +1 -1
  22. package/lib/extractors/types.d.ts +8 -6
  23. package/lib/extractors/types.js +2 -0
  24. package/lib/extractors/types.js.map +1 -1
  25. package/lib/feature.d.ts +18 -3
  26. package/lib/feature.js +20 -3
  27. package/lib/feature.js.map +1 -1
  28. package/lib/index.d.ts +6 -9
  29. package/lib/index.js +8 -13
  30. package/lib/index.js.map +1 -1
  31. package/lib/lsp.d.ts +10 -4
  32. package/lib/lsp.js +2 -0
  33. package/lib/lsp.js.map +1 -1
  34. package/lib/manager.d.ts +103 -16
  35. package/lib/manager.js +118 -31
  36. package/lib/manager.js.map +1 -1
  37. package/lib/plugin.d.ts +18 -13
  38. package/lib/plugin.js +2 -1
  39. package/lib/plugin.js.map +1 -1
  40. package/lib/positioning.d.ts +43 -6
  41. package/lib/positioning.js +28 -2
  42. package/lib/positioning.js.map +1 -1
  43. package/lib/schema.js +2 -1
  44. package/lib/schema.js.map +1 -1
  45. package/lib/tokens.d.ts +275 -45
  46. package/lib/tokens.js +28 -0
  47. package/lib/tokens.js.map +1 -1
  48. package/lib/utils.d.ts +15 -1
  49. package/lib/utils.js +18 -2
  50. package/lib/utils.js.map +1 -1
  51. package/lib/virtual/document.d.ts +374 -78
  52. package/lib/virtual/document.js +375 -148
  53. package/lib/virtual/document.js.map +1 -1
  54. package/lib/ws-connection/server-capability-registration.d.ts +18 -0
  55. package/lib/ws-connection/server-capability-registration.js +46 -0
  56. package/lib/ws-connection/server-capability-registration.js.map +1 -0
  57. package/lib/ws-connection/types.d.ts +75 -0
  58. package/lib/ws-connection/types.js +7 -0
  59. package/lib/ws-connection/types.js.map +1 -0
  60. package/lib/ws-connection/ws-connection.d.ts +82 -0
  61. package/lib/ws-connection/ws-connection.js +201 -0
  62. package/lib/ws-connection/ws-connection.js.map +1 -0
  63. package/package.json +15 -16
  64. package/style/index.css +0 -2
  65. package/style/index.js +0 -2
@@ -1,5 +1,6 @@
1
- import { IDocumentInfo, IPosition, LspWsConnection } from 'lsp-ws-connection';
2
- import { ClientNotifications, ClientRequests, ILSPConnection, ILSPOptions, Method, ServerNotifications, ServerRequests } from './tokens';
1
+ import { ISignal } from '@lumino/signaling';
2
+ import { ClientNotifications, ClientRequests, IDocumentInfo, ILSPConnection, ILSPOptions, Method, ServerNotifications, ServerRequests } from './tokens';
3
+ import { LspWsConnection } from './ws-connection/ws-connection';
3
4
  import type * as lsp from 'vscode-languageserver-protocol';
4
5
  export declare const Provider: {
5
6
  [key: string]: keyof lsp.ServerCapabilities;
@@ -18,48 +19,134 @@ interface IMessageLog<T extends AnyMethod = AnyMethod> {
18
19
  message: any;
19
20
  }
20
21
  export declare class LSPConnection extends LspWsConnection implements ILSPConnection {
21
- serverIdentifier?: string;
22
- serverLanguage?: string;
23
- clientNotifications: ClientNotifications;
24
- serverNotifications: ServerNotifications;
22
+ constructor(options: ILSPOptions);
23
+ /**
24
+ * Identifier of the language server
25
+ */
26
+ readonly serverIdentifier?: string;
27
+ /**
28
+ * Language of the language server
29
+ */
30
+ readonly serverLanguage?: string;
31
+ /**
32
+ * Notifications comes from the client.
33
+ */
34
+ readonly clientNotifications: ClientNotifications;
35
+ /**
36
+ * Notifications comes from the server.
37
+ */
38
+ readonly serverNotifications: ServerNotifications;
39
+ /**
40
+ * Requests comes from the client.
41
+ */
25
42
  clientRequests: ClientRequests;
43
+ /**
44
+ * Responses comes from the server.
45
+ */
26
46
  serverRequests: ServerRequests;
47
+ /**
48
+ * Should log all communication?
49
+ */
27
50
  logAllCommunication: boolean;
28
- protected documentsToOpen: IDocumentInfo[];
29
- private _options;
30
- constructor(options: ILSPOptions);
51
+ /**
52
+ * Check if the connection is disposed
53
+ */
54
+ get isDisposed(): boolean;
55
+ /**
56
+ * Signal emitted when the connection is closed.
57
+ */
58
+ get closeSignal(): ISignal<ILSPConnection, boolean>;
59
+ /**
60
+ * Signal emitted when the connection receives an error
61
+ * message..
62
+ */
63
+ get errorSignal(): ISignal<ILSPConnection, any>;
64
+ /**
65
+ * Signal emitted when the connection is initialized.
66
+ */
67
+ get serverInitialized(): ISignal<ILSPConnection, lsp.ServerCapabilities<any>>;
68
+ /**
69
+ * Dispose the connection.
70
+ */
71
+ dispose(): void;
72
+ /**
73
+ * Helper to print the logs to logger, for now we are using
74
+ * directly the browser's console.
75
+ */
31
76
  log(kind: MessageKind, message: IMessageLog): void;
77
+ /**
78
+ * Send the open request to the backend when the server is
79
+ * ready.
80
+ */
81
+ sendOpenWhenReady(documentInfo: IDocumentInfo): void;
82
+ /**
83
+ * Send the document changes to the server.
84
+ */
85
+ sendSelectiveChange(changeEvent: lsp.TextDocumentContentChangeEvent, documentInfo: IDocumentInfo): void;
86
+ /**
87
+ * Send all changes to the server.
88
+ */
89
+ sendFullTextChange(text: string, documentInfo: IDocumentInfo): void;
90
+ /**
91
+ * Check if a provider is available in the registered capabilities.
92
+ */
93
+ provides(provider: keyof lsp.ServerCapabilities): boolean;
94
+ /**
95
+ * Close the connection to the server.
96
+ */
97
+ close(): void;
98
+ /**
99
+ * initialize a connection over a web socket that speaks the LSP
100
+ */
101
+ connect(socket: WebSocket): void;
102
+ /**
103
+ * Get send request to the server to get completion results
104
+ * from a completion item
105
+ */
106
+ getCompletionResolve(completionItem: lsp.CompletionItem): Promise<lsp.CompletionItem | undefined>;
107
+ /**
108
+ * List of documents waiting to be opened once the connection
109
+ * is ready.
110
+ */
111
+ protected documentsToOpen: IDocumentInfo[];
112
+ /**
113
+ * Generate the notification handlers
114
+ */
32
115
  protected constructNotificationHandlers<T extends ServerNotifications | ClientNotifications>(methods: typeof Method.ServerNotification | typeof Method.ClientNotification): T;
116
+ /**
117
+ * Generate the client request handler
118
+ */
33
119
  protected constructClientRequestHandler<T extends ClientRequests, U extends keyof T = keyof T>(methods: typeof Method.ClientRequest): T;
120
+ /**
121
+ * Generate the server response handler
122
+ */
34
123
  protected constructServerRequestHandler<T extends ServerRequests, U extends keyof T = keyof T>(methods: typeof Method.ServerRequest): T;
35
124
  /**
36
125
  * Initialization parameters to be sent to the language server.
37
126
  * Subclasses can overload this when adding more features.
38
127
  */
39
128
  protected initializeParams(): lsp.InitializeParams;
40
- sendOpenWhenReady(documentInfo: IDocumentInfo): void;
129
+ /**
130
+ * Callback called when the server is initialized.
131
+ */
41
132
  protected onServerInitialized(params: lsp.InitializeResult): void;
42
- protected afterInitialized(): void;
43
- sendSelectiveChange(changeEvent: lsp.TextDocumentContentChangeEvent, documentInfo: IDocumentInfo): void;
44
- sendFullTextChange(text: string, documentInfo: IDocumentInfo): void;
45
133
  /**
46
- * @deprecated The method should not be used in new code. Use provides() instead.
134
+ * Once the server is initialized, this method generates the
135
+ * client and server handlers
47
136
  */
48
- isRenameSupported(): boolean;
49
- provides(provider: keyof lsp.ServerCapabilities): boolean;
137
+ protected afterInitialized(): void;
50
138
  /**
51
- * @deprecated The method should not be used in new code
139
+ * Is the connection is closed manually?
52
140
  */
53
- rename(location: IPosition, documentInfo: IDocumentInfo, newName: string, emit?: boolean): Promise<lsp.WorkspaceEdit | null>;
54
- connect(socket: WebSocket): this;
55
- private closingManually;
56
- close(): void;
57
- private _sendChange;
58
- getCompletionResolve(completionItem: lsp.CompletionItem): Promise<lsp.CompletionItem | undefined>;
141
+ private _closingManually;
142
+ private _options;
143
+ private _closeSignal;
144
+ private _errorSignal;
145
+ private _serverInitialized;
146
+ private _isDisposed;
59
147
  /**
60
- * Does support completionItem/resolve?
61
- * @deprecated The method should not be used in new code
148
+ * Send the document changed data to the server.
62
149
  */
63
- isCompletionResolveProvider(): boolean;
150
+ private _sendChange;
64
151
  }
65
152
  export {};
package/lib/connection.js CHANGED
@@ -1,12 +1,13 @@
1
- // Disclaimer/acknowledgement: Fragments are based on LspWsConnection, which is copyright of wylieconlon and contributors and ISC licenced.
2
- // ISC licence is, quote, "functionally equivalent to the simplified BSD and MIT licenses,
3
- // but without language deemed unnecessary following the Berne Convention." (Wikipedia).
4
- // Introduced modifications are BSD licenced, copyright JupyterLab development team.
1
+ // Copyright (c) Jupyter Development Team.
2
+ // Distributed under the terms of the Modified BSD License.
5
3
  import { Signal } from '@lumino/signaling';
6
- import { LspWsConnection } from 'lsp-ws-connection';
7
- import { registerServerCapability, unregisterServerCapability } from 'lsp-ws-connection/lib/server-capability-registration';
8
4
  import { Method } from './tokens';
9
5
  import { untilReady } from './utils';
6
+ import { registerServerCapability, unregisterServerCapability } from './ws-connection/server-capability-registration';
7
+ import { LspWsConnection } from './ws-connection/ws-connection';
8
+ /**
9
+ * Helper class to handle client request
10
+ */
10
11
  class ClientRequestHandler {
11
12
  constructor(connection, method, emitter) {
12
13
  this.connection = connection;
@@ -30,16 +31,25 @@ class ClientRequestHandler {
30
31
  });
31
32
  }
32
33
  }
34
+ /**
35
+ * Helper class to handle server responses
36
+ */
33
37
  class ServerRequestHandler {
34
38
  constructor(connection, method, emitter) {
35
39
  this.connection = connection;
36
40
  this.method = method;
37
41
  this.emitter = emitter;
38
42
  // on request accepts "thenable"
39
- this.connection.onRequest(method, this.handle.bind(this));
43
+ this.connection.onRequest(method, this._handle.bind(this));
40
44
  this._handler = null;
41
45
  }
42
- handle(request) {
46
+ setHandler(handler) {
47
+ this._handler = handler;
48
+ }
49
+ clearHandler() {
50
+ this._handler = null;
51
+ }
52
+ _handle(request) {
43
53
  this.emitter.log(MessageKind.serverRequested, {
44
54
  method: this.method,
45
55
  message: request
@@ -55,12 +65,6 @@ class ServerRequestHandler {
55
65
  return result;
56
66
  });
57
67
  }
58
- setHandler(handler) {
59
- this._handler = handler;
60
- }
61
- clearHandler() {
62
- this._handler = null;
63
- }
64
68
  }
65
69
  export const Provider = {
66
70
  TEXT_DOCUMENT_SYNC: 'textDocumentSync',
@@ -88,6 +92,9 @@ export const Provider = {
88
92
  WORKSPACE_SYMBOL: 'workspaceSymbolProvider',
89
93
  WORKSPACE: 'workspace'
90
94
  };
95
+ /**
96
+ * Create a map between the request method and its handler
97
+ */
91
98
  function createMethodMap(methods, handlerFactory) {
92
99
  const result = {};
93
100
  for (let method of Object.values(methods)) {
@@ -107,7 +114,14 @@ var MessageKind;
107
114
  export class LSPConnection extends LspWsConnection {
108
115
  constructor(options) {
109
116
  super(options);
110
- this.closingManually = false;
117
+ /**
118
+ * Is the connection is closed manually?
119
+ */
120
+ this._closingManually = false;
121
+ this._closeSignal = new Signal(this);
122
+ this._errorSignal = new Signal(this);
123
+ this._serverInitialized = new Signal(this);
124
+ this._isDisposed = false;
111
125
  this._options = options;
112
126
  this.logAllCommunication = false;
113
127
  this.serverIdentifier = options.serverIdentifier;
@@ -118,17 +132,136 @@ export class LSPConnection extends LspWsConnection {
118
132
  this.serverNotifications =
119
133
  this.constructNotificationHandlers(Method.ServerNotification);
120
134
  }
135
+ /**
136
+ * Check if the connection is disposed
137
+ */
138
+ get isDisposed() {
139
+ return this._isDisposed;
140
+ }
141
+ /**
142
+ * Signal emitted when the connection is closed.
143
+ */
144
+ get closeSignal() {
145
+ return this._closeSignal;
146
+ }
147
+ /**
148
+ * Signal emitted when the connection receives an error
149
+ * message..
150
+ */
151
+ get errorSignal() {
152
+ return this._errorSignal;
153
+ }
154
+ /**
155
+ * Signal emitted when the connection is initialized.
156
+ */
157
+ get serverInitialized() {
158
+ return this._serverInitialized;
159
+ }
160
+ /**
161
+ * Dispose the connection.
162
+ */
163
+ dispose() {
164
+ if (this._isDisposed) {
165
+ return;
166
+ }
167
+ this._isDisposed = true;
168
+ this.close();
169
+ Signal.clearData(this);
170
+ }
171
+ /**
172
+ * Helper to print the logs to logger, for now we are using
173
+ * directly the browser's console.
174
+ */
121
175
  log(kind, message) {
122
176
  if (this.logAllCommunication) {
123
177
  console.log(kind, message);
124
178
  }
125
179
  }
180
+ /**
181
+ * Send the open request to the backend when the server is
182
+ * ready.
183
+ */
184
+ sendOpenWhenReady(documentInfo) {
185
+ if (this.isReady) {
186
+ this.sendOpen(documentInfo);
187
+ }
188
+ else {
189
+ this.documentsToOpen.push(documentInfo);
190
+ }
191
+ }
192
+ /**
193
+ * Send the document changes to the server.
194
+ */
195
+ sendSelectiveChange(changeEvent, documentInfo) {
196
+ this._sendChange([changeEvent], documentInfo);
197
+ }
198
+ /**
199
+ * Send all changes to the server.
200
+ */
201
+ sendFullTextChange(text, documentInfo) {
202
+ this._sendChange([{ text }], documentInfo);
203
+ }
204
+ /**
205
+ * Check if a provider is available in the registered capabilities.
206
+ */
207
+ provides(provider) {
208
+ return !!(this.serverCapabilities && this.serverCapabilities[provider]);
209
+ }
210
+ /**
211
+ * Close the connection to the server.
212
+ */
213
+ close() {
214
+ try {
215
+ this._closingManually = true;
216
+ super.close();
217
+ }
218
+ catch (e) {
219
+ this._closingManually = false;
220
+ }
221
+ }
222
+ /**
223
+ * initialize a connection over a web socket that speaks the LSP
224
+ */
225
+ connect(socket) {
226
+ super.connect(socket);
227
+ untilReady(() => {
228
+ return this.isConnected;
229
+ }, -1)
230
+ .then(() => {
231
+ this.connection.onClose(() => {
232
+ this._isConnected = false;
233
+ this._closeSignal.emit(this._closingManually);
234
+ });
235
+ })
236
+ .catch(() => {
237
+ console.error('Could not connect onClose signal');
238
+ });
239
+ }
240
+ /**
241
+ * Get send request to the server to get completion results
242
+ * from a completion item
243
+ */
244
+ async getCompletionResolve(completionItem) {
245
+ if (!this.isReady) {
246
+ return;
247
+ }
248
+ return this.connection.sendRequest('completionItem/resolve', completionItem);
249
+ }
250
+ /**
251
+ * Generate the notification handlers
252
+ */
126
253
  constructNotificationHandlers(methods) {
127
254
  return createMethodMap(methods, () => new Signal(this));
128
255
  }
256
+ /**
257
+ * Generate the client request handler
258
+ */
129
259
  constructClientRequestHandler(methods) {
130
260
  return createMethodMap(methods, method => new ClientRequestHandler(this.connection, method, this));
131
261
  }
262
+ /**
263
+ * Generate the server response handler
264
+ */
132
265
  constructServerRequestHandler(methods) {
133
266
  return createMethodMap(methods, method => new ServerRequestHandler(this.connection, method, this));
134
267
  }
@@ -137,28 +270,25 @@ export class LSPConnection extends LspWsConnection {
137
270
  * Subclasses can overload this when adding more features.
138
271
  */
139
272
  initializeParams() {
140
- return Object.assign(Object.assign({}, super.initializeParams()), {
141
- // TODO: remove as `lsp.ClientCapabilities` after upgrading to 3.17
142
- // which should finally include a fix for moniker issue:
143
- // https://github.com/microsoft/vscode-languageserver-node/pull/720
144
- capabilities: this._options.capabilities, initializationOptions: null, processId: null, workspaceFolders: null });
145
- }
146
- sendOpenWhenReady(documentInfo) {
147
- if (this.isReady) {
148
- this.sendOpen(documentInfo);
149
- }
150
- else {
151
- this.documentsToOpen.push(documentInfo);
152
- }
273
+ return Object.assign(Object.assign({}, super.initializeParams()), { capabilities: this._options.capabilities, initializationOptions: null, processId: null, workspaceFolders: null });
153
274
  }
275
+ /**
276
+ * Callback called when the server is initialized.
277
+ */
154
278
  onServerInitialized(params) {
155
279
  this.afterInitialized();
156
280
  super.onServerInitialized(params);
157
281
  while (this.documentsToOpen.length) {
158
282
  this.sendOpen(this.documentsToOpen.pop());
159
283
  }
284
+ this._serverInitialized.emit(this.serverCapabilities);
160
285
  }
286
+ /**
287
+ * Once the server is initialized, this method generates the
288
+ * client and server handlers
289
+ */
161
290
  afterInitialized() {
291
+ this.connection.onError(e => this._errorSignal.emit(e));
162
292
  for (const method of Object.values(Method.ServerNotification)) {
163
293
  const signal = this.serverNotifications[method];
164
294
  this.connection.onNotification(method, params => {
@@ -176,7 +306,7 @@ export class LSPConnection extends LspWsConnection {
176
306
  method,
177
307
  message: params
178
308
  });
179
- this.connection.sendNotification(method, params);
309
+ this.connection.sendNotification(method, params).catch(console.error);
180
310
  });
181
311
  }
182
312
  this.clientRequests = this.constructClientRequestHandler(Method.ClientRequest);
@@ -211,73 +341,16 @@ export class LSPConnection extends LspWsConnection {
211
341
  });
212
342
  });
213
343
  }
214
- sendSelectiveChange(changeEvent, documentInfo) {
215
- this._sendChange([changeEvent], documentInfo);
216
- }
217
- sendFullTextChange(text, documentInfo) {
218
- this._sendChange([{ text }], documentInfo);
219
- }
220
344
  /**
221
- * @deprecated The method should not be used in new code. Use provides() instead.
345
+ * Send the document changed data to the server.
222
346
  */
223
- isRenameSupported() {
224
- return !!(this.serverCapabilities && this.serverCapabilities.renameProvider);
225
- }
226
- provides(provider) {
227
- return !!(this.serverCapabilities && this.serverCapabilities[provider]);
228
- }
229
- /**
230
- * @deprecated The method should not be used in new code
231
- */
232
- async rename(location, documentInfo, newName, emit = true) {
233
- if (!this.isReady || !this.isRenameSupported()) {
234
- return null;
235
- }
236
- const params = {
237
- textDocument: {
238
- uri: documentInfo.uri
239
- },
240
- position: {
241
- line: location.line,
242
- character: location.ch
243
- },
244
- newName
245
- };
246
- const edit = await this.connection.sendRequest('textDocument/rename', params);
247
- if (emit) {
248
- this.emit('renamed', edit);
249
- }
250
- return edit;
251
- }
252
- connect(socket) {
253
- super.connect(socket);
254
- untilReady(() => {
255
- return this.isConnected;
256
- }, -1)
257
- .then(() => {
258
- this.connection.onClose(() => {
259
- this.isConnected = false;
260
- this.emit('close', this.closingManually);
261
- });
262
- })
263
- .catch(() => {
264
- console.error('Could not connect onClose signal');
265
- });
266
- return this;
267
- }
268
- close() {
269
- try {
270
- this.closingManually = true;
271
- super.close();
272
- }
273
- catch (e) {
274
- this.closingManually = false;
275
- }
276
- }
277
347
  _sendChange(changeEvents, documentInfo) {
278
348
  if (!this.isReady) {
279
349
  return;
280
350
  }
351
+ if (documentInfo.uri.length === 0) {
352
+ return;
353
+ }
281
354
  if (!this.openedUris.get(documentInfo.uri)) {
282
355
  this.sendOpen(documentInfo);
283
356
  }
@@ -288,22 +361,10 @@ export class LSPConnection extends LspWsConnection {
288
361
  },
289
362
  contentChanges: changeEvents
290
363
  };
291
- this.connection.sendNotification('textDocument/didChange', textDocumentChange);
364
+ this.connection
365
+ .sendNotification('textDocument/didChange', textDocumentChange)
366
+ .catch(console.error);
292
367
  documentInfo.version++;
293
368
  }
294
- async getCompletionResolve(completionItem) {
295
- if (!this.isReady || !this.isCompletionResolveProvider()) {
296
- return;
297
- }
298
- return this.connection.sendRequest('completionItem/resolve', completionItem);
299
- }
300
- /**
301
- * Does support completionItem/resolve?
302
- * @deprecated The method should not be used in new code
303
- */
304
- isCompletionResolveProvider() {
305
- var _a, _b;
306
- return (((_b = (_a = this.serverCapabilities) === null || _a === void 0 ? void 0 : _a.completionProvider) === null || _b === void 0 ? void 0 : _b.resolveProvider) || false);
307
- }
308
369
  }
309
370
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}