5 export interface IBrowser {
17 export interface ITerminal {
19 rowContainer: HTMLElement;
20 textarea: HTMLTextAreaElement;
27 * Emit the 'data' event and populate the given data.
28 * @param data The data to populate in the event.
30 handler(data: string);
31 on(event: string, callback: () => void);
32 scrollDisp(disp: number, suppressScrollEvent: boolean);
33 cancel(ev: Event, force?: boolean);
37 * Handles actions generated by the parser.
39 export interface IInputHandler {
40 addChar(char: string, code: number): void;
42 /** C0 BEL */ bell(): void;
43 /** C0 LF */ lineFeed(): void;
44 /** C0 CR */ carriageReturn(): void;
45 /** C0 BS */ backspace(): void;
46 /** C0 HT */ tab(): void;
47 /** C0 SO */ shiftOut(): void;
48 /** C0 SI */ shiftIn(): void;
50 /** CSI @ */ insertChars(params?: number[]): void;
51 /** CSI A */ cursorUp(params?: number[]): void;
52 /** CSI B */ cursorDown(params?: number[]): void;
53 /** CSI C */ cursorForward(params?: number[]): void;
54 /** CSI D */ cursorBackward(params?: number[]): void;
55 /** CSI E */ cursorNextLine(params?: number[]): void;
56 /** CSI F */ cursorPrecedingLine(params?: number[]): void;
57 /** CSI G */ cursorCharAbsolute(params?: number[]): void;
58 /** CSI H */ cursorPosition(params?: number[]): void;
59 /** CSI I */ cursorForwardTab(params?: number[]): void;
60 /** CSI J */ eraseInDisplay(params?: number[]): void;
61 /** CSI K */ eraseInLine(params?: number[]): void;
62 /** CSI L */ insertLines(params?: number[]): void;
63 /** CSI M */ deleteLines(params?: number[]): void;
64 /** CSI P */ deleteChars(params?: number[]): void;
65 /** CSI S */ scrollUp(params?: number[]): void;
66 /** CSI T */ scrollDown(params?: number[]): void;
67 /** CSI X */ eraseChars(params?: number[]): void;
68 /** CSI Z */ cursorBackwardTab(params?: number[]): void;
69 /** CSI ` */ charPosAbsolute(params?: number[]): void;
70 /** CSI a */ HPositionRelative(params?: number[]): void;
71 /** CSI b */ repeatPrecedingCharacter(params?: number[]): void;
72 /** CSI c */ sendDeviceAttributes(params?: number[]): void;
73 /** CSI d */ linePosAbsolute(params?: number[]): void;
74 /** CSI e */ VPositionRelative(params?: number[]): void;
75 /** CSI f */ HVPosition(params?: number[]): void;
76 /** CSI g */ tabClear(params?: number[]): void;
77 /** CSI h */ setMode(params?: number[]): void;
78 /** CSI l */ resetMode(params?: number[]): void;
79 /** CSI m */ charAttributes(params?: number[]): void;
80 /** CSI n */ deviceStatus(params?: number[]): void;
81 /** CSI p */ softReset(params?: number[]): void;
82 /** CSI q */ setCursorStyle(params?: number[]): void;
83 /** CSI r */ setScrollRegion(params?: number[]): void;
84 /** CSI s */ saveCursor(params?: number[]): void;
85 /** CSI u */ restoreCursor(params?: number[]): void;