@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.
- package/LICENSE +21 -0
- package/README.md +0 -0
- package/es/adapters/adapter.d.ts +255 -0
- package/es/adapters/adapter.d.ts.map +1 -0
- package/es/adapters/adapter.js +647 -0
- package/es/adapters/notebook-adapter.d.ts +150 -0
- package/es/adapters/notebook-adapter.d.ts.map +1 -0
- package/es/adapters/notebook-adapter.js +588 -0
- package/es/adapters/status-message.d.ts +48 -0
- package/es/adapters/status-message.d.ts.map +1 -0
- package/es/adapters/status-message.js +110 -0
- package/es/connection-manager.d.ts +199 -0
- package/es/connection-manager.d.ts.map +1 -0
- package/es/connection-manager.js +685 -0
- package/es/connection.d.ts +149 -0
- package/es/connection.d.ts.map +1 -0
- package/es/connection.js +591 -0
- package/es/extractors/index.d.ts +4 -0
- package/es/extractors/index.d.ts.map +1 -0
- package/es/extractors/index.js +6 -0
- package/es/extractors/manager.d.ts +31 -0
- package/es/extractors/manager.d.ts.map +1 -0
- package/es/extractors/manager.js +90 -0
- package/es/extractors/text-extractor.d.ts +56 -0
- package/es/extractors/text-extractor.d.ts.map +1 -0
- package/es/extractors/text-extractor.js +72 -0
- package/es/extractors/types.d.ts +68 -0
- package/es/extractors/types.d.ts.map +1 -0
- package/es/extractors/types.js +1 -0
- package/es/feature.d.ts +29 -0
- package/es/feature.d.ts.map +1 -0
- package/es/feature.js +85 -0
- package/es/index.d.ts +19 -0
- package/es/index.d.ts.map +1 -0
- package/es/index.js +21 -0
- package/es/lsp-app-contribution.d.ts +19 -0
- package/es/lsp-app-contribution.d.ts.map +1 -0
- package/es/lsp-app-contribution.js +155 -0
- package/es/lsp-protocol.d.ts +10 -0
- package/es/lsp-protocol.d.ts.map +1 -0
- package/es/lsp-protocol.js +1 -0
- package/es/lsp.d.ts +136 -0
- package/es/lsp.d.ts.map +1 -0
- package/es/lsp.js +141 -0
- package/es/manager.d.ts +142 -0
- package/es/manager.d.ts.map +1 -0
- package/es/manager.js +423 -0
- package/es/module.d.ts +3 -0
- package/es/module.d.ts.map +1 -0
- package/es/module.js +21 -0
- package/es/plugin.d.ts +56 -0
- package/es/plugin.d.ts.map +1 -0
- package/es/plugin.js +0 -0
- package/es/positioning.d.ts +66 -0
- package/es/positioning.d.ts.map +1 -0
- package/es/positioning.js +96 -0
- package/es/schema.d.ts +240 -0
- package/es/schema.d.ts.map +1 -0
- package/es/schema.js +0 -0
- package/es/tokens.d.ts +677 -0
- package/es/tokens.d.ts.map +1 -0
- package/es/tokens.js +183 -0
- package/es/utils.d.ts +33 -0
- package/es/utils.d.ts.map +1 -0
- package/es/utils.js +168 -0
- package/es/virtual/document.d.ts +546 -0
- package/es/virtual/document.d.ts.map +1 -0
- package/es/virtual/document.js +1263 -0
- package/es/ws-connection/server-capability-registration.d.ts +19 -0
- package/es/ws-connection/server-capability-registration.d.ts.map +1 -0
- package/es/ws-connection/server-capability-registration.js +51 -0
- package/es/ws-connection/types.d.ts +76 -0
- package/es/ws-connection/types.d.ts.map +1 -0
- package/es/ws-connection/types.js +1 -0
- package/es/ws-connection/ws-connection.d.ts +105 -0
- package/es/ws-connection/ws-connection.d.ts.map +1 -0
- package/es/ws-connection/ws-connection.js +301 -0
- package/package.json +67 -0
- package/src/adapters/adapter.ts +611 -0
- package/src/adapters/notebook-adapter.ts +463 -0
- package/src/adapters/status-message.ts +93 -0
- package/src/connection-manager.ts +626 -0
- package/src/connection.ts +570 -0
- package/src/extractors/index.ts +6 -0
- package/src/extractors/manager.ts +82 -0
- package/src/extractors/text-extractor.ts +94 -0
- package/src/extractors/types.ts +78 -0
- package/src/feature.ts +60 -0
- package/src/index.spec.ts +10 -0
- package/src/index.ts +21 -0
- package/src/lsp-app-contribution.ts +83 -0
- package/src/lsp-protocol.ts +10 -0
- package/src/lsp.ts +160 -0
- package/src/manager.ts +358 -0
- package/src/module.ts +32 -0
- package/src/plugin.ts +62 -0
- package/src/positioning.ts +121 -0
- package/src/schema.ts +249 -0
- package/src/tokens.ts +843 -0
- package/src/utils.ts +109 -0
- package/src/virtual/document.ts +1250 -0
- package/src/ws-connection/server-capability-registration.ts +77 -0
- package/src/ws-connection/types.ts +102 -0
- package/src/ws-connection/ws-connection.ts +320 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
// Copyright (c) Jupyter Development Team.
|
|
8
|
+
// Distributed under the terms of the Modified BSD License.
|
|
9
|
+
|
|
10
|
+
import { Emitter } from '@difizen/mana-app';
|
|
11
|
+
export var StatusMessage = /*#__PURE__*/function () {
|
|
12
|
+
function StatusMessage() {
|
|
13
|
+
_classCallCheck(this, StatusMessage);
|
|
14
|
+
/**
|
|
15
|
+
* Timeout reference used to clear the previous `setTimeout` call.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The text message to be shown on the statusbar
|
|
19
|
+
*/
|
|
20
|
+
this._changed = new Emitter();
|
|
21
|
+
this._isDisposed = false;
|
|
22
|
+
this._message = '';
|
|
23
|
+
this._timer = null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Signal emitted on status changed event.
|
|
28
|
+
*/
|
|
29
|
+
_createClass(StatusMessage, [{
|
|
30
|
+
key: "changed",
|
|
31
|
+
get: function get() {
|
|
32
|
+
return this._changed;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Test whether the object is disposed.
|
|
37
|
+
*/
|
|
38
|
+
}, {
|
|
39
|
+
key: "isDisposed",
|
|
40
|
+
get: function get() {
|
|
41
|
+
return this._isDisposed;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Dispose the object.
|
|
46
|
+
*/
|
|
47
|
+
}, {
|
|
48
|
+
key: "dispose",
|
|
49
|
+
value: function dispose() {
|
|
50
|
+
if (this.isDisposed) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this._isDisposed = true;
|
|
54
|
+
if (this._timer) {
|
|
55
|
+
window.clearTimeout(this._timer);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The text message to be shown on the statusbar.
|
|
61
|
+
*/
|
|
62
|
+
}, {
|
|
63
|
+
key: "message",
|
|
64
|
+
get: function get() {
|
|
65
|
+
return this._message;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Set the text message and (optionally) the timeout to remove it.
|
|
70
|
+
* @param message
|
|
71
|
+
* @param timeout - number of ms to until the message is cleaned;
|
|
72
|
+
* -1 if the message should stay up indefinitely;
|
|
73
|
+
* defaults to 3000ms (3 seconds)
|
|
74
|
+
*/
|
|
75
|
+
}, {
|
|
76
|
+
key: "set",
|
|
77
|
+
value: function set(message) {
|
|
78
|
+
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000 * 3;
|
|
79
|
+
this._expireTimer();
|
|
80
|
+
this._message = message;
|
|
81
|
+
this._changed.fire();
|
|
82
|
+
if (timeout !== -1) {
|
|
83
|
+
this._timer = window.setTimeout(this.clear.bind(this), timeout);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Clear the status message.
|
|
89
|
+
*/
|
|
90
|
+
}, {
|
|
91
|
+
key: "clear",
|
|
92
|
+
value: function clear() {
|
|
93
|
+
this._message = '';
|
|
94
|
+
this._changed.fire();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Clear the previous `setTimeout` call.
|
|
99
|
+
*/
|
|
100
|
+
}, {
|
|
101
|
+
key: "_expireTimer",
|
|
102
|
+
value: function _expireTimer() {
|
|
103
|
+
if (this._timer !== null) {
|
|
104
|
+
window.clearTimeout(this._timer);
|
|
105
|
+
this._timer = null;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}]);
|
|
109
|
+
return StatusMessage;
|
|
110
|
+
}();
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import type { NotebookView } from '@difizen/libro-core';
|
|
2
|
+
import type { Event } from '@difizen/mana-app';
|
|
3
|
+
import { Emitter } from '@difizen/mana-app';
|
|
4
|
+
import type { WidgetLSPAdapter } from './adapters/adapter.js';
|
|
5
|
+
import { LSPConnection } from './connection.js';
|
|
6
|
+
import type { AskServersToSendTraceNotifications } from './plugin.js';
|
|
7
|
+
import type { Document, IDocumentConnectionData, ILanguageServerManager, ILSPConnection, ISocketConnectionOptions, TLanguageServerConfigurations, TLanguageServerId } from './tokens.js';
|
|
8
|
+
import { ILSPDocumentConnectionManager, ILanguageServerManagerFactory } from './tokens.js';
|
|
9
|
+
import type { VirtualDocument } from './virtual/document.js';
|
|
10
|
+
/**
|
|
11
|
+
* Each Widget with a document (whether file or a notebook) has the same DocumentConnectionManager
|
|
12
|
+
* (see JupyterLabWidgetAdapter). Using id_path instead of uri led to documents being overwritten
|
|
13
|
+
* as two identical id_paths could be created for two different notebooks.
|
|
14
|
+
*/
|
|
15
|
+
export declare class DocumentConnectionManager implements ILSPDocumentConnectionManager {
|
|
16
|
+
constructor(languageServerManagerFactory: ILanguageServerManagerFactory);
|
|
17
|
+
/**
|
|
18
|
+
* Map between the URI of the virtual document and its connection
|
|
19
|
+
* to the language server
|
|
20
|
+
*/
|
|
21
|
+
readonly connections: Map<VirtualDocument.uri, LSPConnection>;
|
|
22
|
+
/**
|
|
23
|
+
* Map between the path of the document and its adapter
|
|
24
|
+
*/
|
|
25
|
+
readonly adapters: Map<string, WidgetLSPAdapter<NotebookView>>;
|
|
26
|
+
/**
|
|
27
|
+
* Map between the URI of the virtual document and the document itself.
|
|
28
|
+
*/
|
|
29
|
+
readonly documents: Map<VirtualDocument.uri, VirtualDocument>;
|
|
30
|
+
/**
|
|
31
|
+
* The language server manager plugin.
|
|
32
|
+
*/
|
|
33
|
+
readonly languageServerManager: ILanguageServerManager;
|
|
34
|
+
/**
|
|
35
|
+
* Initial configuration for the language servers.
|
|
36
|
+
*/
|
|
37
|
+
initialConfigurations: TLanguageServerConfigurations;
|
|
38
|
+
/**
|
|
39
|
+
* Signal emitted when the manager is initialized.
|
|
40
|
+
*/
|
|
41
|
+
get initialized(): Event<IDocumentConnectionData>;
|
|
42
|
+
/**
|
|
43
|
+
* Signal emitted when the manager is connected to the server
|
|
44
|
+
*/
|
|
45
|
+
get connected(): Event<IDocumentConnectionData>;
|
|
46
|
+
/**
|
|
47
|
+
* Connection temporarily lost or could not be fully established; a re-connection will be attempted;
|
|
48
|
+
*/
|
|
49
|
+
get disconnected(): Event<IDocumentConnectionData>;
|
|
50
|
+
/**
|
|
51
|
+
* Connection was closed permanently and no-reconnection will be attempted, e.g.:
|
|
52
|
+
* - there was a serious server error
|
|
53
|
+
* - user closed the connection,
|
|
54
|
+
* - re-connection attempts exceeded,
|
|
55
|
+
*/
|
|
56
|
+
get closed(): Event<IDocumentConnectionData>;
|
|
57
|
+
/**
|
|
58
|
+
* Signal emitted when the document is changed.
|
|
59
|
+
*/
|
|
60
|
+
get documentsChanged(): Event<Map<VirtualDocument.uri, VirtualDocument>>;
|
|
61
|
+
/**
|
|
62
|
+
* Promise resolved when the language server manager is ready.
|
|
63
|
+
*/
|
|
64
|
+
get ready(): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Helper to connect various virtual document signal with callbacks of
|
|
67
|
+
* this class.
|
|
68
|
+
*
|
|
69
|
+
* @param virtualDocument - virtual document to be connected.
|
|
70
|
+
*/
|
|
71
|
+
connectDocumentSignals(virtualDocument: VirtualDocument): void;
|
|
72
|
+
/**
|
|
73
|
+
* Helper to disconnect various virtual document signal with callbacks of
|
|
74
|
+
* this class.
|
|
75
|
+
*
|
|
76
|
+
* @param virtualDocument - virtual document to be disconnected.
|
|
77
|
+
*/
|
|
78
|
+
disconnectDocumentSignals(virtualDocument: VirtualDocument, emit?: boolean): void;
|
|
79
|
+
/**
|
|
80
|
+
* Handle foreign document opened event.
|
|
81
|
+
*/
|
|
82
|
+
onForeignDocumentOpened(context: Document.IForeignContext): void;
|
|
83
|
+
/**
|
|
84
|
+
* Handle foreign document closed event.
|
|
85
|
+
*/
|
|
86
|
+
onForeignDocumentClosed(context: Document.IForeignContext): void;
|
|
87
|
+
/**
|
|
88
|
+
* Register a widget adapter with this manager
|
|
89
|
+
*
|
|
90
|
+
* @param path - path to the inner document of the adapter
|
|
91
|
+
* @param adapter - the adapter to be registered
|
|
92
|
+
*/
|
|
93
|
+
registerAdapter(path: string, adapter: WidgetLSPAdapter<NotebookView>): void;
|
|
94
|
+
/**
|
|
95
|
+
* Handles the settings that do not require an existing connection
|
|
96
|
+
* with a language server (or can influence to which server the
|
|
97
|
+
* connection will be created, e.g. `rank`).
|
|
98
|
+
*
|
|
99
|
+
* This function should be called **before** initialization of servers.
|
|
100
|
+
*/
|
|
101
|
+
updateConfiguration(allServerSettings: TLanguageServerConfigurations): void;
|
|
102
|
+
/**
|
|
103
|
+
* Handles the settings that the language servers accept using
|
|
104
|
+
* `onDidChangeConfiguration` messages, which should be passed under
|
|
105
|
+
* the "serverSettings" keyword in the setting registry.
|
|
106
|
+
* Other configuration options are handled by `updateConfiguration` instead.
|
|
107
|
+
*
|
|
108
|
+
* This function should be called **after** initialization of servers.
|
|
109
|
+
*/
|
|
110
|
+
updateServerConfigurations(allServerSettings: TLanguageServerConfigurations): void;
|
|
111
|
+
/**
|
|
112
|
+
* Fired the first time a connection is opened. These _should_ be the only
|
|
113
|
+
* invocation of `.on` (once remaining LSPFeature.connection_handlers are made
|
|
114
|
+
* singletons).
|
|
115
|
+
*/
|
|
116
|
+
onNewConnection: (connection: LSPConnection) => void;
|
|
117
|
+
/**
|
|
118
|
+
* Retry to connect to the server each `reconnectDelay` seconds
|
|
119
|
+
* and for `retrialsLeft` times.
|
|
120
|
+
* TODO: presently no longer referenced. A failing connection would close
|
|
121
|
+
* the socket, triggering the language server on the other end to exit.
|
|
122
|
+
*/
|
|
123
|
+
retryToConnect(options: ISocketConnectionOptions, reconnectDelay: number, retrialsLeft?: number): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Disconnect the connection to the language server of the requested
|
|
126
|
+
* language.
|
|
127
|
+
*/
|
|
128
|
+
disconnect(languageId: TLanguageServerId): void;
|
|
129
|
+
/**
|
|
130
|
+
* Create a new connection to the language server
|
|
131
|
+
* @return A promise of the LSP connection
|
|
132
|
+
*/
|
|
133
|
+
connect(options: ISocketConnectionOptions, firstTimeoutSeconds?: number, secondTimeoutMinutes?: number): Promise<ILSPConnection | undefined>;
|
|
134
|
+
/**
|
|
135
|
+
* Disconnect the signals of requested virtual document uri.
|
|
136
|
+
*/
|
|
137
|
+
unregisterDocument(uri: string, emit?: boolean): void;
|
|
138
|
+
/**
|
|
139
|
+
* Enable or disable the logging feature of the language servers
|
|
140
|
+
*/
|
|
141
|
+
updateLogging(logAllCommunication: boolean, setTrace: AskServersToSendTraceNotifications): void;
|
|
142
|
+
/**
|
|
143
|
+
* Create the LSP connection for requested virtual document.
|
|
144
|
+
*
|
|
145
|
+
* @return Return the promise of the LSP connection.
|
|
146
|
+
*/
|
|
147
|
+
protected _connectSocket(options: ISocketConnectionOptions): Promise<LSPConnection | undefined>;
|
|
148
|
+
/**
|
|
149
|
+
* Helper to apply callback on all documents of a connection.
|
|
150
|
+
*/
|
|
151
|
+
protected _forEachDocumentOfConnection(connection: ILSPConnection, callback: (virtualDocument: VirtualDocument) => void): void;
|
|
152
|
+
protected _initialized: Emitter<IDocumentConnectionData>;
|
|
153
|
+
protected _connected: Emitter<IDocumentConnectionData>;
|
|
154
|
+
protected _disconnected: Emitter<IDocumentConnectionData>;
|
|
155
|
+
protected _closed: Emitter<IDocumentConnectionData>;
|
|
156
|
+
protected _documentsChanged: Emitter<Map<string, VirtualDocument>>;
|
|
157
|
+
/**
|
|
158
|
+
* Set of ignored languages
|
|
159
|
+
*/
|
|
160
|
+
protected _ignoredLanguages: Set<string>;
|
|
161
|
+
}
|
|
162
|
+
export declare namespace DocumentConnectionManager {
|
|
163
|
+
interface IOptions {
|
|
164
|
+
/**
|
|
165
|
+
* The language server manager instance.
|
|
166
|
+
*/
|
|
167
|
+
languageServerManager: ILanguageServerManager;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generate the URI of a virtual document from input
|
|
171
|
+
*
|
|
172
|
+
* @param virtualDocument - the virtual document
|
|
173
|
+
* @param language - language of the document
|
|
174
|
+
*/
|
|
175
|
+
function solveUris(virtualDocument: VirtualDocument, language: string): IURIs | undefined;
|
|
176
|
+
interface IURIs {
|
|
177
|
+
/**
|
|
178
|
+
* The root URI set by server.
|
|
179
|
+
*
|
|
180
|
+
*/
|
|
181
|
+
base: string;
|
|
182
|
+
/**
|
|
183
|
+
* The URI to the virtual document.
|
|
184
|
+
*
|
|
185
|
+
*/
|
|
186
|
+
document: string;
|
|
187
|
+
/**
|
|
188
|
+
* Address of websocket endpoint for LSP services.
|
|
189
|
+
*
|
|
190
|
+
*/
|
|
191
|
+
server: string;
|
|
192
|
+
/**
|
|
193
|
+
* Address of websocket endpoint for the language server.
|
|
194
|
+
*
|
|
195
|
+
*/
|
|
196
|
+
socket: string;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=connection-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../src/connection-manager.ts"],"names":[],"mappings":"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"}
|