From f5a4eed27c7e249cfdb80e43008f4dd807f7cd40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Breitbart?= Date: Sun, 27 Sep 2020 15:59:11 +0200 Subject: [PATCH] add super.dispose, add oDispose to API --- src/common/Types.d.ts | 1 + src/common/buffer/Marker.ts | 1 + typings/xterm.d.ts | 7 +++++++ 3 files changed, 9 insertions(+) diff --git a/src/common/Types.d.ts b/src/common/Types.d.ts index 6ce69483..bd0d11c6 100644 --- a/src/common/Types.d.ts +++ b/src/common/Types.d.ts @@ -183,6 +183,7 @@ export interface IMarker extends IDisposable { readonly id: number; readonly isDisposed: boolean; readonly line: number; + onDispose: IEvent; } export interface IModes { insertMode: boolean; diff --git a/src/common/buffer/Marker.ts b/src/common/buffer/Marker.ts index 9a4256d3..72c4085c 100644 --- a/src/common/buffer/Marker.ts +++ b/src/common/buffer/Marker.ts @@ -32,5 +32,6 @@ export class Marker extends Disposable implements IMarker { this.line = -1; // Emit before super.dispose such that dispose listeners get a change to react this._onDispose.fire(); + super.dispose(); } } diff --git a/typings/xterm.d.ts b/typings/xterm.d.ts index 1fc0c853..b5a736a7 100644 --- a/typings/xterm.d.ts +++ b/typings/xterm.d.ts @@ -382,6 +382,13 @@ declare module 'xterm' { * -1 if the marker has been disposed. */ readonly line: number; + + /** + * Event listener to get notified when the marker gets disposed. Automatic disposal + * might happen for a marker, that got invalidated by scrolling out or removal of + * a line from the buffer. + */ + onDispose: IEvent; } /**