@@ -12,6 +12,7 @@ import {
1212 ICommandManager ,
1313 IDocumentManager ,
1414 IWorkspaceService ,
15+ ITerminalManager ,
1516} from '../../client/common/application/types' ;
1617import { AsyncDisposableRegistry } from '../../client/common/asyncDisposableRegistry' ;
1718import { PythonSettings } from '../../client/common/configSettings' ;
@@ -28,18 +29,29 @@ import { PythonExecutionFactory } from '../../client/common/process/pythonExecut
2829import { IBufferDecoder , IProcessServiceFactory , IPythonExecutionFactory } from '../../client/common/process/types' ;
2930import { Bash } from '../../client/common/terminal/environmentActivationProviders/bash' ;
3031import { CommandPromptAndPowerShell } from '../../client/common/terminal/environmentActivationProviders/commandPrompt' ;
32+ import {
33+ CondaActivationCommandProvider ,
34+ } from '../../client/common/terminal/environmentActivationProviders/condaActivationProvider' ;
35+ import {
36+ PipEnvActivationCommandProvider ,
37+ } from '../../client/common/terminal/environmentActivationProviders/pipEnvActivationProvider' ;
3138import {
3239 PyEnvActivationCommandProvider ,
3340} from '../../client/common/terminal/environmentActivationProviders/pyenvActivationProvider' ;
34- import { ITerminalActivationCommandProvider } from '../../client/common/terminal/types' ;
41+ import { TerminalHelper } from '../../client/common/terminal/helper' ;
42+ import {
43+ ITerminalActivationCommandProvider ,
44+ ITerminalHelper ,
45+ TerminalActivationProviders ,
46+ } from '../../client/common/terminal/types' ;
3547import {
3648 IAsyncDisposableRegistry ,
3749 IConfigurationService ,
3850 ICurrentProcess ,
3951 ILogger ,
4052 IPathUtils ,
4153 IPersistentStateFactory ,
42- IsWindows
54+ IsWindows ,
4355} from '../../client/common/types' ;
4456import { noop } from '../../client/common/utils/misc' ;
4557import { EnvironmentVariablesService } from '../../client/common/variables/environment' ;
@@ -65,6 +77,8 @@ import {
6577 INotebookServer ,
6678 IStatusProvider ,
6779} from '../../client/datascience/types' ;
80+ import { EnvironmentActivationService } from '../../client/interpreter/activation/service' ;
81+ import { IEnvironmentActivationService } from '../../client/interpreter/activation/types' ;
6882import { InterpreterComparer } from '../../client/interpreter/configuration/interpreterComparer' ;
6983import { PythonPathUpdaterService } from '../../client/interpreter/configuration/pythonPathUpdaterService' ;
7084import { PythonPathUpdaterServiceFactory } from '../../client/interpreter/configuration/pythonPathUpdaterServiceFactory' ;
@@ -132,6 +146,7 @@ import { MockAutoSelectionService } from '../mocks/autoSelector';
132146import { UnitTestIocContainer } from '../unittests/serviceRegistry' ;
133147import { MockCommandManager } from './mockCommandManager' ;
134148import { MockJupyterManager } from './mockJupyterManager' ;
149+ import { TerminalManager } from '../../client/common/application/terminalManager' ;
135150
136151export class DataScienceIocContainer extends UnitTestIocContainer {
137152
@@ -173,6 +188,20 @@ export class DataScienceIocContainer extends UnitTestIocContainer {
173188 this . serviceManager . add < IKnownSearchPathsForInterpreters > ( IKnownSearchPathsForInterpreters , KnownSearchPathsForInterpreters ) ;
174189 this . serviceManager . addSingletonInstance < IAsyncDisposableRegistry > ( IAsyncDisposableRegistry , this . asyncRegistry ) ;
175190 this . serviceManager . addSingleton < IPythonInPathCommandProvider > ( IPythonInPathCommandProvider , PythonInPathCommandProvider ) ;
191+ this . serviceManager . addSingleton < IEnvironmentActivationService > ( IEnvironmentActivationService , EnvironmentActivationService ) ;
192+
193+ this . serviceManager . addSingleton < ITerminalHelper > ( ITerminalHelper , TerminalHelper ) ;
194+ this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
195+ ITerminalActivationCommandProvider , Bash , TerminalActivationProviders . bashCShellFish ) ;
196+ this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
197+ ITerminalActivationCommandProvider , CommandPromptAndPowerShell , TerminalActivationProviders . commandPromptAndPowerShell ) ;
198+ this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
199+ ITerminalActivationCommandProvider , PyEnvActivationCommandProvider , TerminalActivationProviders . pyenv ) ;
200+ this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
201+ ITerminalActivationCommandProvider , CondaActivationCommandProvider , TerminalActivationProviders . conda ) ;
202+ this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
203+ ITerminalActivationCommandProvider , PipEnvActivationCommandProvider , TerminalActivationProviders . pipenv ) ;
204+ this . serviceManager . addSingleton < ITerminalManager > ( ITerminalManager , TerminalManager ) ;
176205
177206 // Setup our command list
178207 this . commandManager . registerCommand ( 'setContext' , ( name : string , value : boolean ) => {
@@ -324,12 +353,6 @@ export class DataScienceIocContainer extends UnitTestIocContainer {
324353 if ( this . serviceManager . get < IPlatformService > ( IPlatformService ) . isWindows ) {
325354 this . serviceManager . addSingleton < IRegistry > ( IRegistry , RegistryImplementation ) ;
326355 }
327- this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
328- ITerminalActivationCommandProvider , Bash , 'bashCShellFish' ) ;
329- this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
330- ITerminalActivationCommandProvider , CommandPromptAndPowerShell , 'commandPromptAndPowerShell' ) ;
331- this . serviceManager . addSingleton < ITerminalActivationCommandProvider > (
332- ITerminalActivationCommandProvider , PyEnvActivationCommandProvider , 'pyenv' ) ;
333356
334357 const dummyDisposable = {
335358 dispose : ( ) => { return ; }
0 commit comments