import { Uri } from 'vscode' ; import { Target } from '../tasks/types' ; export type ProjectInfo = SetupInfo ; export type StartupInfo = { sourceRoot : string ; cwd : string ; PYTHONPATHs ? : string [ ] ; program ? : string ; module ? : string ; } ; export const IProjectService = Symbol ( 'IProject' ) ; export interface IProjectService { create ( workspaceFolder ) : Promise < void > ; getProjectInfo ( workspaceFolder ) : Promise < ProjectInfo | undefined > ; getStartupInfo ( workspaceFolder , target ) : Promise < StartupInfo | undefined > ; build ( workspaceFolder , target , runInTerminal ? ) : Promise < void > ; run ( workspaceFolder , target , runInTerminal ? ) : Promise < void > ; checkAndInstallModule ( moduleName , workspaceFolder ) : Promise < boolean > ; } export const IProjectCommand = Symbol ( 'IProjectCommand' ) ; export interface IProjectCommand { register ( ) : void ; } export type SetupInfo = { name : string ; formalName : string ; } ; export const ISetupService = Symbol ( 'ISetupParser' ) ; export interface ISetupService { parseSetup ( workspaceUri ) : Promise < SetupInfo | undefined > ; } export interface IStartupService { getStarupInfo ( workspaceFolder , target ) : Promise < StartupInfo | undefined > ; } export const ITargetService = Symbol ( 'ITargetService' ) ; export interface ITargetService { getDirectory ( target ) : string ; }