check for parm_*_cursor terminfo on program.cu[udbf].
This commit is contained in:
parent
a1ddc1443c
commit
607dc29dbb
|
@ -2283,7 +2283,12 @@ Program.prototype.up =
|
||||||
Program.prototype.cursorUp = function(param) {
|
Program.prototype.cursorUp = function(param) {
|
||||||
this.y -= param || 1;
|
this.y -= param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
if (this.tput) return this.put.cuu(param);
|
if (this.tput) {
|
||||||
|
if (!this.tput.strings.parm_up_cursor) {
|
||||||
|
return this._write(this.repeat(this.tput.cuu1(), param));
|
||||||
|
}
|
||||||
|
return this.put.cuu(param);
|
||||||
|
}
|
||||||
return this._write('\x1b[' + (param || '') + 'A');
|
return this._write('\x1b[' + (param || '') + 'A');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2294,7 +2299,12 @@ Program.prototype.down =
|
||||||
Program.prototype.cursorDown = function(param) {
|
Program.prototype.cursorDown = function(param) {
|
||||||
this.y += param || 1;
|
this.y += param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
if (this.tput) return this.put.cud(param);
|
if (this.tput) {
|
||||||
|
if (!this.tput.strings.parm_down_cursor) {
|
||||||
|
return this._write(this.repeat(this.tput.cud1(), param));
|
||||||
|
}
|
||||||
|
return this.put.cud(param);
|
||||||
|
}
|
||||||
return this._write('\x1b[' + (param || '') + 'B');
|
return this._write('\x1b[' + (param || '') + 'B');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2306,7 +2316,12 @@ Program.prototype.forward =
|
||||||
Program.prototype.cursorForward = function(param) {
|
Program.prototype.cursorForward = function(param) {
|
||||||
this.x += param || 1;
|
this.x += param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
if (this.tput) return this.put.cuf(param);
|
if (this.tput) {
|
||||||
|
if (!this.tput.strings.parm_right_cursor) {
|
||||||
|
return this._write(this.repeat(this.tput.cuf1(), param));
|
||||||
|
}
|
||||||
|
return this.put.cuf(param);
|
||||||
|
}
|
||||||
return this._write('\x1b[' + (param || '') + 'C');
|
return this._write('\x1b[' + (param || '') + 'C');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2318,7 +2333,12 @@ Program.prototype.back =
|
||||||
Program.prototype.cursorBackward = function(param) {
|
Program.prototype.cursorBackward = function(param) {
|
||||||
this.x -= param || 1;
|
this.x -= param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
if (this.tput) return this.put.cub(param);
|
if (this.tput) {
|
||||||
|
if (!this.tput.strings.parm_left_cursor) {
|
||||||
|
return this._write(this.repeat(this.tput.cub1(), param));
|
||||||
|
}
|
||||||
|
return this.put.cub(param);
|
||||||
|
}
|
||||||
return this._write('\x1b[' + (param || '') + 'D');
|
return this._write('\x1b[' + (param || '') + 'D');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2967,11 +2987,11 @@ Program.prototype.charPosAbsolute = function(param) {
|
||||||
// reuse CSI Ps C ?
|
// reuse CSI Ps C ?
|
||||||
Program.prototype.hpr =
|
Program.prototype.hpr =
|
||||||
Program.prototype.HPositionRelative = function(param) {
|
Program.prototype.HPositionRelative = function(param) {
|
||||||
|
if (this.tput) return this.cuf(param);
|
||||||
this.x += param || 1;
|
this.x += param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
// Does not exist:
|
// Does not exist:
|
||||||
// if (this.tput) return this.put.hpr(param);
|
// if (this.tput) return this.put.hpr(param);
|
||||||
if (this.tput) return this.put.cuf(param);
|
|
||||||
return this._write('\x1b[' + (param || '') + 'a');
|
return this._write('\x1b[' + (param || '') + 'a');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3034,11 +3054,11 @@ Program.prototype.linePosAbsolute = function(param) {
|
||||||
// reuse CSI Ps B ?
|
// reuse CSI Ps B ?
|
||||||
Program.prototype.vpr =
|
Program.prototype.vpr =
|
||||||
Program.prototype.VPositionRelative = function(param) {
|
Program.prototype.VPositionRelative = function(param) {
|
||||||
|
if (this.tput) return this.cud(param);
|
||||||
this.y += param || 1;
|
this.y += param || 1;
|
||||||
this._ncoords();
|
this._ncoords();
|
||||||
// Does not exist:
|
// Does not exist:
|
||||||
// if (this.tput) return this.put.vpr(param);
|
// if (this.tput) return this.put.vpr(param);
|
||||||
if (this.tput) return this.put.cud(param);
|
|
||||||
return this._write('\x1b[' + (param || '') + 'e');
|
return this._write('\x1b[' + (param || '') + 'e');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue