hooks for custom control sequences

This re-implements addCsiHandler/addOscHandler to return an IDisposable.
This commit is contained in:
Per Bothner
2018-12-11 17:18:10 -08:00
parent 53fd04a886
commit 8ceea112f7
5 changed files with 81 additions and 5 deletions
+10
View File
@@ -182,6 +182,14 @@ export interface IInputHandler {
ESC ~ */ setgLevel(level: number): void;
}
/*
* An InputHandler for VT-style terminals
*/
export interface IVtInputHandler extends IInputHandler {
addCsiHandler(flag: string, callback: (params: number[], collect: string) => boolean): IDisposable;
addOscHandler(ident: number, callback: (data: string) => boolean): IDisposable;
}
export interface ILinkMatcher {
id: number;
regex: RegExp;
@@ -492,6 +500,8 @@ export interface IEscapeSequenceParser extends IDisposable {
setCsiHandler(flag: string, callback: (params: number[], collect: string) => void): void;
clearCsiHandler(flag: string): void;
setCsiHandlerFallback(callback: (collect: string, params: number[], flag: number) => void): void;
addCsiHandler(flag: string, callback: (params: number[], collect: string) => boolean): IDisposable;
addOscHandler(ident: number, callback: (data: string) => boolean): IDisposable;
setEscHandler(collectAndFlag: string, callback: () => void): void;
clearEscHandler(collectAndFlag: string): void;