csiStateHandler['7'] = (_, parser) => parser.setParam(parser.getParam() * 10 + 7);
csiStateHandler['8'] = (_, parser) => parser.setParam(parser.getParam() * 10 + 8);
csiStateHandler['9'] = (_, parser) => parser.setParam(parser.getParam() * 10 + 9);
+csiStateHandler['$'] = (_, parser) => parser.setPostfix('$');
+csiStateHandler['"'] = (_, parser) => parser.setPostfix('"');
+csiStateHandler[' '] = (_, parser) => parser.setPostfix(' ');
+csiStateHandler['\''] = (_, parser) => parser.setPostfix('\'');
+// TODO: Add remaining CSI cases
enum ParserState {
NORMAL = 0,
break;
}
- // '$', '"', ' ', '\''
- if (ch === '$' || ch === '"' || ch === ' ' || ch === '\'') {
- this._terminal.postfix = ch;
- break;
- }
-
this._terminal.params.push(this._terminal.currentParam);
this._terminal.currentParam = 0;
}
}
- public setPrefix(prefix: string) {
+ public setPrefix(prefix: string): void {
this._terminal.prefix = prefix;
}
public getParam(): number {
return this._terminal.currentParam;
}
+
+ public setPostfix(postfix: string): void {
+ this._terminal.postfix = postfix;
+ }
}
const wcwidth = (function(opts) {