Skip to content

Commit 5bc44a4

Browse files
authored
lazy load the provider to fix dependency loop (#16108)
1 parent 5ec3365 commit 5bc44a4

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/interactive-window/interactiveWindowProvider.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,15 @@ export const InteractiveWindowCacheKey = 'ds_interactive_window_cache';
6767

6868
@injectable()
6969
export class ReplNotebookTrackerService implements IReplNotebookTrackerService {
70-
constructor(@inject(IInteractiveWindowProvider) private interactiveWindowProvider: IInteractiveWindowProvider) {}
70+
private interactiveWindowProvider: IInteractiveWindowProvider | undefined;
71+
72+
constructor(@inject(IServiceContainer) private serviceContainer: IServiceContainer) {}
7173

7274
isForReplEditor(notebook: NotebookDocument): boolean {
75+
if (!this.interactiveWindowProvider) {
76+
this.interactiveWindowProvider =
77+
this.serviceContainer.get<IInteractiveWindowProvider>(IInteractiveWindowProvider);
78+
}
7379
return this.interactiveWindowProvider.getInteractiveWindowWithNotebook(notebook.uri) !== undefined;
7480
}
7581
}

0 commit comments

Comments
 (0)