@sussudio/platform
Version:
Internal APIs for VS Code's service injection the base services.
41 lines (39 loc) • 1.58 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 { SerializedError } from '@sussudio/base/common/errors.mjs';
import { Event } from '@sussudio/base/common/event.mjs';
export declare const IExtensionHostStarter: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<IExtensionHostStarter>;
export declare const ipcExtensionHostStarterChannelName = 'extensionHostStarter';
export interface IExtensionHostProcessOptions {
responseWindowId: number;
responseChannel: string;
responseNonce: string;
env: {
[key: string]: string | undefined;
};
detached: boolean;
execArgv: string[] | undefined;
silent: boolean;
}
export interface IExtensionHostStarter {
readonly _serviceBrand: undefined;
onDynamicStdout(id: string): Event<string>;
onDynamicStderr(id: string): Event<string>;
onDynamicMessage(id: string): Event<any>;
onDynamicError(id: string): Event<{
error: SerializedError;
}>;
onDynamicExit(id: string): Event<{
code: number;
signal: string;
}>;
canUseUtilityProcess(): Promise<boolean>;
createExtensionHost(useUtilityProcess: boolean): Promise<{
id: string;
}>;
start(id: string, opts: IExtensionHostProcessOptions): Promise<void>;
enableInspectPort(id: string): Promise<boolean>;
kill(id: string): Promise<void>;
}