X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fxterm%2Fsrc%2Fcommon%2Fbuffer%2FMarker.ts;fp=node_modules%2Fxterm%2Fsrc%2Fcommon%2Fbuffer%2FMarker.ts;h=9a4256d3763c9ac7f8da5d1ef1ee353d4ea17f1a;hp=0000000000000000000000000000000000000000;hb=4339da12467b75fb8b6ca831f4bf0081c485ed2c;hpb=af450fde25a9ccf4767b29254c463ffb8ef25237 diff --git a/node_modules/xterm/src/common/buffer/Marker.ts b/node_modules/xterm/src/common/buffer/Marker.ts new file mode 100644 index 0000000..9a4256d --- /dev/null +++ b/node_modules/xterm/src/common/buffer/Marker.ts @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2018 The xterm.js authors. All rights reserved. + * @license MIT + */ + +import { EventEmitter, IEvent } from 'common/EventEmitter'; +import { Disposable } from 'common/Lifecycle'; +import { IMarker } from 'common/Types'; + +export class Marker extends Disposable implements IMarker { + private static _nextId = 1; + + private _id: number = Marker._nextId++; + public isDisposed: boolean = false; + + public get id(): number { return this._id; } + + private _onDispose = new EventEmitter(); + public get onDispose(): IEvent { return this._onDispose.event; } + + constructor( + public line: number + ) { + super(); + } + + public dispose(): void { + if (this.isDisposed) { + return; + } + this.isDisposed = true; + this.line = -1; + // Emit before super.dispose such that dispose listeners get a change to react + this._onDispose.fire(); + } +}