File tree Expand file tree Collapse file tree 4 files changed +22
-5
lines changed Expand file tree Collapse file tree 4 files changed +22
-5
lines changed Original file line number Diff line number Diff 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 } ) ;
Original file line number Diff line number Diff line change 22// Distributed under the terms of the Modified BSD License.
33
44import { PageConfig , URLExt } from '@jupyterlab/coreutils' ;
5- import { ServerConnection } from '@jupyterlab/services' ;
65import { IDocumentWidget } from '@jupyterlab/docregistry' ;
76import { 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 ,
Original file line number Diff line number Diff 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 }
Original file line number Diff line number Diff 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 *
You can’t perform that action at this time.
0 commit comments