11// Copyright (c) Microsoft Corporation. All rights reserved.
22// Licensed under the MIT License.
33
4- import { IJupyterExtensionDependencyManager } from '../common/application/types' ;
5- import { IDisposableRegistry , IExtensions } from '../common/types' ;
64import { IServiceContainer } from '../ioc/types' ;
75import { sendTelemetryEvent } from '../telemetry' ;
8- import { createHidingMiddleware } from './hidingMiddleware' ;
96
107import { LanguageClientMiddlewareBase } from './languageClientMiddlewareBase' ;
118import { LanguageServerType } from './types' ;
@@ -14,44 +11,4 @@ export class LanguageClientMiddleware extends LanguageClientMiddlewareBase {
1411 public constructor ( serviceContainer : IServiceContainer , serverType : LanguageServerType , serverVersion ?: string ) {
1512 super ( serviceContainer , serverType , sendTelemetryEvent , serverVersion ) ;
1613 }
17-
18- /**
19- * Creates the HidingMiddleware if needed and sets up code to do so if needed after
20- * Jupyter is installed.
21- *
22- * This method should be called from the constructor of derived classes. It is separated
23- * from the constructor to allow derived classes to initialize before it is called.
24- */
25- protected setupHidingMiddleware ( serviceContainer : IServiceContainer ) {
26- const jupyterDependencyManager = serviceContainer . get < IJupyterExtensionDependencyManager > (
27- IJupyterExtensionDependencyManager ,
28- ) ;
29- const disposables = serviceContainer . get < IDisposableRegistry > ( IDisposableRegistry ) || [ ] ;
30- const extensions = serviceContainer . get < IExtensions > ( IExtensions ) ;
31-
32- // Enable notebook support if jupyter support is installed
33- if ( this . shouldCreateHidingMiddleware ( jupyterDependencyManager ) ) {
34- this . notebookAddon = createHidingMiddleware ( ) ;
35- }
36-
37- disposables . push (
38- extensions ?. onDidChange ( async ( ) => {
39- await this . onExtensionChange ( jupyterDependencyManager ) ;
40- } ) ,
41- ) ;
42- }
43-
44- protected shouldCreateHidingMiddleware ( jupyterDependencyManager : IJupyterExtensionDependencyManager ) : boolean {
45- return jupyterDependencyManager && jupyterDependencyManager . isJupyterExtensionInstalled ;
46- }
47-
48- protected async onExtensionChange ( jupyterDependencyManager : IJupyterExtensionDependencyManager ) : Promise < void > {
49- if ( jupyterDependencyManager ) {
50- if ( this . notebookAddon && ! this . shouldCreateHidingMiddleware ( jupyterDependencyManager ) ) {
51- this . notebookAddon = undefined ;
52- } else if ( ! this . notebookAddon && this . shouldCreateHidingMiddleware ( jupyterDependencyManager ) ) {
53- this . notebookAddon = createHidingMiddleware ( ) ;
54- }
55- }
56- }
5714}
0 commit comments