mirror of
https://github.com/microsoft/vscode.git
synced 2026-08-19 22:42:35 +01:00
Revert "Implement proposed TerminalState.isShellIntegrationActivated"
This commit is contained in:
@@ -233,10 +233,7 @@ import { assertNoRpc, poll } from '../utils';
|
||||
|
||||
test('onDidChangeTerminalState should fire after writing to a terminal', async () => {
|
||||
const terminal = window.createTerminal();
|
||||
deepStrictEqual(terminal.state, {
|
||||
isInteractedWith: false,
|
||||
isShellIntegrationActivated: false
|
||||
});
|
||||
deepStrictEqual(terminal.state, { isInteractedWith: false });
|
||||
const eventState = await new Promise<TerminalState>(r => {
|
||||
disposables.push(window.onDidChangeTerminalState(e => {
|
||||
if (e === terminal) {
|
||||
@@ -245,8 +242,8 @@ import { assertNoRpc, poll } from '../utils';
|
||||
}));
|
||||
terminal.sendText('test');
|
||||
});
|
||||
strictEqual(eventState.isInteractedWith, true);
|
||||
strictEqual(terminal.state.isInteractedWith, true);
|
||||
deepStrictEqual(eventState, { isInteractedWith: true });
|
||||
deepStrictEqual(terminal.state, { isInteractedWith: true });
|
||||
await new Promise<void>(r => {
|
||||
disposables.push(window.onDidCloseTerminal(t => {
|
||||
if (t === terminal) {
|
||||
|
||||
@@ -84,11 +84,6 @@ export class MainThreadTerminalService implements MainThreadTerminalServiceShape
|
||||
this._store.add(_terminalService.onDidChangeActiveInstance(instance => this._onActiveTerminalChanged(instance ? instance.instanceId : null)));
|
||||
this._store.add(_terminalService.onAnyInstanceTitleChange(instance => instance && this._onTitleChanged(instance.instanceId, instance.title)));
|
||||
this._store.add(_terminalService.onAnyInstanceDataInput(instance => this._proxy.$acceptTerminalInteraction(instance.instanceId)));
|
||||
this._store.add(_terminalService.onDidChangeInstanceCapability(instance => {
|
||||
if (instance.capabilities.has(TerminalCapability.CommandDetection)) {
|
||||
this._proxy.$acceptTerminalShellIntegrationActivation(instance.instanceId);
|
||||
}
|
||||
}));
|
||||
this._store.add(_terminalService.onAnyInstanceSelectionChange(instance => this._proxy.$acceptTerminalSelection(instance.instanceId, instance.selection)));
|
||||
|
||||
// Set initial ext host state
|
||||
|
||||
@@ -2238,7 +2238,6 @@ export interface ExtHostTerminalServiceShape {
|
||||
$acceptTerminalDimensions(id: number, cols: number, rows: number): void;
|
||||
$acceptTerminalMaximumDimensions(id: number, cols: number, rows: number): void;
|
||||
$acceptTerminalInteraction(id: number): void;
|
||||
$acceptTerminalShellIntegrationActivation(id: number): void;
|
||||
$acceptTerminalSelection(id: number, selection: string | undefined): void;
|
||||
$startExtensionTerminal(id: number, initialDimensions: ITerminalDimensionsDto | undefined): Promise<ITerminalLaunchError | undefined>;
|
||||
$acceptProcessAckDataEvent(id: number, charCount: number): void;
|
||||
|
||||
@@ -82,10 +82,7 @@ export class ExtHostTerminal {
|
||||
private _pidPromiseComplete: ((value: number | undefined) => any) | undefined;
|
||||
private _rows: number | undefined;
|
||||
private _exitStatus: vscode.TerminalExitStatus | undefined;
|
||||
private _state: Readonly<vscode.TerminalState> = {
|
||||
isInteractedWith: false,
|
||||
isShellIntegrationActivated: false,
|
||||
};
|
||||
private _state: vscode.TerminalState = { isInteractedWith: false };
|
||||
private _selection: string | undefined;
|
||||
|
||||
public isOpen: boolean = false;
|
||||
@@ -243,21 +240,7 @@ export class ExtHostTerminal {
|
||||
|
||||
public setInteractedWith(): boolean {
|
||||
if (!this._state.isInteractedWith) {
|
||||
this._state = {
|
||||
...this._state,
|
||||
isInteractedWith: true,
|
||||
};
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public setShellIntegrationActivated(): boolean {
|
||||
if (!this._state.isShellIntegrationActivated) {
|
||||
this._state = {
|
||||
...this._state,
|
||||
isShellIntegrationActivated: true,
|
||||
};
|
||||
this._state = { isInteractedWith: true };
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -688,13 +671,6 @@ export abstract class BaseExtHostTerminalService extends Disposable implements I
|
||||
}
|
||||
}
|
||||
|
||||
public $acceptTerminalShellIntegrationActivation(id: number): void {
|
||||
const terminal = this._getTerminalById(id);
|
||||
if (terminal?.setShellIntegrationActivated()) {
|
||||
this._onDidChangeTerminalState.fire(terminal.value);
|
||||
}
|
||||
}
|
||||
|
||||
public $acceptTerminalSelection(id: number, selection: string | undefined): void {
|
||||
this._getTerminalById(id)?.setSelection(selection);
|
||||
}
|
||||
|
||||
@@ -110,7 +110,6 @@ export const allApiProposals = Object.freeze({
|
||||
terminalExecuteCommandEvent: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts',
|
||||
terminalQuickFixProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts',
|
||||
terminalSelection: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts',
|
||||
terminalShellIntegrationActivated: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellIntegrationActivated.d.ts',
|
||||
testCoverage: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testCoverage.d.ts',
|
||||
testObserver: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts',
|
||||
textSearchProvider: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts',
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
declare module 'vscode' {
|
||||
|
||||
// https://github.com/microsoft/vscode/issues/205058
|
||||
|
||||
export interface TerminalState {
|
||||
/**
|
||||
* Whether the {@link Terminal} has had [shell integration](https://code.visualstudio.com/docs/terminal/shell-integration)
|
||||
* activated. This typically happens shortly after the terminal has been created.
|
||||
*/
|
||||
readonly isShellIntegrationActivated: boolean;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user