]>
Commit | Line | Data |
---|---|---|
e0d98711 | 1 | /** |
1d300911 | 2 | * @license MIT |
e0d98711 DI |
3 | */ |
4 | ||
824a9c6d PK |
5 | export interface IBrowser { |
6 | isNode: boolean; | |
7 | userAgent: string; | |
8 | platform: string; | |
9 | isFirefox: boolean; | |
10 | isMSIE: boolean; | |
11 | isMac: boolean; | |
12 | isIpad: boolean; | |
13 | isIphone: boolean; | |
14 | isMSWindows: boolean; | |
15 | } | |
16 | ||
e0d98711 | 17 | export interface ITerminal { |
30fcdd6c | 18 | element: HTMLElement; |
e0d98711 | 19 | rowContainer: HTMLElement; |
824a9c6d | 20 | textarea: HTMLTextAreaElement; |
e0d98711 DI |
21 | ydisp: number; |
22 | lines: string[]; | |
23 | rows: number; | |
824a9c6d | 24 | browser: IBrowser; |
e0d98711 | 25 | |
30fcdd6c DI |
26 | /** |
27 | * Emit the 'data' event and populate the given data. | |
28 | * @param data The data to populate in the event. | |
29 | */ | |
30 | handler(data: string); | |
e0d98711 DI |
31 | on(event: string, callback: () => void); |
32 | scrollDisp(disp: number, suppressScrollEvent: boolean); | |
824a9c6d | 33 | cancel(ev: Event, force?: boolean); |
e0d98711 | 34 | } |
04b1ebf1 DI |
35 | |
36 | /** | |
37 | * Handles actions generated by the parser. | |
38 | */ | |
39 | export interface IInputHandler { | |
f9a286a8 DI |
40 | /** C0 BEL */ bell(): void; |
41 | /** C0 LF */ lineFeed(): void; | |
42 | /** C0 CR */ carriageReturn(): void; | |
43 | /** C0 BS */ backspace(): void; | |
44 | /** C0 HT */ tab(): void; | |
45 | /** C0 SO */ shiftOut(): void; | |
46 | /** C0 SI */ shiftIn(): void; | |
9b662080 | 47 | |
f9a286a8 DI |
48 | /** CSI @ */ insertChars(params); |
49 | /** CSI A */ cursorUp(params: number[]): void; | |
50 | /** CSI B */ cursorDown(params: number[]): void; | |
51 | /** CSI C */ cursorForward(params: number[]): void; | |
52 | /** CSI D */ cursorBackward(params: number[]): void; | |
53 | /** CSI E */ cursorNextLine(params: number[]): void; | |
54 | /** CSI F */ cursorPrecedingLine(params: number[]): void; | |
55 | /** CSI G */ cursorCharAbsolute(params: number[]): void; | |
56 | /** CSI H */ cursorPosition(params: number[]): void; | |
9b662080 | 57 | /** CSI I */ cursorForwardTab(params: number[]): void; |
f9a286a8 DI |
58 | /** CSI J */ eraseInDisplay(params: number[]): void; |
59 | /** CSI K */ eraseInLine(params: number[]): void; | |
60 | /** CSI L */ insertLines(params: number[]): void; | |
61 | /** CSI M */ deleteLines(params: number[]): void; | |
62 | /** CSI P */ deleteChars(params: number[]): void; | |
63 | /** CSI X */ eraseChars(params: number[]): void; | |
64 | /** CSI ` */ charPosAbsolute(params: number[]): void; | |
65 | /** CSI a */ HPositionRelative(params: number[]): void; | |
66 | /** CSI c */ sendDeviceAttributes(params: number[]): void; | |
c43c3b41 DI |
67 | /** CSI d */ linePosAbsolute(params: number[]): void; |
68 | /** CSI e */ VPositionRelative(params: number[]): void; | |
69 | /** CSI f */ HVPosition(params: number[]): void; | |
70 | /** CSI h */ setMode(params: number[]): void; | |
9b662080 | 71 | /** CSI l */ resetMode(params: number[]): void; |
f9a286a8 DI |
72 | /** CSI m */ charAttributes(params: number[]): void; |
73 | /** CSI n */ deviceStatus(params: number[]): void; | |
9b662080 DI |
74 | /** CSI r */ setScrollRegion(params: number[]): void; |
75 | /** CSI s */ saveCursor(params: number[]): void; | |
76 | /** CSI u */ restoreCursor(params: number[]): void; | |
04b1ebf1 | 77 | } |