add ability to register/deregister character joiner

This commit is contained in:
Jeff Principe
2018-06-02 10:24:52 -07:00
parent c192a27d93
commit eabb25c796
9 changed files with 355 additions and 15 deletions
+18 -1
View File
@@ -3,7 +3,7 @@
* @license MIT
*/
import { ITerminal } from '../Types';
import { ITerminal, CharacterJoinerHandler } from '../Types';
import { IEventEmitter, ITheme } from 'xterm';
import { IColorSet } from '../shared/Types';
@@ -35,6 +35,8 @@ export interface IRenderer extends IEventEmitter {
onOptionsChanged(): void;
clear(): void;
refreshRows(start: number, end: number): void;
registerCharacterJoiner(handler: CharacterJoinerHandler): number;
deregisterCharacterJoiner(joinerId: number): boolean;
}
export interface IColorManager {
@@ -96,6 +98,16 @@ export interface IRenderLayer {
*/
onSelectionChanged(terminal: ITerminal, start: [number, number], end: [number, number]): void;
/**
* Registers a handler to join characters to render as a group
*/
registerCharacterJoiner?(joiner: ICharacterJoiner): void;
/**
* Deregisters the specified character joiner handler
*/
deregisterCharacterJoiner?(joinerId: number): void;
/**
* Resize the render layer.
*/
@@ -106,3 +118,8 @@ export interface IRenderLayer {
*/
reset(terminal: ITerminal): void;
}
export interface ICharacterJoiner {
id: number;
handler: CharacterJoinerHandler;
}