UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

48 lines (46 loc) 1.93 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IProcessEnvironment } from '@sussudio/base/common/platform.mjs'; import { ILogService } from '../../log/common/log.mjs'; import { IProductService } from '../../product/common/productService.mjs'; import { IShellLaunchConfig, ITerminalEnvironment, ITerminalProcessOptions } from '../common/terminal.mjs'; export declare function getWindowsBuildNumber(): number; export declare function findExecutable( command: string, cwd?: string, paths?: string[], env?: IProcessEnvironment, exists?: (path: string) => Promise<boolean>, ): Promise<string | undefined>; export interface IShellIntegrationConfigInjection { /** * A new set of arguments to use. */ newArgs: string[] | undefined; /** * An optional environment to mixing to the real environment. */ envMixin?: IProcessEnvironment; /** * An optional array of files to copy from `source` to `dest`. */ filesToCopy?: { source: string; dest: string; }[]; } /** * For a given shell launch config, returns arguments to replace and an optional environment to * mixin to the SLC's environment to enable shell integration. This must be run within the context * that creates the process to ensure accuracy. Returns undefined if shell integration cannot be * enabled. */ export declare function getShellIntegrationInjection( shellLaunchConfig: IShellLaunchConfig, options: Pick<ITerminalProcessOptions, 'shellIntegration' | 'windowsEnableConpty'>, env: ITerminalEnvironment | undefined, logService: ILogService, productService: IProductService, ): IShellIntegrationConfigInjection | undefined;