Skip to content

Commit 5246f1d

Browse files
krassowskibollwyvl
andcommitted
Use app's HTTP settings, cherry-picked from jupyter-lsp/jupyterlab-lsp#882
Co-authored-by: Nicholas Bollweg <[email protected]>
1 parent 9780334 commit 5246f1d

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

packages/lsp-extension/src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ function activate(
9494
settingRendererRegistry: IFormRendererRegistry | null
9595
): ILSPDocumentConnectionManager {
9696
const LANGUAGE_SERVERS = 'languageServers';
97-
const languageServerManager = new LanguageServerManager({});
97+
const languageServerManager = new LanguageServerManager({
98+
settings: app.serviceManager.serverSettings
99+
});
98100
const connectionManager = new DocumentConnectionManager({
99101
languageServerManager
100102
});

packages/lsp/src/connection_manager.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Distributed under the terms of the Modified BSD License.
33

44
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
5-
import { ServerConnection } from '@jupyterlab/services';
65
import { IDocumentWidget } from '@jupyterlab/docregistry';
76
import { ISignal, Signal } from '@lumino/signaling';
87

@@ -548,7 +547,7 @@ export namespace DocumentConnectionManager {
548547
virtualDocument: VirtualDocument,
549548
language: string
550549
): IURIs | undefined {
551-
const settings = ServerConnection.makeSettings();
550+
const { settings } = Private.getLanguageServerManager();
552551
const wsBase = settings.wsUrl;
553552
const rootUri = PageConfig.getOption('rootUri');
554553
const virtualDocumentsUri = PageConfig.getOption('virtualDocumentsUri');
@@ -655,7 +654,8 @@ namespace Private {
655654
): Promise<LSPConnection> {
656655
let connection = _connections.get(languageServerId);
657656
if (!connection) {
658-
const socket = new WebSocket(uris.socket);
657+
const { settings } = Private.getLanguageServerManager();
658+
const socket = new settings.WebSocket(uris.socket);
659659
const connection = new LSPConnection({
660660
languageId: language,
661661
serverUri: uris.server,

packages/lsp/src/manager.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,21 @@ export class LanguageServerManager implements ILanguageServerManager {
3333
get isEnabled(): boolean {
3434
return this._enabled;
3535
}
36+
3637
/**
3738
* Check if the manager is disposed.
3839
*/
3940
get isDisposed(): boolean {
4041
return this._isDisposed;
4142
}
4243

44+
/**
45+
* Get server connection settings.
46+
*/
47+
get settings() {
48+
return this._settings;
49+
}
50+
4351
/**
4452
* Get the language server specs.
4553
*/
@@ -204,7 +212,7 @@ export class LanguageServerManager implements ILanguageServerManager {
204212
for (let key of Object.keys(sessions)) {
205213
let id: TLanguageServerId = key as TLanguageServerId;
206214
if (this._sessions.has(id)) {
207-
Object.assign(this._sessions.get(id)!, sessions[key]);
215+
Object.assign(this._sessions.get(id) || {}, sessions[key]);
208216
} else {
209217
this._sessions.set(id, sessions[key]);
210218
}

packages/lsp/src/tokens.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ export interface ILanguageServerManager extends IDisposable {
9191
*/
9292
readonly sessions: TSessionMap;
9393

94+
/**
95+
* @alpha
96+
*
97+
* Get server connection settings.
98+
*/
99+
readonly settings: ServerConnection.ISettings;
100+
94101
/**
95102
* @alpha
96103
*

0 commit comments

Comments
 (0)