Skip to content

Commit e586f91

Browse files
committed
Add registerAdapterType to LSPExtension
1 parent 4fa0860 commit e586f91

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
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: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { SIGNATURE_PLUGIN } from './features/signature';
2828
import { HOVER_PLUGIN } from './features/hover';
2929
import { RENAME_PLUGIN } from './features/rename';
3030
import { HIGHLIGHTS_PLUGIN } from './features/highlights';
31-
import { WidgetAdapterManager, WIDGET_ADAPTER_MANAGER } from './adapter_manager';
31+
import { WIDGET_ADAPTER_MANAGER } from './adapter_manager';
3232
import { FILE_EDITOR_ADAPTER } from './adapters/file_editor';
3333
import { NOTEBOOK_ADAPTER } from './adapters/notebook';
3434
import { VIRTUAL_EDITOR_MANAGER } from './virtual/editor';
@@ -125,7 +125,7 @@ export class LSPExtension implements ILSPExtension {
125125
constructor(
126126
public app: JupyterFrontEnd,
127127
private setting_registry: ISettingRegistry,
128-
palette: ICommandPalette,
128+
private palette: ICommandPalette,
129129
documentManager: IDocumentManager,
130130
paths: IPaths,
131131
status_bar: IStatusBar,
@@ -168,30 +168,23 @@ export class LSPExtension implements ILSPExtension {
168168
console.error(reason.message);
169169
});
170170

171-
const registerContextCommandManager = (type: IAdapterTypeOptions<IDocumentWidget>): void => {
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);
182-
};
183-
184-
// Register context commands with already added types
185-
adapterManager.types.forEach((type: IAdapterTypeOptions<IDocumentWidget>) => {
186-
registerContextCommandManager(type);
187-
});
188-
189171
adapterManager.registerExtension(this);
172+
}
190173

191-
// Register context commands with any types that may be added later
192-
adapterManager.adapterTypeAdded.connect((manager: WidgetAdapterManager, type: IAdapterTypeOptions<IDocumentWidget>) => {
193-
registerContextCommandManager(type);
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
194186
});
187+
this.feature_manager.registerCommandManager(command_manger);
195188
}
196189

197190
get foreign_code_extractors() {

0 commit comments

Comments
 (0)