2
>
* Copyright (c) Microsoft Corporation. All rights reserved.
3
>
* Licensed under the MIT License. See License.txt in the project root for license information.
4
>
*--------------------------------------------------------------------------------------------*/
5
>
6
>
import * as cp from 'child_process';
7
>
import { memoize } from '../../../base/common/decorators.js';
8
>
import { FileAccess } from '../../../base/common/network.js';
9
>
import * as path from '../../../base/common/path.js';
10
>
import * as env from '../../../base/common/platform.js';
11
>
import { sanitizeProcessEnvironment } from '../../../base/common/processes.js';
12
>
import * as pfs from '../../../base/node/pfs.js';
13
>
import * as processes from '../../../base/node/processes.js';
14
>
import * as nls from '../../../nls.js';
15
>
import { DEFAULT_TERMINAL_OSX, IExternalTerminalService, IExternalTerminalSettings, ITerminalForPlatform } from '../common/externalTerminal.js';
16
>
import { ITerminalEnvironment } from '../../terminal/common/terminal.js';
17
>
18
>
const TERMINAL_TITLE = nls.localize('console.title', "VS Code Console");
19
>
20
>
abstract class ExternalTerminalService {
21
>
public _serviceBrand: undefined;
22
>
23
>
async getDefaultTerminalForPlatforms(): Promise<ITerminalForPlatform> {
24
return {
25
windows: WindowsExternalTerminalService.getDefaultTerminalWindows(),