Skip to content

Commit 178af6b

Browse files
author
Travis James Smith
committed
Allow settings to be sent to the language servers
1 parent e0325cf commit 178af6b

File tree

4 files changed

+18
-15
lines changed

4 files changed

+18
-15
lines changed

packages/jupyterlab-lsp/src/connection.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,7 @@ export class LSPConnection extends LspWsConnection {
3030
}
3131

3232
protected onServerInitialized(params: lsProtocol.InitializeResult) {
33-
const settings = {
34-
"yaml.schemas": {
35-
"http://json.schemastore.org/composer": "/*"
36-
}
37-
}
38-
const initParams = { ...params, settings }
39-
super.onServerInitialized(initParams);
33+
super.onServerInitialized(params);
4034
while (this.documentsToOpen.length) {
4135
this.sendOpen(this.documentsToOpen.pop());
4236
}

packages/jupyterlab-lsp/src/connection_manager.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { sleep, until_ready } from './utils';
88
// Name-only import so as to not trigger inclusion in main bundle
99
import * as ConnectionModuleType from './connection';
1010
import { TLanguageServerId, ILanguageServerManager } from './tokens';
11+
import { ClientConfigurationSchema } from './_schema'
1112

1213
export interface IDocumentConnectionData {
1314
virtual_document: VirtualDocument;
@@ -148,11 +149,17 @@ export class DocumentConnectionManager {
148149
return connection;
149150
}
150151

151-
public updateServerConfigurations(
152-
options?: {}
152+
public async updateServerConfigurations(
153+
//TODO: define types for server configurations
154+
options: any
153155
) {
154-
for (let [, connection] of this.connections) {
155-
connection.sendConfigurationChange(options)
156+
for (let language in options) {
157+
let connection = this.connections.get(language)
158+
159+
if (connection) {
160+
const config = options[language].config
161+
await connection.sendConfigurationChange(config)
162+
}
156163
}
157164
}
158165

packages/jupyterlab-lsp/src/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,14 +236,16 @@ const plugin: JupyterFrontEndPlugin<void> = {
236236

237237
function updateOptions(settings: ISettingRegistry.ISettings): void {
238238
const options = settings.composite;
239+
239240
// Object.keys(options).forEach((key) => {
240241
// if (key === 'modifier') {
241242
// // let modifier = options[key] as KeyModifier;
242243
// CodeMirrorExtension.modifierKey = modifier;
243244
// }
244245
// });
245-
console.log(connection_manager)
246-
connection_manager.updateServerConfigurations(options)
246+
247+
const languageServerSettings = options.language_servers || {};
248+
connection_manager.updateServerConfigurations(languageServerSettings);
247249
}
248250

249251
settingRegistry

packages/lsp-ws-connection/src/ws-connection.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,8 @@ export class LspWsConnection extends events.EventEmitter
269269
}
270270

271271
public sendConfigurationChange(
272-
options?: any
272+
//TODO: define types for server configurations
273+
options: any
273274
) {
274275
console.log(`Updated server configuration: ${JSON.stringify(options)}`)
275276
if (!this.isReady) {
@@ -619,7 +620,6 @@ export class LspWsConnection extends events.EventEmitter
619620
}
620621

621622
protected onServerInitialized(params: protocol.InitializeResult) {
622-
console.log("MODIFIED SERVER INIT 4", params)
623623
this.isInitialized = true;
624624
this.serverCapabilities = params.capabilities;
625625
this.connection.sendNotification('initialized');

0 commit comments

Comments
 (0)