Remove Terminal.send

This commit is contained in:
Daniel Imms
2018-07-27 11:32:11 -07:00
parent ee3668eb03
commit fec66c7dac
5 changed files with 28 additions and 53 deletions
+17 -17
View File
@@ -40,7 +40,7 @@ class RequestTerminfo implements IDcsHandler {
}
unhook(): void {
// invalid: DCS 0 + r Pt ST
this._terminal.send(`${C0.ESC}P0+r${this._data}${C0.ESC}\\`);
this._terminal.handler(`${C0.ESC}P0+r${this._data}${C0.ESC}\\`);
}
}
@@ -68,25 +68,25 @@ class DECRQSS implements IDcsHandler {
switch (this._data) {
// valid: DCS 1 $ r Pt ST (xterm)
case '"q': // DECSCA
return this._terminal.send(`${C0.ESC}P1$r0"q${C0.ESC}\\`);
return this._terminal.handler(`${C0.ESC}P1$r0"q${C0.ESC}\\`);
case '"p': // DECSCL
return this._terminal.send(`${C0.ESC}P1$r61"p${C0.ESC}\\`);
return this._terminal.handler(`${C0.ESC}P1$r61"p${C0.ESC}\\`);
case 'r': // DECSTBM
const pt = '' + (this._terminal.buffer.scrollTop + 1) +
';' + (this._terminal.buffer.scrollBottom + 1) + 'r';
return this._terminal.send(`${C0.ESC}P1$r${pt}${C0.ESC}\\`);
return this._terminal.handler(`${C0.ESC}P1$r${pt}${C0.ESC}\\`);
case 'm': // SGR
// TODO: report real settings instead of 0m
return this._terminal.send(`${C0.ESC}P1$r0m${C0.ESC}\\`);
return this._terminal.handler(`${C0.ESC}P1$r0m${C0.ESC}\\`);
case ' q': // DECSCUSR
const STYLES: {[key: string]: number} = {'block': 2, 'underline': 4, 'bar': 6};
let style = STYLES[this._terminal.getOption('cursorStyle')];
style -= this._terminal.getOption('cursorBlink');
return this._terminal.send(`${C0.ESC}P1$r${style} q${C0.ESC}\\`);
return this._terminal.handler(`${C0.ESC}P1$r${style} q${C0.ESC}\\`);
default:
// invalid: DCS 0 $ r Pt ST (xterm)
this._terminal.error('Unknown DCS $q %s', this._data);
this._terminal.send(`${C0.ESC}P0$r${this._data}${C0.ESC}\\`);
this._terminal.handler(`${C0.ESC}P0$r${this._data}${C0.ESC}\\`);
}
}
}
@@ -1032,24 +1032,24 @@ export class InputHandler extends Disposable implements IInputHandler {
if (!collect) {
if (this._terminal.is('xterm') || this._terminal.is('rxvt-unicode') || this._terminal.is('screen')) {
this._terminal.send(C0.ESC + '[?1;2c');
this._terminal.handler(C0.ESC + '[?1;2c');
} else if (this._terminal.is('linux')) {
this._terminal.send(C0.ESC + '[?6c');
this._terminal.handler(C0.ESC + '[?6c');
}
} else if (collect === '>') {
// xterm and urxvt
// seem to spit this
// out around ~370 times (?).
if (this._terminal.is('xterm')) {
this._terminal.send(C0.ESC + '[>0;276;0c');
this._terminal.handler(C0.ESC + '[>0;276;0c');
} else if (this._terminal.is('rxvt-unicode')) {
this._terminal.send(C0.ESC + '[>85;95;0c');
this._terminal.handler(C0.ESC + '[>85;95;0c');
} else if (this._terminal.is('linux')) {
// not supported by linux console.
// linux console echoes parameters.
this._terminal.send(params[0] + 'c');
this._terminal.handler(params[0] + 'c');
} else if (this._terminal.is('screen')) {
this._terminal.send(C0.ESC + '[>83;40003;0c');
this._terminal.handler(C0.ESC + '[>83;40003;0c');
}
}
}
@@ -1733,19 +1733,19 @@ export class InputHandler extends Disposable implements IInputHandler {
break;
case 15:
// no printer
// this.send(C0.ESC + '[?11n');
// this.handler(C0.ESC + '[?11n');
break;
case 25:
// dont support user defined keys
// this.send(C0.ESC + '[?21n');
// this.handler(C0.ESC + '[?21n');
break;
case 26:
// north american keyboard
// this.send(C0.ESC + '[?27;1;0;0n');
// this.handler(C0.ESC + '[?27;1;0;0n');
break;
case 53:
// no dec locator/mouse
// this.send(C0.ESC + '[?50n');
// this.handler(C0.ESC + '[?50n');
break;
}
}
+10 -27
View File
@@ -135,7 +135,6 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
public cursorHidden: boolean;
public convertEol: boolean;
private _sendDataQueue: string;
private _customKeyEventHandler: CustomKeyEventHandler;
// modes
@@ -270,7 +269,6 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
this.cursorState = 0;
this.cursorHidden = false;
this._sendDataQueue = '';
this._customKeyEventHandler = null;
// modes
@@ -486,7 +484,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
*/
private _onTextAreaFocus(): void {
if (this.sendFocus) {
this.send(C0.ESC + '[I');
this.handler(C0.ESC + '[I');
}
this.element.classList.add('focus');
this.showCursor();
@@ -510,7 +508,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
this.textarea.value = '';
this.refresh(this.buffer.y, this.buffer.y);
if (this.sendFocus) {
this.send(C0.ESC + '[O');
this.handler(C0.ESC + '[O');
}
this.element.classList.remove('focus');
this.emit('blur');
@@ -860,7 +858,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
else if (button === 3) return;
else data += '0';
data += '~[' + pos.x + ',' + pos.y + ']\r';
self.send(data);
self.handler(data);
return;
}
@@ -873,7 +871,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
else if (button === 1) button = 4;
else if (button === 2) button = 6;
else if (button === 3) button = 3;
self.send(C0.ESC + '['
self.handler(C0.ESC + '['
+ button
+ ';'
+ (button === 3 ? 4 : 0)
@@ -893,14 +891,14 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
pos.y -= 32;
pos.x++;
pos.y++;
self.send(C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');
self.handler(C0.ESC + '[' + button + ';' + pos.x + ';' + pos.y + 'M');
return;
}
if (self.sgrMouse) {
pos.x -= 32;
pos.y -= 32;
self.send(C0.ESC + '[<'
self.handler(C0.ESC + '[<'
+ (((button & 3) === 3 ? button & ~3 : button) - 32)
+ ';'
+ pos.x
@@ -916,7 +914,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
encode(data, pos.x);
encode(data, pos.y);
self.send(C0.ESC + '[M' + String.fromCharCode.apply(String, data));
self.handler(C0.ESC + '[M' + String.fromCharCode.apply(String, data));
}
function getButton(ev: MouseEvent): number {
@@ -1065,7 +1063,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
for (let i = 0; i < Math.abs(amount); i++) {
data += sequence;
}
this.send(data);
this.handler(data);
}
return;
}
@@ -1279,7 +1277,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
if (this.options.useFlowControl && !this._xoffSentToCatchUp && this.writeBuffer.length >= WRITE_BUFFER_PAUSE_THRESHOLD) {
// XOFF - stop pty pipe
// XON will be triggered by emulator before processing data chunk
this.send(C0.DC3);
this.handler(C0.DC3);
this._xoffSentToCatchUp = true;
}
@@ -1301,7 +1299,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
// If XOFF was sent in order to catch up with the pty process, resume it if
// the writeBuffer is empty to allow more data to come in.
if (this._xoffSentToCatchUp && writeBatch.length === 0 && this.writeBuffer.length === 0) {
this.send(C0.DC1);
this.handler(C0.DC1);
this._xoffSentToCatchUp = false;
}
@@ -1576,21 +1574,6 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
return true;
}
/**
* Send data for handling to the terminal
* @param {string} data
*/
public send(data: string): void {
if (!this._sendDataQueue) {
setTimeout(() => {
this.handler(this._sendDataQueue);
this._sendDataQueue = '';
}, 1);
}
this._sendDataQueue += data;
}
/**
* Ring the bell.
* Note: We could do sweet things with webaudio here
-2
View File
@@ -75,7 +75,6 @@ export interface IInputHandlingTerminal extends IEventEmitter {
eraseLeft(x: number, y: number): void;
blankLine(cur?: boolean, isWrapped?: boolean): LineData;
is(term: string): boolean;
send(data: string): void;
setgCharset(g: number, charset: ICharset): void;
resize(x: number, y: number): void;
log(text: string, data?: any): void;
@@ -225,7 +224,6 @@ export interface ITerminal extends PublicTerminal, IElementAccessor, IBufferAcce
* @param data The data to populate in the event.
*/
handler(data: string): void;
send(data: string): void;
scrollLines(disp: number, suppressScrollEvent?: boolean): void;
cancel(ev: Event, force?: boolean): boolean | void;
log(text: string): void;
+1 -1
View File
@@ -50,7 +50,7 @@ export class AltClickHandler {
*/
public move(): void {
if (this._mouseEvent.altKey && this._endCol !== undefined && this._endRow !== undefined) {
this._terminal.send(this._arrowSequences());
this._terminal.handler(this._arrowSequences());
}
}
-6
View File
@@ -84,9 +84,6 @@ export class MockTerminal implements ITerminal {
write(data: string): void {
throw new Error('Method not implemented.');
}
send(data: string): void {
throw new Error('Method not implemented.');
}
bracketedPasteMode: boolean;
mouseHelper: IMouseHelper;
renderer: IRenderer;
@@ -240,9 +237,6 @@ export class MockInputHandlingTerminal implements IInputHandlingTerminal {
is(term: string): boolean {
throw new Error('Method not implemented.');
}
send(data: string): void {
throw new Error('Method not implemented.');
}
setgCharset(g: number, charset: { [key: string]: string; }): void {
throw new Error('Method not implemented.');
}