Skip to content

Commit 4fa0860

Browse files
committed
Register Context Commands with already added types
1 parent cad9207 commit 4fa0860

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

packages/jupyterlab-lsp/src/index.ts

Lines changed: 16 additions & 4 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,
@@ -26,7 +28,7 @@ import { SIGNATURE_PLUGIN } from './features/signature';
2628
import { HOVER_PLUGIN } from './features/hover';
2729
import { RENAME_PLUGIN } from './features/rename';
2830
import { HIGHLIGHTS_PLUGIN } from './features/highlights';
29-
import { WIDGET_ADAPTER_MANAGER } from './adapter_manager';
31+
import { WidgetAdapterManager, WIDGET_ADAPTER_MANAGER } from './adapter_manager';
3032
import { FILE_EDITOR_ADAPTER } from './adapters/file_editor';
3133
import { NOTEBOOK_ADAPTER } from './adapters/notebook';
3234
import { VIRTUAL_EDITOR_MANAGER } from './virtual/editor';
@@ -166,9 +168,7 @@ export class LSPExtension implements ILSPExtension {
166168
console.error(reason.message);
167169
});
168170

169-
adapterManager.registerExtension(this);
170-
171-
adapterManager.adapterTypeAdded.connect((manager, type) => {
171+
const registerContextCommandManager = (type: IAdapterTypeOptions<IDocumentWidget>): void => {
172172
let command_manger = new ContextCommandManager({
173173
adapter_manager: adapterManager,
174174
app: app,
@@ -179,6 +179,18 @@ export class LSPExtension implements ILSPExtension {
179179
...type.context_menu
180180
});
181181
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+
189+
adapterManager.registerExtension(this);
190+
191+
// Register context commands with any types that may be added later
192+
adapterManager.adapterTypeAdded.connect((manager: WidgetAdapterManager, type: IAdapterTypeOptions<IDocumentWidget>) => {
193+
registerContextCommandManager(type);
182194
});
183195
}
184196

0 commit comments

Comments
 (0)