*
* @param data The data to parse.
*/
- public parse(data: string) {
+ public parse(data: string): ParserState {
let l = data.length, j, cs, ch, code, low;
this._position = 0;
case ParserState.DCS:
if (ch === C0.ESC || ch === C0.BEL) {
if (ch === C0.ESC) this._position++;
+ let pt;
+ let valid: boolean;
switch (this._terminal.prefix) {
// User-Defined Keys (DECUDK).
// Request Status String (DECRQSS).
// test: echo -e '\eP$q"p\e\\'
case '$q':
- let pt = this._terminal.currentParam
- , valid = false;
+ pt = this._terminal.currentParam;
+ valid = false;
switch (pt) {
// DECSCA
// This can cause a small glitch in vim.
// test: echo -ne '\eP+q6b64\e\\'
case '+q':
- // TODO: Don't declare pt twice
- /*let*/ pt = this._terminal.currentParam
- , valid = false;
+ pt = this._terminal.currentParam;
+ valid = false;
this._terminal.send(C0.ESC + 'P' + +valid + '+r' + pt + C0.ESC + '\\');
break;
break;
}
}
+ return this._state;
}
/**