]> git.proxmox.com Git - mirror_xterm.js.git/blame - src/Interfaces.ts
Add more CSI codes
[mirror_xterm.js.git] / src / Interfaces.ts
CommitLineData
e0d98711 1/**
1d300911 2 * @license MIT
e0d98711
DI
3 */
4
824a9c6d
PK
5export 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 17export 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 */
39export 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}