Readline: use tty methods instead of control sequences
This commit is contained in:
Родитель
0b5bf70bff
Коммит
8c9b2d1066
|
@ -138,17 +138,17 @@ Interface.prototype._refreshLine = function() {
|
|||
if (this._closed) return;
|
||||
|
||||
// Cursor to left edge.
|
||||
this.output.write('\x1b[0G');
|
||||
this.output.cursorTo(0);
|
||||
|
||||
// Write the prompt and the current buffer content.
|
||||
this.output.write(this._prompt);
|
||||
this.output.write(this.line);
|
||||
|
||||
// Erase to right.
|
||||
this.output.write('\x1b[0K');
|
||||
this.output.clearLine(1);
|
||||
|
||||
// Move cursor to original position.
|
||||
this.output.write('\x1b[0G\x1b[' + (this._promptLength + this.cursor) + 'C');
|
||||
this.output.cursorTo(this._promptLength + this.cursor);
|
||||
};
|
||||
|
||||
|
||||
|
@ -489,14 +489,14 @@ Interface.prototype._ttyWrite = function(b) {
|
|||
// left arrow
|
||||
if (this.cursor > 0) {
|
||||
this.cursor--;
|
||||
this.output.write('\x1b[0D');
|
||||
this.output.moveCursor(-1, 0);
|
||||
}
|
||||
|
||||
} else if (b[1] === 91 && b[2] === 67) {
|
||||
// right arrow
|
||||
if (this.cursor != this.line.length) {
|
||||
this.cursor++;
|
||||
this.output.write('\x1b[0C');
|
||||
this.output.moveCursor(1, 0);
|
||||
}
|
||||
|
||||
} else if ((b[1] === 91 && b[2] === 72) ||
|
||||
|
|
Загрузка…
Ссылка в новой задаче