Path: blob/main/src/vs/platform/externalTerminal/common/externalTerminal.ts
3296 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { createDecorator } from '../../instantiation/common/instantiation.js';6import { ITerminalEnvironment } from '../../terminal/common/terminal.js';78export const IExternalTerminalService = createDecorator<IExternalTerminalService>('externalTerminal');910export interface IExternalTerminalSettings {11linuxExec?: string;12osxExec?: string;13windowsExec?: string;14}1516export interface ITerminalForPlatform {17windows: string;18linux: string;19osx: string;20}2122export interface IExternalTerminalService {23readonly _serviceBrand: undefined;24openTerminal(configuration: IExternalTerminalSettings, cwd: string | undefined): Promise<void>;25runInTerminal(title: string, cwd: string, args: string[], env: ITerminalEnvironment, settings: IExternalTerminalSettings): Promise<number | undefined>;26getDefaultTerminalForPlatforms(): Promise<ITerminalForPlatform>;27}2829export interface IExternalTerminalConfiguration {30terminal: {31explorerKind: 'integrated' | 'external' | 'both';32external: IExternalTerminalSettings;33};34}3536export const DEFAULT_TERMINAL_OSX = 'Terminal.app';373839