UNPKG

@codingame/monaco-vscode-extensions-service-override

Version:

VSCode public API plugged on the monaco editor - extensions service-override

93 lines (92 loc) 7.17 kB
import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle"; import { MainThreadTerminalServiceShape, TerminalLaunchConfig, ExtHostTerminalIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol"; import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js"; import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation"; import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service"; import { IProcessProperty, IProcessReadyWindowsPty, ITerminalOutputMatch, ITerminalOutputMatcher } from "@codingame/monaco-vscode-api/vscode/vs/platform/terminal/common/terminal"; import { ITerminalGroupService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { ITerminalService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service"; import { IEnvironmentVariableService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/environmentVariable.service"; import { ITerminalProfileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal.service"; import { ITerminalProfileResolverService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/common/terminal.service"; import { IRemoteAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/remote/common/remoteAgentService.service"; import { ISerializableEnvironmentDescriptionMap, ISerializableEnvironmentVariableCollection } from "@codingame/monaco-vscode-xterm-common/vscode/vs/platform/terminal/common/environmentVariable"; import { ITerminalLinkProviderService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/links/browser/links.service"; import { ITerminalQuickFixService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFix.service"; import { ITerminalCompletionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminalContrib/suggest/browser/terminalCompletionService.service"; import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service"; export declare class MainThreadTerminalService extends Disposable implements MainThreadTerminalServiceShape { private readonly _terminalService; private readonly _terminalLinkProviderService; private readonly _terminalQuickFixService; private readonly _instantiationService; private readonly _environmentVariableService; private readonly _logService; private readonly _terminalProfileResolverService; private readonly _terminalGroupService; private readonly _terminalEditorService; private readonly _terminalProfileService; private readonly _terminalCompletionService; private readonly _environmentService; private readonly _proxy; /** * Stores a map from a temporary terminal id (a UUID generated on the extension host side) * to a numeric terminal id (an id generated on the renderer side) * This comes in play only when dealing with terminals created on the extension host side */ private readonly _extHostTerminals; private readonly _terminalProcessProxies; private readonly _profileProviders; private readonly _completionProviders; private readonly _quickFixProviders; private readonly _dataEventTracker; private readonly _sendCommandEventListener; /** * A single shared terminal link provider for the exthost. When an ext registers a link * provider, this is registered with the terminal on the renderer side and all links are * provided through this, even from multiple ext link providers. Xterm should remove lower * priority intersecting links itself. */ private readonly _linkProvider; private _os; constructor(_extHostContext: IExtHostContext, _terminalService: ITerminalService, _terminalLinkProviderService: ITerminalLinkProviderService, _terminalQuickFixService: ITerminalQuickFixService, _instantiationService: IInstantiationService, _environmentVariableService: IEnvironmentVariableService, _logService: ILogService, _terminalProfileResolverService: ITerminalProfileResolverService, remoteAgentService: IRemoteAgentService, _terminalGroupService: ITerminalGroupService, _terminalEditorService: ITerminalEditorService, _terminalProfileService: ITerminalProfileService, _terminalCompletionService: ITerminalCompletionService, _environmentService: IWorkbenchEnvironmentService); private _updateDefaultProfile; private _getTerminalInstance; $createTerminal(extHostTerminalId: string, launchConfig: TerminalLaunchConfig): Promise<void>; private _deserializeParentTerminal; $show(id: ExtHostTerminalIdentifier, preserveFocus: boolean): Promise<void>; $hide(id: ExtHostTerminalIdentifier): Promise<void>; $dispose(id: ExtHostTerminalIdentifier): Promise<void>; $sendText(id: ExtHostTerminalIdentifier, text: string, shouldExecute: boolean): Promise<void>; $sendProcessExit(terminalId: number, exitCode: number | undefined): void; $startSendingDataEvents(): void; $stopSendingDataEvents(): void; $startSendingCommandEvents(): void; $stopSendingCommandEvents(): void; $startLinkProvider(): void; $stopLinkProvider(): void; $registerProcessSupport(isSupported: boolean): void; $registerCompletionProvider(id: string, extensionIdentifier: string, ...triggerCharacters: string[]): void; $unregisterCompletionProvider(id: string): void; $registerProfileProvider(id: string, extensionIdentifier: string): void; $unregisterProfileProvider(id: string): void; $registerQuickFixProvider(id: string, extensionId: string): Promise<void>; $unregisterQuickFixProvider(id: string): void; private _onActiveTerminalChanged; private _onTerminalData; private _onDidExecuteCommand; private _onTitleChanged; private _onShellTypeChanged; private _onTerminalDisposed; private _onTerminalOpened; private _onTerminalProcessIdReady; private _onInstanceDimensionsChanged; private _onInstanceMaximumDimensionsChanged; private _onRequestStartExtensionTerminal; $sendProcessData(terminalId: number, data: string): void; $sendProcessReady(terminalId: number, pid: number, cwd: string, windowsPty: IProcessReadyWindowsPty | undefined): void; $sendProcessProperty(terminalId: number, property: IProcessProperty): void; $setEnvironmentVariableCollection(extensionIdentifier: string, persistent: boolean, collection: ISerializableEnvironmentVariableCollection | undefined, descriptionMap: ISerializableEnvironmentDescriptionMap): void; } export declare function getOutputMatchForLines(lines: string[], outputMatcher: ITerminalOutputMatcher): ITerminalOutputMatch | undefined;