_isAltBuffer -> _hasScrollback
This commit is contained in:
+4
-4
@@ -20,7 +20,7 @@ describe('Buffer', () => {
|
||||
terminal.cols = INIT_COLS;
|
||||
terminal.rows = INIT_ROWS;
|
||||
terminal.options.scrollback = 1000;
|
||||
buffer = new Buffer(terminal, false);
|
||||
buffer = new Buffer(terminal, true);
|
||||
});
|
||||
|
||||
describe('constructor', () => {
|
||||
@@ -92,7 +92,7 @@ describe('Buffer', () => {
|
||||
describe('no scrollback', () => {
|
||||
it('should trim from the top of the buffer when the cursor reaches the bottom', () => {
|
||||
terminal.options.scrollback = 0;
|
||||
buffer = new Buffer(terminal, false);
|
||||
buffer = new Buffer(terminal, true);
|
||||
assert.equal(buffer.lines.maxLength, INIT_ROWS);
|
||||
buffer.y = INIT_ROWS - 1;
|
||||
buffer.fillViewportRows();
|
||||
@@ -172,11 +172,11 @@ describe('Buffer', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('alt buffer', () => {
|
||||
describe('buffer marked to have no scrollback', () => {
|
||||
it('should always have a scrollback of 0', () => {
|
||||
assert.equal(terminal.options.scrollback, 1000);
|
||||
// Test size on initialization
|
||||
buffer = new Buffer(terminal, true);
|
||||
buffer = new Buffer(terminal, false);
|
||||
buffer.fillViewportRows();
|
||||
assert.equal(buffer.lines.maxLength, INIT_ROWS);
|
||||
// Test size on buffer increase
|
||||
|
||||
+5
-6
@@ -32,11 +32,12 @@ export class Buffer implements IBuffer {
|
||||
/**
|
||||
* Create a new Buffer.
|
||||
* @param _terminal The terminal the Buffer will belong to.
|
||||
* @param _isAltBuffer Whether the buffer is the alt buffer.
|
||||
* @param _hasScrollback Whether the buffer should respecr the scrollback of
|
||||
* the terminal..
|
||||
*/
|
||||
constructor(
|
||||
private _terminal: ITerminal,
|
||||
private _isAltBuffer: boolean
|
||||
private _hasScrollback: boolean
|
||||
) {
|
||||
this.clear();
|
||||
}
|
||||
@@ -47,13 +48,11 @@ export class Buffer implements IBuffer {
|
||||
|
||||
/**
|
||||
* Gets the correct buffer length based on the rows provided, the terminal's
|
||||
* scrollback and whether this is an alt buffer.
|
||||
* scrollback and whether this buffer is flagged to have scrollback or not.
|
||||
* @param rows The terminal rows to use in the calculation.
|
||||
*/
|
||||
private _getCorrectBufferLength(rows: number): number {
|
||||
// The alt buffer should never have scrollback.
|
||||
// See http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-The-Alternate-Screen-Buffer
|
||||
if (this._isAltBuffer) {
|
||||
if (!this._hasScrollback) {
|
||||
return rows;
|
||||
}
|
||||
return rows + this._terminal.options.scrollback;
|
||||
|
||||
+5
-2
@@ -21,9 +21,12 @@ export class BufferSet extends EventEmitter implements IBufferSet {
|
||||
*/
|
||||
constructor(private _terminal: ITerminal) {
|
||||
super();
|
||||
this._normal = new Buffer(this._terminal, false);
|
||||
this._normal = new Buffer(this._terminal, true);
|
||||
this._normal.fillViewportRows();
|
||||
this._alt = new Buffer(this._terminal, true);
|
||||
|
||||
// The alt buffer should never have scrollback.
|
||||
// See http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-The-Alternate-Screen-Buffer
|
||||
this._alt = new Buffer(this._terminal, false);
|
||||
this._activeBuffer = this._normal;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user