src/vs/workbench/contrib/terminal/browser/terminalEditorInput.ts/TerminalEditorInput/constructor
class TerminalEditorInput:	constructor(
		private readonly _terminalInstance: ITerminalInstance,
		@IThemeService private readonly _themeService: IThemeService,
		@ITerminalInstanceService private readonly _terminalInstanceService: ITerminalInstanceService,
		@IInstantiationService private readonly _instantiationService: IInstantiationService
	) {
		super();
		this._register(this._terminalInstance.onTitleChanged(() => this._onDidChangeLabel.fire()));
		this._register(this._terminalInstance.onIconChanged(() => this._onDidChangeLabel.fire()));
		this._register(this._terminalInstance.statusList.onDidChangePrimaryStatus(() => this._onDidChangeLabel.fire()));
		this._register(this._terminalInstance.onDisposed(() => this.dispose()));
		this._register(toDisposable(() => {
			if (!this._isDetached) {
				this._terminalInstance.dispose();
			}
		}));
	}