@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
38 lines (36 loc) • 1.56 kB
text/typescript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Event } from '@sussudio/base/common/event.mjs';
import { Disposable, IDisposable } from '@sussudio/base/common/lifecycle.mjs';
import { TerminalShellType } from '../common/terminal.mjs';
export interface IWindowsShellHelper extends IDisposable {
readonly onShellNameChanged: Event<string>;
readonly onShellTypeChanged: Event<TerminalShellType>;
getShellType(title: string): TerminalShellType;
getShellName(): Promise<string>;
}
export declare class WindowsShellHelper extends Disposable implements IWindowsShellHelper {
private _rootProcessId;
private _isDisposed;
private _currentRequest;
private _shellType;
get shellType(): TerminalShellType | undefined;
private _shellTitle;
get shellTitle(): string;
private readonly _onShellNameChanged;
get onShellNameChanged(): Event<string>;
private readonly _onShellTypeChanged;
get onShellTypeChanged(): Event<TerminalShellType>;
constructor(_rootProcessId: number);
private _startMonitoringShell;
checkShell(): Promise<void>;
private traverseTree;
dispose(): void;
/**
* Returns the innermost shell executable running in the terminal
*/
getShellName(): Promise<string>;
getShellType(executable: string): TerminalShellType;
}