60 lines
1.8 KiB
TypeScript
60 lines
1.8 KiB
TypeScript
/**
|
|
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
|
|
* @license MIT
|
|
*/
|
|
|
|
import { Terminal, ITerminalAddon } from 'xterm';
|
|
|
|
declare module 'xterm-addon-serialize' {
|
|
/**
|
|
* An xterm.js addon that enables serialization of terminal contents.
|
|
*/
|
|
export class SerializeAddon implements ITerminalAddon {
|
|
|
|
constructor();
|
|
|
|
/**
|
|
* Activates the addon.
|
|
* @param terminal The terminal the addon is being loaded in.
|
|
*/
|
|
public activate(terminal: Terminal): void;
|
|
|
|
/**
|
|
* Serializes terminal rows into a string that can be written back to the terminal to restore
|
|
* the state. The cursor will also be positioned to the correct cell. When restoring a terminal
|
|
* it is best to do before `Terminal.open` is called to avoid wasting CPU cycles rendering
|
|
* incomplete frames.
|
|
*
|
|
* It's recommended that you write the serialized data into a terminal of the same size in which
|
|
* it originated from and then resize it after if needed.
|
|
*
|
|
* @param options Custom options to allow control over what gets serialized.
|
|
*/
|
|
public serialize(options?: ISerializeOptions): string;
|
|
|
|
/**
|
|
* Disposes the addon.
|
|
*/
|
|
public dispose(): void;
|
|
}
|
|
|
|
export interface ISerializeOptions {
|
|
/**
|
|
* The number of rows in the scrollback buffer to serialize, starting from the bottom of the
|
|
* scrollback buffer. When not specified, all available rows in the scrollback buffer will be
|
|
* serialized.
|
|
*/
|
|
scrollback?: number;
|
|
|
|
/**
|
|
* Whether to exclude the terminal modes from the serialization. False by default.
|
|
*/
|
|
excludeModes?: boolean;
|
|
|
|
/**
|
|
* Whether to exclude the alt buffer from the serialization. False by default.
|
|
*/
|
|
excludeAltBuffer?: boolean;
|
|
}
|
|
}
|