Implement onDidChangeTerminalName #114898

This commit is contained in:
Habib Karim
2021-01-27 23:57:27 +00:00
parent 5aac4f4456
commit 28a74470d7
4 changed files with 53 additions and 2 deletions

View File

@@ -34,6 +34,7 @@ export interface IExtHostTerminalService extends ExtHostTerminalServiceShape, ID
onDidChangeActiveTerminal: Event<vscode.Terminal | undefined>;
onDidChangeTerminalDimensions: Event<vscode.TerminalDimensionsChangeEvent>;
onDidWriteTerminalData: Event<vscode.TerminalDataWriteEvent>;
onDidChangeTerminalName: Event<vscode.Terminal>;
createTerminal(name?: string, shellPath?: string, shellArgs?: string[] | string): vscode.Terminal;
createTerminalFromOptions(options: vscode.TerminalOptions, isFeatureTerminal?: boolean): vscode.Terminal;
@@ -297,6 +298,8 @@ export abstract class BaseExtHostTerminalService extends Disposable implements I
public get onDidChangeTerminalDimensions(): Event<vscode.TerminalDimensionsChangeEvent> { return this._onDidChangeTerminalDimensions && this._onDidChangeTerminalDimensions.event; }
protected readonly _onDidWriteTerminalData: Emitter<vscode.TerminalDataWriteEvent>;
public get onDidWriteTerminalData(): Event<vscode.TerminalDataWriteEvent> { return this._onDidWriteTerminalData && this._onDidWriteTerminalData.event; }
protected readonly _onDidChangeTerminalName: Emitter<vscode.Terminal> = new Emitter<vscode.Terminal>();
public get onDidChangeTerminalName(): Event<vscode.Terminal> { return this._onDidChangeTerminalName && this._onDidChangeTerminalName.event; }
constructor(
supportsProcesses: boolean,
@@ -395,7 +398,11 @@ export abstract class BaseExtHostTerminalService extends Disposable implements I
public async $acceptTerminalTitleChange(id: number, name: string): Promise<void> {
const terminal = this._getTerminalById(id);
if (terminal) {
terminal.name = name;
const original = terminal.name;
if (original !== name) {
terminal.name = name;
this._onDidChangeTerminalName.fire(terminal);
}
}
}