aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/xterm/src/common/public/BufferNamespaceApi.ts
diff options
context:
space:
mode:
authorAnthony Schneider <tonyschneider3@gmail.com>2022-02-11 19:40:35 -0600
committerAnthony Schneider <tonyschneider3@gmail.com>2022-02-11 19:40:35 -0600
commitb52feccdcc58c1f4583c8542632d6c026335dea7 (patch)
tree5e242dd13ed4bbfff85a07109ef826f80874e2a6 /node_modules/xterm/src/common/public/BufferNamespaceApi.ts
parent94862321e2e4a58e3209c037e8061f0435b3aa82 (diff)
Changed javascript to be in its own file. Began (messy) setup for terminal.
Diffstat (limited to 'node_modules/xterm/src/common/public/BufferNamespaceApi.ts')
-rw-r--r--node_modules/xterm/src/common/public/BufferNamespaceApi.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/node_modules/xterm/src/common/public/BufferNamespaceApi.ts b/node_modules/xterm/src/common/public/BufferNamespaceApi.ts
new file mode 100644
index 0000000..d86f6bf
--- /dev/null
+++ b/node_modules/xterm/src/common/public/BufferNamespaceApi.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2021 The xterm.js authors. All rights reserved.
+ * @license MIT
+ */
+
+import { IBuffer as IBufferApi, IBufferNamespace as IBufferNamespaceApi } from 'xterm';
+import { BufferApiView } from 'common/public/BufferApiView';
+import { IEvent, EventEmitter } from 'common/EventEmitter';
+import { ICoreTerminal } from 'common/Types';
+
+export class BufferNamespaceApi implements IBufferNamespaceApi {
+ private _normal: BufferApiView;
+ private _alternate: BufferApiView;
+ private _onBufferChange = new EventEmitter<IBufferApi>();
+ public get onBufferChange(): IEvent<IBufferApi> { return this._onBufferChange.event; }
+
+ constructor(private _core: ICoreTerminal) {
+ this._normal = new BufferApiView(this._core.buffers.normal, 'normal');
+ this._alternate = new BufferApiView(this._core.buffers.alt, 'alternate');
+ this._core.buffers.onBufferActivate(() => this._onBufferChange.fire(this.active));
+ }
+ public get active(): IBufferApi {
+ if (this._core.buffers.active === this._core.buffers.normal) { return this.normal; }
+ if (this._core.buffers.active === this._core.buffers.alt) { return this.alternate; }
+ throw new Error('Active buffer is neither normal nor alternate');
+ }
+ public get normal(): IBufferApi {
+ return this._normal.init(this._core.buffers.normal);
+ }
+ public get alternate(): IBufferApi {
+ return this._alternate.init(this._core.buffers.alt);
+ }
+}