Skip to content

Commit 192d016

Browse files
authored
Merge pull request #399 from mnowacki-b/context-menu
Register Context Commands with already added types
2 parents fbc9d1c + 4a95fd1 commit 192d016

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

packages/jupyterlab-lsp/src/adapter_manager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export class WidgetAdapterManager implements ILSPAdapterManager {
4646
type.tracker.widgetAdded.connect((tracker, widget) => {
4747
this.connectWidget(extension, widget, type);
4848
});
49+
extension.registerAdapterType(this, type);
4950
}
5051

5152
public registerExtension(extension: LSPExtension) {

packages/jupyterlab-lsp/src/index.ts

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
import { ICommandPalette } from '@jupyterlab/apputils';
66
import { ISettingRegistry } from '@jupyterlab/settingregistry';
77
import { IDocumentManager } from '@jupyterlab/docmanager';
8+
import { IDocumentWidget } from '@jupyterlab/docregistry';
89
import { Signal } from '@lumino/signaling';
910
import { LanguageServerManager } from './manager';
1011
import '../style/index.css';
@@ -13,6 +14,7 @@ import { IStatusBar } from '@jupyterlab/statusbar';
1314
import { LSPStatus } from './components/statusbar';
1415
import { DocumentConnectionManager } from './connection_manager';
1516
import {
17+
IAdapterTypeOptions,
1618
ILSPAdapterManager,
1719
ILSPCodeExtractorsManager,
1820
ILSPFeatureManager,
@@ -123,7 +125,7 @@ export class LSPExtension implements ILSPExtension {
123125
constructor(
124126
public app: JupyterFrontEnd,
125127
private setting_registry: ISettingRegistry,
126-
palette: ICommandPalette,
128+
private palette: ICommandPalette,
127129
documentManager: IDocumentManager,
128130
paths: IPaths,
129131
status_bar: IStatusBar,
@@ -167,19 +169,22 @@ export class LSPExtension implements ILSPExtension {
167169
});
168170

169171
adapterManager.registerExtension(this);
172+
}
170173

171-
adapterManager.adapterTypeAdded.connect((manager, type) => {
172-
let command_manger = new ContextCommandManager({
173-
adapter_manager: adapterManager,
174-
app: app,
175-
palette: palette,
176-
tracker: type.tracker,
177-
suffix: type.name,
178-
entry_point: type.entrypoint,
179-
...type.context_menu
180-
});
181-
this.feature_manager.registerCommandManager(command_manger);
174+
registerAdapterType(
175+
adapterManager: ILSPAdapterManager,
176+
type: IAdapterTypeOptions<IDocumentWidget>
177+
): void {
178+
let command_manger = new ContextCommandManager({
179+
adapter_manager: adapterManager,
180+
app: this.app,
181+
palette: this.palette,
182+
tracker: type.tracker,
183+
suffix: type.name,
184+
entry_point: type.entrypoint,
185+
...type.context_menu
182186
});
187+
this.feature_manager.registerCommandManager(command_manger);
183188
}
184189

185190
get foreign_code_extractors() {

0 commit comments

Comments
 (0)