sgr-parser
v0.0.6
Published
Parse escape sequence for console. (Especially for SGR)
Downloads
337
Readme
sgr-parser
Parse console output which includes escape sequence.
Install
npm install sgr-parser
How to use
SGRParser takes two constructor parameters.
keepState
: Keep previous state while continuous parsing.handleCR
: Deal CR(0x0d) code asESC[2K
(Remove current line.)
SGRParser has following two methods.
- tokenize(str: string): Array;
- It returns 3 kind of Token(StringToken, EscapeToken, ErrorToken)
- StringToken has
str
property. It holds tokenized string. - EscapeToken has
options
property andcode
property. options is array of number. code is code of key. - ErrorToken means invalid EscapeSequence. It is almost same as StringToken.
- parse(str)
- It returns Array of Line object.
- Line object has following four properties.
str
: stringclassname
: It holds sgr classname. (e.g.sgr-33-m
)newLine
:true
means LF exists before this string.removeLine
: If the escape sequenceESC[2K
exists, it will beLine("", "", false, true)
.- Other escapes except
ESC[[n]m
will be ignored.
var SGRParser = require("sgr-parser");
var input = "\u001b[31mtest\u001b[0m";
var lines = new SGRParser(true, true).parse(input); // [Line("test", "sgr-31-m", false, false)]