X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fxterm%2Fsrc%2Fpublic%2FAddonManager.ts;fp=node_modules%2Fxterm%2Fsrc%2Fpublic%2FAddonManager.ts;h=0000000000000000000000000000000000000000;hp=0261fd68266bb6ce80b0eece5d0bcbd8cb76de7d;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/xterm/src/public/AddonManager.ts b/node_modules/xterm/src/public/AddonManager.ts deleted file mode 100644 index 0261fd6..0000000 --- a/node_modules/xterm/src/public/AddonManager.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Copyright (c) 2019 The xterm.js authors. All rights reserved. - * @license MIT - */ - -import { ITerminalAddon, IDisposable, Terminal } from 'xterm'; - -export interface ILoadedAddon { - instance: ITerminalAddon; - dispose: () => void; - isDisposed: boolean; -} - -export class AddonManager implements IDisposable { - protected _addons: ILoadedAddon[] = []; - - constructor() { - } - - public dispose(): void { - for (let i = this._addons.length - 1; i >= 0; i--) { - this._addons[i].instance.dispose(); - } - } - - public loadAddon(terminal: Terminal, instance: ITerminalAddon): void { - const loadedAddon: ILoadedAddon = { - instance, - dispose: instance.dispose, - isDisposed: false - }; - this._addons.push(loadedAddon); - instance.dispose = () => this._wrappedAddonDispose(loadedAddon); - instance.activate(terminal); - } - - private _wrappedAddonDispose(loadedAddon: ILoadedAddon): void { - if (loadedAddon.isDisposed) { - // Do nothing if already disposed - return; - } - let index = -1; - for (let i = 0; i < this._addons.length; i++) { - if (this._addons[i] === loadedAddon) { - index = i; - break; - } - } - if (index === -1) { - throw new Error('Could not dispose an addon that has not been loaded'); - } - loadedAddon.isDisposed = true; - loadedAddon.dispose.apply(loadedAddon.instance); - this._addons.splice(index, 1); - } -}