Added additional characters that change position
This commit is contained in:
parent
a99b55abb5
commit
5712645299
|
@ -12,8 +12,11 @@ const _ = require('lodash');
|
||||||
|
|
||||||
exports.ANSIEscapeParser = ANSIEscapeParser;
|
exports.ANSIEscapeParser = ANSIEscapeParser;
|
||||||
|
|
||||||
|
const TAB = 0x09;
|
||||||
const CR = 0x0d;
|
const CR = 0x0d;
|
||||||
const LF = 0x0a;
|
const LF = 0x0a;
|
||||||
|
const FF = 0x0c;
|
||||||
|
const BKSP = 0x08;
|
||||||
|
|
||||||
function ANSIEscapeParser(options) {
|
function ANSIEscapeParser(options) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -96,6 +99,28 @@ function ANSIEscapeParser(options) {
|
||||||
charCode = text.charCodeAt(pos) & 0xff; // 8bit clean
|
charCode = text.charCodeAt(pos) & 0xff; // 8bit clean
|
||||||
|
|
||||||
switch (charCode) {
|
switch (charCode) {
|
||||||
|
case TAB:
|
||||||
|
self.emit('literal', text.slice(start, pos + 1));
|
||||||
|
start = pos + 1;
|
||||||
|
|
||||||
|
self.column += 8 - ((self.column - 1) % 8);
|
||||||
|
|
||||||
|
self.positionUpdated();
|
||||||
|
break;
|
||||||
|
case BKSP:
|
||||||
|
self.emit('literal', text.slice(start, pos + 1));
|
||||||
|
start = pos + 1;
|
||||||
|
|
||||||
|
self.column = Math.max(1, self.column - 1);
|
||||||
|
|
||||||
|
self.positionUpdated();
|
||||||
|
break;
|
||||||
|
case FF:
|
||||||
|
self.emit('literal', text.slice(start, pos + 1));
|
||||||
|
start = pos + 1;
|
||||||
|
|
||||||
|
self.clearScreen();
|
||||||
|
break;
|
||||||
case CR:
|
case CR:
|
||||||
self.emit('literal', text.slice(start, pos + 1));
|
self.emit('literal', text.slice(start, pos + 1));
|
||||||
start = pos + 1;
|
start = pos + 1;
|
||||||
|
|
Loading…
Reference in New Issue