mirror of
https://github.com/yudai/gotty.git
synced 2026-02-18 05:58:08 +01:00
Move responsibility to decode output encoding to terminal implementation
This commit is contained in:
parent
807bcc25a4
commit
b2c2db0764
6 changed files with 17 additions and 15 deletions
|
|
@ -1,16 +1,19 @@
|
|||
import * as bare from "xterm";
|
||||
import { lib } from "libapps"
|
||||
|
||||
|
||||
bare.loadAddon("fit");
|
||||
|
||||
export class Xterm {
|
||||
elem: HTMLElement;
|
||||
term: bare;
|
||||
resizeListener: () => void;
|
||||
decoder: lib.UTF8Decoder;
|
||||
|
||||
message: HTMLElement;
|
||||
messageTimeout: number;
|
||||
messageTimer: number;
|
||||
|
||||
term: bare;
|
||||
resizeListener: () => void;
|
||||
|
||||
constructor(elem: HTMLElement) {
|
||||
this.elem = elem;
|
||||
|
|
@ -20,7 +23,6 @@ export class Xterm {
|
|||
this.message.className = "xterm-overlay";
|
||||
this.messageTimeout = 2000;
|
||||
|
||||
|
||||
this.resizeListener = () => {
|
||||
this.term.fit();
|
||||
this.term.scrollToBottom();
|
||||
|
|
@ -33,6 +35,8 @@ export class Xterm {
|
|||
});
|
||||
|
||||
this.term.open(elem, true);
|
||||
|
||||
this.decoder = new lib.UTF8Decoder()
|
||||
};
|
||||
|
||||
info(): { columns: number, rows: number } {
|
||||
|
|
@ -40,7 +44,7 @@ export class Xterm {
|
|||
};
|
||||
|
||||
output(data: string) {
|
||||
this.term.write(data);
|
||||
this.term.write(this.decoder.decode(data));
|
||||
};
|
||||
|
||||
showMessage(message: string, timeout: number) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue