Fix closing dirty terminal editors

Fixes #128879
This commit is contained in:
Daniel Imms 2021-07-23 06:37:04 -07:00
parent 257e976bd4
commit 760080ab64

View file

@ -30,6 +30,7 @@ export class TerminalEditorInput extends EditorInput {
private _isDetached = false;
private _isShuttingDown = false;
private _isReverted = false;
private _copyInstance?: ITerminalInstance;
private _terminalEditorFocusContextKey: IContextKey<boolean>;
@ -89,6 +90,9 @@ export class TerminalEditorInput extends EditorInput {
}
override isDirty(): boolean {
if (this._isReverted) {
return false;
}
const confirmOnKill = this._configurationService.getValue<ConfirmOnKill>(TerminalSettingId.ConfirmOnKill);
if (confirmOnKill === 'editor' || confirmOnKill === 'always') {
return this._terminalInstance?.hasChildProcesses || false;
@ -96,6 +100,11 @@ export class TerminalEditorInput extends EditorInput {
return false;
}
override async revert(): Promise<void> {
// On revert just treat the terminal as permanently non-dirty
this._isReverted = true;
}
constructor(
public readonly resource: URI,
private _terminalInstance: ITerminalInstance | undefined,