xterm
- Version 5.3.0
- Published
- 2.34 MB
- No dependencies
- MIT license
Install
npm i xterm
yarn add xterm
pnpm add xterm
Overview
Full xterm terminal, in your browser
Index
Namespaces
xterm
- FontWeight
- IBuffer
- IBufferCell
- IBufferCellPosition
- IBufferElementProvider
- IBufferLine
- IBufferNamespace
- IBufferRange
- IDecoration
- IDecorationOptions
- IDecorationOverviewRulerOptions
- IDisposable
- IDisposableWithEvent
- IEvent
- IFunctionIdentifier
- ILink
- ILinkDecorations
- ILinkHandler
- ILinkProvider
- ILocalizableStrings
- ILogger
- IMarker
- IModes
- IParser
- ITerminalAddon
- ITerminalInitOnlyOptions
- ITerminalOptions
- ITheme
- IUnicodeHandling
- IUnicodeVersionProvider
- IViewportRange
- IViewportRangePosition
- IWindowOptions
- IWindowsPty
- LogLevel
- Terminal
Namespaces
namespace xterm
module 'xterm' {}
MIT
This contains the type declarations for the xterm.js library. Note that some interfaces differ between this file and the actual implementation in src/, that's because this file declares the *public* API which is intended to be stable and consumed by external programs.
class Terminal
class Terminal implements IDisposable {}
The class that represents an xterm.js terminal.
constructor
constructor(options?: ITerminalOptions & ITerminalInitOnlyOptions);
Creates a new
Terminal
object.Parameter options
An object containing a set of options.
property buffer
readonly buffer: IBufferNamespace;
Access to the terminal's normal and alt buffer.
property cols
readonly cols: number;
The number of columns in the terminal's viewport. Use
ITerminalOptions.cols
to set this in the constructor andTerminal.resize
for when the terminal exists.
property element
readonly element: HTMLElement;
The element containing the terminal.
property markers
readonly markers: readonly IMarker[];
(EXPERIMENTAL) Get all markers registered against the buffer. If the alt buffer is active this will always return [].
property modes
readonly modes: IModes;
Gets the terminal modes as set by SM/DECSET.
property onBell
onBell: IEvent<void, void>;
Adds an event listener for when the bell is triggered.
Returns
an
IDisposable
to stop listening.
property onBinary
onBinary: IEvent<string, void>;
Adds an event listener for when a binary event fires. This is used to enable non UTF-8 conformant binary messages to be sent to the backend. Currently this is only used for a certain type of mouse reports that happen to be not UTF-8 compatible. The event value is a JS string, pass it to the underlying pty as binary data, e.g.
pty.write(Buffer.from(data, 'binary'))
.Returns
an
IDisposable
to stop listening.
property onCursorMove
onCursorMove: IEvent<void, void>;
Adds an event listener for the cursor moves.
Returns
an
IDisposable
to stop listening.
property onData
onData: IEvent<string, void>;
Adds an event listener for when a data event fires. This happens for example when the user types or pastes into the terminal. The event value is whatever
string
results, in a typical setup, this should be passed on to the backing pty.Returns
an
IDisposable
to stop listening.
property onKey
onKey: IEvent<{ key: string; domEvent: KeyboardEvent }, void>;
Adds an event listener for when a key is pressed. The event value contains the string that will be sent in the data event as well as the DOM event that triggered it.
Returns
an
IDisposable
to stop listening.
property onLineFeed
onLineFeed: IEvent<void, void>;
Adds an event listener for when a line feed is added.
Returns
an
IDisposable
to stop listening.
property onRender
onRender: IEvent<{ start: number; end: number }, void>;
Adds an event listener for when rows are rendered. The event value contains the start row and end rows of the rendered area (ranges from
0
toTerminal.rows - 1
).Returns
an
IDisposable
to stop listening.
property onResize
onResize: IEvent<{ cols: number; rows: number }, void>;
Adds an event listener for when the terminal is resized. The event value contains the new size.
Returns
an
IDisposable
to stop listening.
property onScroll
onScroll: IEvent<number, void>;
Adds an event listener for when a scroll occurs. The event value is the new position of the viewport.
Returns
an
IDisposable
to stop listening.
property onSelectionChange
onSelectionChange: IEvent<void, void>;
Adds an event listener for when a selection change occurs.
Returns
an
IDisposable
to stop listening.
property onTitleChange
onTitleChange: IEvent<string, void>;
Adds an event listener for when an OSC 0 or OSC 2 title change occurs. The event value is the new title.
Returns
an
IDisposable
to stop listening.
property onWriteParsed
onWriteParsed: IEvent<void, void>;
Adds an event listener for when data has been parsed by the terminal, after write is called. This event is useful to listen for any changes in the buffer.
This fires at most once per frame, after data parsing completes. Note that this can fire when there are still writes pending if there is a lot of data.
property options
options: ITerminalOptions;
Gets or sets the terminal options. This supports setting multiple options.
Example 1
Get a single option
console.log(terminal.options.fontSize);Example 2
Set a single option:
terminal.options.fontSize = 12;Note that for options that are object, a new object must be used in order to take effect as a reference comparison will be done:
const newValue = terminal.options.theme;newValue.background = '#000000';// This won't workterminal.options.theme = newValue;// This will workterminal.options.theme = { ...newValue };Example 3
Set multiple options
terminal.options = {fontSize: 12,fontFamily: 'Courier New'};
property parser
readonly parser: IParser;
Get the parser interface to register custom escape sequence handlers.
property rows
readonly rows: number;
The number of rows in the terminal's viewport. Use
ITerminalOptions.rows
to set this in the constructor andTerminal.resize
for when the terminal exists.
property strings
static strings: ILocalizableStrings;
Natural language strings that can be localized.
property textarea
readonly textarea: HTMLTextAreaElement;
The textarea that accepts input for the terminal.
property unicode
readonly unicode: IUnicodeHandling;
(EXPERIMENTAL) Get the Unicode handling interface to register and switch Unicode version.
method attachCustomKeyEventHandler
attachCustomKeyEventHandler: ( customKeyEventHandler: (event: KeyboardEvent) => boolean) => void;
Attaches a custom key event handler which is run before keys are processed, giving consumers of xterm.js ultimate control as to what keys should be processed by the terminal and what keys should not.
Parameter customKeyEventHandler
The custom KeyboardEvent handler to attach. This is a function that takes a KeyboardEvent, allowing consumers to stop propagation and/or prevent the default action. The function returns whether the event should be processed by xterm.js.
Example 1
A custom keymap that overrides the backspace key
const keymap = [{ "key": "Backspace", "shiftKey": false, "mapCode": 8 },{ "key": "Backspace", "shiftKey": true, "mapCode": 127 }];term.attachCustomKeyEventHandler(ev => {if (ev.type === 'keydown') {for (let i in keymap) {if (keymap[i].key == ev.key && keymap[i].shiftKey == ev.shiftKey) {socket.send(String.fromCharCode(keymap[i].mapCode));return false;}}}});
method blur
blur: () => void;
Unfocus the terminal.
method clear
clear: () => void;
Clear the entire buffer, making the prompt line the new first line.
method clearSelection
clearSelection: () => void;
Clears the current terminal selection.
method clearTextureAtlas
clearTextureAtlas: () => void;
Clears the texture atlas of the canvas renderer if it's active. Doing this will force a redraw of all glyphs which can workaround issues causing the texture to become corrupt, for example Chromium/Nvidia has an issue where the texture gets messed up when resuming the OS from sleep.
method deregisterCharacterJoiner
deregisterCharacterJoiner: (joinerId: number) => void;
(EXPERIMENTAL) Deregisters the character joiner if one was registered. NOTE: character joiners are only used by the canvas renderer.
Parameter joinerId
The character joiner's ID (returned after register)
method dispose
dispose: () => void;
method focus
focus: () => void;
Focus the terminal.
method getSelection
getSelection: () => string;
Gets the terminal's current selection, this is useful for implementing copy behavior outside of xterm.js.
method getSelectionPosition
getSelectionPosition: () => IBufferRange | undefined;
Gets the selection position or undefined if there is no selection.
method hasSelection
hasSelection: () => boolean;
Gets whether the terminal has an active selection.
method loadAddon
loadAddon: (addon: ITerminalAddon) => void;
Loads an addon into this instance of xterm.js.
Parameter addon
The addon to load.
method open
open: (parent: HTMLElement) => void;
Opens the terminal within an element.
Parameter parent
The element to create the terminal within. This element must be visible (have dimensions) when
open
is called as several DOM- based measurements need to be performed when this function is called.
method paste
paste: (data: string) => void;
Writes text to the terminal, performing the necessary transformations for pasted text.
Parameter data
The text to write to the terminal.
method refresh
refresh: (start: number, end: number) => void;
Tells the renderer to refresh terminal content between two rows (inclusive) at the next opportunity.
Parameter start
The row to start from (between 0 and this.rows - 1).
Parameter end
The row to end at (between start and this.rows - 1).
method registerCharacterJoiner
registerCharacterJoiner: ( handler: (text: string) => [number, number][]) => number;
(EXPERIMENTAL) Registers a character joiner, allowing custom sequences of characters to be rendered as a single unit. This is useful in particular for rendering ligatures and graphemes, among other things.
Each registered character joiner is called with a string of text representing a portion of a line in the terminal that can be rendered as a single unit. The joiner must return a sorted array, where each entry is itself an array of length two, containing the start (inclusive) and end (exclusive) index of a substring of the input that should be rendered as a single unit. When multiple joiners are provided, the results of each are collected. If there are any overlapping substrings between them, they are combined into one larger unit that is drawn together.
All character joiners that are registered get called every time a line is rendered in the terminal, so it is essential for the handler function to run as quickly as possible to avoid slowdowns when rendering. Similarly, joiners should strive to return the smallest possible substrings to render together, since they aren't drawn as optimally as individual characters.
NOTE: character joiners are only used by the canvas renderer.
Parameter handler
The function that determines character joins. It is called with a string of text that is eligible for joining and returns an array where each entry is an array containing the start (inclusive) and end (exclusive) indexes of ranges that should be rendered as a single unit.
Returns
The ID of the new joiner, this can be used to deregister
method registerDecoration
registerDecoration: ( decorationOptions: IDecorationOptions) => IDecoration | undefined;
(EXPERIMENTAL) Adds a decoration to the terminal using
Parameter decorationOptions
, which takes a marker and an optional anchor, width, height, and x offset from the anchor. Returns the decoration or undefined if the alt buffer is active or the marker has already been disposed of.
Throws
when options include a negative x offset.
method registerLinkProvider
registerLinkProvider: (linkProvider: ILinkProvider) => IDisposable;
Registers a link provider, allowing a custom parser to be used to match and handle links. Multiple link providers can be used, they will be asked in the order in which they are registered.
Parameter linkProvider
The link provider to use to detect links.
method registerMarker
registerMarker: (cursorYOffset?: number) => IMarker;
Adds a marker to the normal buffer and returns it.
Parameter cursorYOffset
The y position offset of the marker from the cursor.
Returns
The new marker or undefined.
method reset
reset: () => void;
Perform a full reset (RIS, aka '\x1bc').
method resize
resize: (columns: number, rows: number) => void;
Resizes the terminal. It's best practice to debounce calls to resize, this will help ensure that the pty can respond to the resize event before another one occurs.
Parameter x
The number of columns to resize to.
Parameter y
The number of rows to resize to.
method scrollLines
scrollLines: (amount: number) => void;
Scroll the display of the terminal
Parameter amount
The number of lines to scroll down (negative scroll up).
method scrollPages
scrollPages: (pageCount: number) => void;
Scroll the display of the terminal by a number of pages.
Parameter pageCount
The number of pages to scroll (negative scrolls up).
method scrollToBottom
scrollToBottom: () => void;
Scrolls the display of the terminal to the bottom.
method scrollToLine
scrollToLine: (line: number) => void;
Scrolls to a line within the buffer.
Parameter line
The 0-based line index to scroll to.
method scrollToTop
scrollToTop: () => void;
Scrolls the display of the terminal to the top.
method select
select: (column: number, row: number, length: number) => void;
Selects text within the terminal.
Parameter column
The column the selection starts at.
Parameter row
The row the selection starts at.
Parameter length
The length of the selection.
method selectAll
selectAll: () => void;
Selects all text within the terminal.
method selectLines
selectLines: (start: number, end: number) => void;
Selects text in the buffer between 2 lines.
Parameter start
The 0-based line index to select from (inclusive).
Parameter end
The 0-based line index to select to (inclusive).
method write
write: (data: string | Uint8Array, callback?: () => void) => void;
Write data to the terminal.
Parameter data
The data to write to the terminal. This can either be raw bytes given as Uint8Array from the pty or a string. Raw bytes will always be treated as UTF-8 encoded, string data as UTF-16.
Parameter callback
Optional callback that fires when the data was processed by the parser.
method writeln
writeln: (data: string | Uint8Array, callback?: () => void) => void;
Writes data to the terminal, followed by a break line character (\n).
Parameter data
The data to write to the terminal. This can either be raw bytes given as Uint8Array from the pty or a string. Raw bytes will always be treated as UTF-8 encoded, string data as UTF-16.
Parameter callback
Optional callback that fires when the data was processed by the parser.
interface IBuffer
interface IBuffer {}
Represents a terminal buffer.
property baseY
readonly baseY: number;
The line within the buffer where the top of the bottom page is (when fully scrolled down).
property cursorX
readonly cursorX: number;
The x position of the cursor. This ranges between
0
(left side) andTerminal.cols
(after last cell of the row).
property cursorY
readonly cursorY: number;
The y position of the cursor. This ranges between
0
(when the cursor is at baseY) andTerminal.rows - 1
(when the cursor is on the last row).
property length
readonly length: number;
The amount of lines in the buffer.
property type
readonly type: 'normal' | 'alternate';
The type of the buffer.
property viewportY
readonly viewportY: number;
The line within the buffer where the top of the viewport is.
method getLine
getLine: (y: number) => IBufferLine | undefined;
Gets a line from the buffer, or undefined if the line index does not exist.
Note that the result of this function should be used immediately after calling as when the terminal updates it could lead to unexpected behavior.
Parameter y
The line index to get.
method getNullCell
getNullCell: () => IBufferCell;
Creates an empty cell object suitable as a cell reference in
line.getCell(x, cell)
. Use this to avoid costly recreation of cell objects when dealing with tons of cells.
interface IBufferCell
interface IBufferCell {}
Represents a single cell in the terminal's buffer.
method getBgColor
getBgColor: () => number;
Gets a cell's background color number, this differs depending on what the color mode of the cell is:
- Default: This should be 0, representing the default background color (CSI 49 m). - Palette: This is a number from 0 to 255 of ANSI colors (CSI 4(0-7) m, CSI 10(0-7) m, CSI 48 ; 5 ; 0-255 m). - RGB: A hex value representing a 'true color': 0xRRGGBB (CSI 4 8 ; 2 ; Pi ; Pr ; Pg ; Pb)
method getBgColorMode
getBgColorMode: () => number;
Gets the number representation of the background color mode, this can be used to perform quick comparisons of 2 cells to see if they're the same. Use
isBgRGB
,isBgPalette
andisBgDefault
to check what color mode a cell is.
method getChars
getChars: () => string;
The character(s) within the cell. Examples of what this can contain:
- A normal width character - A wide character (eg. CJK) - An emoji
method getCode
getCode: () => number;
Gets the UTF32 codepoint of single characters, if content is a combined string it returns the codepoint of the last character in the string.
method getFgColor
getFgColor: () => number;
Gets a cell's foreground color number, this differs depending on what the color mode of the cell is:
- Default: This should be 0, representing the default foreground color (CSI 39 m). - Palette: This is a number from 0 to 255 of ANSI colors (CSI 3(0-7) m, CSI 9(0-7) m, CSI 38 ; 5 ; 0-255 m). - RGB: A hex value representing a 'true color': 0xRRGGBB. (CSI 3 8 ; 2 ; Pi ; Pr ; Pg ; Pb)
method getFgColorMode
getFgColorMode: () => number;
Gets the number representation of the foreground color mode, this can be used to perform quick comparisons of 2 cells to see if they're the same. Use
isFgRGB
,isFgPalette
andisFgDefault
to check what color mode a cell is.
method getWidth
getWidth: () => number;
The width of the character. Some examples:
-
1
for most cells. -2
for wide character like CJK glyphs. -0
for cells immediately following cells with a width of2
.
method isAttributeDefault
isAttributeDefault: () => boolean;
Whether the cell has the default attribute (no color or style).
method isBgDefault
isBgDefault: () => boolean;
Whether the cell is using the default background color mode.
method isBgPalette
isBgPalette: () => boolean;
Whether the cell is using the palette background color mode.
method isBgRGB
isBgRGB: () => boolean;
Whether the cell is using the RGB background color mode.
method isBlink
isBlink: () => number;
Whether the cell has the blink attribute (CSI 5 m).
method isBold
isBold: () => number;
Whether the cell has the bold attribute (CSI 1 m).
method isDim
isDim: () => number;
Whether the cell has the dim attribute (CSI 2 m).
method isFgDefault
isFgDefault: () => boolean;
Whether the cell is using the default foreground color mode.
method isFgPalette
isFgPalette: () => boolean;
Whether the cell is using the palette foreground color mode.
method isFgRGB
isFgRGB: () => boolean;
Whether the cell is using the RGB foreground color mode.
method isInverse
isInverse: () => number;
Whether the cell has the inverse attribute (CSI 7 m).
method isInvisible
isInvisible: () => number;
Whether the cell has the invisible attribute (CSI 8 m).
method isItalic
isItalic: () => number;
Whether the cell has the italic attribute (CSI 3 m).
method isOverline
isOverline: () => number;
Whether the cell has the overline attribute (CSI 53 m).
method isStrikethrough
isStrikethrough: () => number;
Whether the cell has the strikethrough attribute (CSI 9 m).
method isUnderline
isUnderline: () => number;
Whether the cell has the underline attribute (CSI 4 m).
interface IBufferCellPosition
interface IBufferCellPosition {}
A position within a buffer.
interface IBufferElementProvider
interface IBufferElementProvider {}
method provideBufferElements
provideBufferElements: () => DocumentFragment | HTMLElement;
Provides a document fragment or HTMLElement containing the buffer elements.
interface IBufferLine
interface IBufferLine {}
Represents a line in the terminal's buffer.
property isWrapped
readonly isWrapped: boolean;
Whether the line is wrapped from the previous line.
property length
readonly length: number;
The length of the line, all call to getCell beyond the length will result in
undefined
. Note that this may exceed columns as the line array may not be trimmed after a resize, compare against Terminal.cols to get the actual maximum length of a line.
method getCell
getCell: (x: number, cell?: IBufferCell) => IBufferCell | undefined;
Gets a cell from the line, or undefined if the line index does not exist.
Note that the result of this function should be used immediately after calling as when the terminal updates it could lead to unexpected behavior.
Parameter x
The character index to get.
Parameter cell
Optional cell object to load data into for performance reasons. This is mainly useful when every cell in the buffer is being looped over to avoid creating new objects for every cell.
method translateToString
translateToString: ( trimRight?: boolean, startColumn?: number, endColumn?: number) => string;
Gets the line as a string. Note that this is gets only the string for the line, not taking isWrapped into account.
Parameter trimRight
Whether to trim any whitespace at the right of the line.
Parameter startColumn
The column to start from (inclusive).
Parameter endColumn
The column to end at (exclusive).
interface IBufferNamespace
interface IBufferNamespace {}
Represents the terminal's set of buffers.
property active
readonly active: IBuffer;
The active buffer, this will either be the normal or alternate buffers.
property alternate
readonly alternate: IBuffer;
The alternate buffer, this becomes the active buffer when an application enters this mode via DECSET (
CSI ? 4 7 h
)
property normal
readonly normal: IBuffer;
The normal buffer.
property onBufferChange
onBufferChange: IEvent<IBuffer>;
Adds an event listener for when the active buffer changes.
Returns
an
IDisposable
to stop listening.
interface IBufferRange
interface IBufferRange {}
A range within a buffer.
interface IDecoration
interface IDecoration extends IDisposableWithEvent {}
Represents a decoration in the terminal that is associated with a particular marker and DOM element.
property element
element: HTMLElement | undefined;
The element that the decoration is rendered to. This will be undefined until it is rendered for the first time by IDecoration.onRender. that.
property marker
readonly marker: IMarker;
property onRender
readonly onRender: IEvent<HTMLElement>;
An event fired when the decoration is rendered, returns the dom element associated with the decoration.
property options
options: Pick<IDecorationOptions, 'overviewRulerOptions'>;
The options for the overview ruler that can be updated. This will only take effect when IDecorationOptions.overviewRulerOptions were provided initially.
interface IDecorationOptions
interface IDecorationOptions {}
property anchor
readonly anchor?: 'right' | 'left';
property backgroundColor
readonly backgroundColor?: string;
The background color of the cell(s). When 2 decorations both set the foreground color the last registered decoration will be used. Only the
#RRGGBB
format is supported.
property foregroundColor
readonly foregroundColor?: string;
The foreground color of the cell(s). When 2 decorations both set the foreground color the last registered decoration will be used. Only the
#RRGGBB
format is supported.
property height
readonly height?: number;
The height of the decoration in cells, defaults to 1.
property layer
readonly layer?: 'bottom' | 'top';
What layer to render the decoration at when backgroundColor or foregroundColor are used.
'bottom'
will render under the selection,'top
' will render above the selection*.** The selection will render on top regardless of layer on the canvas renderer due to how it renders selection separately.*
property marker
readonly marker: IMarker;
The line in the terminal where the decoration will be displayed
property overviewRulerOptions
overviewRulerOptions?: IDecorationOverviewRulerOptions;
When defined, renders the decoration in the overview ruler to the right of the terminal. ITerminalOptions.overviewRulerWidth must be set in order to see the overview ruler.
Parameter color
The color of the decoration.
Parameter position
The position of the decoration.
property width
readonly width?: number;
The width of the decoration in cells, defaults to 1.
property x
readonly x?: number;
The x position offset relative to the anchor
interface IDecorationOverviewRulerOptions
interface IDecorationOverviewRulerOptions {}
Overview ruler decoration options
interface IDisposable
interface IDisposable {}
An object that can be disposed via a dispose function.
method dispose
dispose: () => void;
interface IDisposableWithEvent
interface IDisposableWithEvent extends IDisposable {}
Represents a disposable that tracks is disposed state.
property isDisposed
readonly isDisposed: boolean;
Whether this is disposed.
property onDispose
onDispose: IEvent<void>;
Event listener to get notified when this gets disposed.
interface IEvent
interface IEvent<T, U = void> {}
An event that can be listened to.
Returns
an
IDisposable
to stop listening.
call signature
(listener: (arg1: T, arg2: U) => any): IDisposable;
interface IFunctionIdentifier
interface IFunctionIdentifier {}
Data type to register a CSI, DCS or ESC callback in the parser in the form: ESC I..I F CSI Prefix P..P I..I F DCS Prefix P..P I..I F data_bytes ST
with these rules/restrictions: - prefix can only be used with CSI and DCS - only one leading prefix byte is recognized by the parser before any other parameter bytes (P..P) - intermediate bytes are recognized up to 2
For custom sequences make sure to read ECMA-48 and the resources at vt100.net to not clash with existing sequences or reserved address space. General recommendations: - use private address space (see ECMA-48) - use max one intermediate byte (technically not limited by the spec, in practice there are no sequences with more than one intermediate byte, thus parsers might get confused with more intermediates) - test against other common emulators to check whether they escape/ignore the sequence correctly
Notes: OSC command registration is handled differently (see addOscHandler) APC, PM or SOS is currently not supported.
property final
final: string;
Final byte, must be in range \x40 .. \x7e for CSI and DCS, \x30 .. \x7e for ESC.
property intermediates
intermediates?: string;
Optional intermediate bytes, must be in range \x20 .. \x2f. Usable in CSI, DCS and ESC.
property prefix
prefix?: string;
Optional prefix byte, must be in range \x3c .. \x3f. Usable in CSI and DCS.
interface ILink
interface ILink {}
A link within the terminal.
property decorations
decorations?: ILinkDecorations;
What link decorations to show when hovering the link, this property is tracked and changes made after the link is provided will trigger changes. If not set, all decroations will be enabled.
property range
range: IBufferRange;
The buffer range of the link.
property text
text: string;
The text of the link.
method activate
activate: (event: MouseEvent, text: string) => void;
Calls when the link is activated.
Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
method dispose
dispose: () => void;
Called when the link is released and no longer used by xterm.js.
method hover
hover: (event: MouseEvent, text: string) => void;
Called when the mouse hovers the link. To use this to create a DOM-based hover tooltip, create the hover element within
Terminal.element
and add thexterm-hover
class to it, that will cause mouse events to not fall through and activate other links.Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
method leave
leave: (event: MouseEvent, text: string) => void;
Called when the mouse leaves the link.
Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
interface ILinkDecorations
interface ILinkDecorations {}
A set of decorations that can be applied to links.
property pointerCursor
pointerCursor: boolean;
Whether the cursor is set to pointer.
property underline
underline: boolean;
Whether the underline is visible
interface ILinkHandler
interface ILinkHandler {}
A link handler for OSC 8 hyperlinks.
property allowNonHttpProtocols
allowNonHttpProtocols?: boolean;
Whether to receive non-HTTP URLs from LinkProvider. When false, any usage of non-HTTP URLs will be ignored. Enabling this option without proper protection in
activate
function may cause security issues such as XSS.
method activate
activate: (event: MouseEvent, text: string, range: IBufferRange) => void;
Calls when the link is activated.
Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
Parameter range
The buffer range of the link.
method hover
hover: (event: MouseEvent, text: string, range: IBufferRange) => void;
Called when the mouse hovers the link. To use this to create a DOM-based hover tooltip, create the hover element within
Terminal.element
and add thexterm-hover
class to it, that will cause mouse events to not fall through and activate other links.Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
Parameter range
The buffer range of the link.
method leave
leave: (event: MouseEvent, text: string, range: IBufferRange) => void;
Called when the mouse leaves the link.
Parameter event
The mouse event triggering the callback.
Parameter text
The text of the link.
Parameter range
The buffer range of the link.
interface ILinkProvider
interface ILinkProvider {}
A custom link provider.
method provideLinks
provideLinks: ( bufferLineNumber: number, callback: (links: ILink[] | undefined) => void) => void;
Provides a link a buffer position
Parameter bufferLineNumber
The y position of the buffer to check for links within.
Parameter callback
The callback to be fired when ready with the resulting link(s) for the line or
undefined
.
interface ILocalizableStrings
interface ILocalizableStrings {}
The set of localizable strings.
property promptLabel
promptLabel: string;
The aria label for the underlying input textarea for the terminal.
property tooMuchOutput
tooMuchOutput: string;
Announcement for when line reading is suppressed due to too many lines being printed to the terminal when
screenReaderMode
is enabled.
interface ILogger
interface ILogger {}
A replacement logger for
console
.
method debug
debug: (message: string, ...args: any[]) => void;
Log a debug message, this will only be called if ITerminalOptions.logLevel is set to debug or below.
method error
error: (message: string | Error, ...args: any[]) => void;
Log a debug message, this will only be called if ITerminalOptions.logLevel is set to error or below.
method info
info: (message: string, ...args: any[]) => void;
Log a debug message, this will only be called if ITerminalOptions.logLevel is set to info or below.
method trace
trace: (message: string, ...args: any[]) => void;
Log a trace message, this will only be called if ITerminalOptions.logLevel is set to trace.
method warn
warn: (message: string, ...args: any[]) => void;
Log a debug message, this will only be called if ITerminalOptions.logLevel is set to warn or below.
interface IMarker
interface IMarker extends IDisposableWithEvent {}
Represents a specific line in the terminal that is tracked when scrollback is trimmed and lines are added or removed. This is a single line that may be part of a larger wrapped line.
interface IModes
interface IModes {}
Terminal modes as set by SM/DECSET.
property applicationCursorKeysMode
readonly applicationCursorKeysMode: boolean;
Application Cursor Keys (DECCKM):
CSI ? 1 h
property applicationKeypadMode
readonly applicationKeypadMode: boolean;
Application Keypad Mode (DECNKM):
CSI ? 6 6 h
property bracketedPasteMode
readonly bracketedPasteMode: boolean;
Bracketed Paste Mode:
CSI ? 2 0 0 4 h
property insertMode
readonly insertMode: boolean;
Insert Mode (IRM):
CSI 4 h
property mouseTrackingMode
readonly mouseTrackingMode: 'none' | 'x10' | 'vt200' | 'drag' | 'any';
Mouse Tracking, this can be one of the following: - none: This is the default value and can be reset with DECRST - x10: Send Mouse X & Y on button press
CSI ? 9 h
- vt200: Send Mouse X & Y on button press and releaseCSI ? 1 0 0 0 h
- drag: Use Cell Motion Mouse TrackingCSI ? 1 0 0 2 h
- any: Use All Motion Mouse TrackingCSI ? 1 0 0 3 h
property originMode
readonly originMode: boolean;
Origin Mode (DECOM):
CSI ? 6 h
property reverseWraparoundMode
readonly reverseWraparoundMode: boolean;
Reverse-wraparound Mode:
CSI ? 4 5 h
property sendFocusMode
readonly sendFocusMode: boolean;
Send FocusIn/FocusOut events:
CSI ? 1 0 0 4 h
property wraparoundMode
readonly wraparoundMode: boolean;
Auto-Wrap Mode (DECAWM):
CSI ? 7 h
interface IParser
interface IParser {}
Allows hooking into the parser for custom handling of escape sequences.
Note on sync vs. async handlers: xterm.js implements all parser actions with synchronous handlers. In general custom handlers should also operate in sync mode wherever possible to keep the parser fast. Still the exposed interfaces allow to register async handlers by returning a
Promise<boolean>
. Here the parser will pause input processing until the promise got resolved or rejected (in-band blocking). This "full stop" on the input chain allows to implement backpressure from a certain async action while the terminal state will not progress any further from input. It does not mean that the terminal state will not change at all in between, as user actions like resize or reset are still processed immediately. It is an error to assume a stable terminal state while giving back control in between, e.g. by multiple chainedthen
calls. Downside of an async handler is a rather bad throughput performance, thus use async handlers only as a last resort or for actions that have to rely on async interfaces itself.
method registerCsiHandler
registerCsiHandler: ( id: IFunctionIdentifier, callback: (params: (number | number[])[]) => boolean | Promise<boolean>) => IDisposable;
Adds a handler for CSI escape sequences.
Parameter id
Specifies the function identifier under which the callback gets registered, e.g. {final: 'm'} for SGR.
Parameter callback
The function to handle the sequence. The callback is called with the numerical params. If the sequence has subparams the array will contain subarrays with their numercial values. Return
true
if the sequence was handled,false
if the parser should try a previous handler. The most recently added handler is tried first.Returns
An IDisposable you can call to remove this handler.
method registerDcsHandler
registerDcsHandler: ( id: IFunctionIdentifier, callback: ( data: string, param: (number | number[])[] ) => boolean | Promise<boolean>) => IDisposable;
Adds a handler for DCS escape sequences.
Parameter id
Specifies the function identifier under which the callback gets registered, e.g. {intermediates: '$' final: 'q'} for DECRQSS.
Parameter callback
The function to handle the sequence. Note that the function will only be called once if the sequence finished sucessfully. There is currently no way to intercept smaller data chunks, data chunks will be stored up until the sequence is finished. Since DCS sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limits DCS payload to 10 MB which should give enough room for most use cases. The function gets the payload and numerical parameters as arguments. Return
true
if the sequence was handled,false
if the parser should try a previous handler. The most recently added handler is tried first.Returns
An IDisposable you can call to remove this handler.
method registerEscHandler
registerEscHandler: ( id: IFunctionIdentifier, handler: () => boolean | Promise<boolean>) => IDisposable;
Adds a handler for ESC escape sequences.
Parameter id
Specifies the function identifier under which the callback gets registered, e.g. {intermediates: '%' final: 'G'} for default charset selection.
Parameter callback
The function to handle the sequence. Return
true
if the sequence was handled,false
if the parser should try a previous handler. The most recently added handler is tried first.Returns
An IDisposable you can call to remove this handler.
method registerOscHandler
registerOscHandler: ( ident: number, callback: (data: string) => boolean | Promise<boolean>) => IDisposable;
Adds a handler for OSC escape sequences.
Parameter ident
The number (first parameter) of the sequence.
Parameter callback
The function to handle the sequence. Note that the function will only be called once if the sequence finished sucessfully. There is currently no way to intercept smaller data chunks, data chunks will be stored up until the sequence is finished. Since OSC sequences are not limited by the amount of data this might impose a problem for big payloads. Currently xterm.js limits OSC payload to 10 MB which should give enough room for most use cases. The callback is called with OSC data string. Return
true
if the sequence was handled,false
if the parser should try a previous handler. The most recently added handler is tried first.Returns
An IDisposable you can call to remove this handler.
interface ITerminalAddon
interface ITerminalAddon extends IDisposable {}
An addon that can provide additional functionality to the terminal.
method activate
activate: (terminal: Terminal) => void;
This is called when the addon is activated.
interface ITerminalInitOnlyOptions
interface ITerminalInitOnlyOptions {}
An object containing additional options for the terminal that can only be set on start up.
interface ITerminalOptions
interface ITerminalOptions {}
An object containing options for the terminal.
property allowProposedApi
allowProposedApi?: boolean;
Whether to allow the use of proposed API. When false, any usage of APIs marked as experimental/proposed will throw an error. The default is false.
property allowTransparency
allowTransparency?: boolean;
Whether background should support non-opaque color. It must be set before executing the
Terminal.open()
method and can't be changed later without executing it again. Note that enabling this can negatively impact performance.
property altClickMovesCursor
altClickMovesCursor?: boolean;
If enabled, alt + click will move the prompt cursor to position underneath the mouse. The default is true.
property convertEol
convertEol?: boolean;
When enabled the cursor will be set to the beginning of the next line with every new line. This is equivalent to sending '\r\n' for each '\n'. Normally the termios settings of the underlying PTY deals with the translation of '\n' to '\r\n' and this setting should not be used. If you deal with data from a non-PTY related source, this settings might be useful.
property cursorBlink
cursorBlink?: boolean;
Whether the cursor blinks.
property cursorInactiveStyle
cursorInactiveStyle?: 'outline' | 'block' | 'bar' | 'underline' | 'none';
The style of the cursor when the terminal is not focused.
property cursorStyle
cursorStyle?: 'block' | 'underline' | 'bar';
The style of the cursor when the terminal is focused.
property cursorWidth
cursorWidth?: number;
The width of the cursor in CSS pixels when
cursorStyle
is set to 'bar'.
property customGlyphs
customGlyphs?: boolean;
Whether to draw custom glyphs for block element and box drawing characters instead of using the font. This should typically result in better rendering with continuous lines, even when line height and letter spacing is used. Note that this doesn't work with the DOM renderer which renders all characters using the font. The default is true.
property disableStdin
disableStdin?: boolean;
Whether input should be disabled.
property drawBoldTextInBrightColors
drawBoldTextInBrightColors?: boolean;
Whether to draw bold text in bright colors. The default is true.
property fastScrollModifier
fastScrollModifier?: 'none' | 'alt' | 'ctrl' | 'shift';
The modifier key hold to multiply scroll speed.
property fastScrollSensitivity
fastScrollSensitivity?: number;
The scroll speed multiplier used for fast scrolling.
property fontFamily
fontFamily?: string;
The font family used to render text.
property fontSize
fontSize?: number;
The font size used to render text.
property fontWeight
fontWeight?: FontWeight;
The font weight used to render non-bold text.
property fontWeightBold
fontWeightBold?: FontWeight;
The font weight used to render bold text.
property ignoreBracketedPasteMode
ignoreBracketedPasteMode?: boolean;
Whether to ignore the bracketed paste mode. When true, this will always paste without the
\x1b[200~
and\x1b[201~
sequences, even when the shell enables bracketed mode.
property letterSpacing
letterSpacing?: number;
The spacing in whole pixels between characters.
property lineHeight
lineHeight?: number;
The line height used to render text.
property linkHandler
linkHandler?: ILinkHandler | null;
The handler for OSC 8 hyperlinks. Links will use the
confirm
browser API with a strongly worded warning if no link handler is set.When setting this, consider the security of users opening these links, at a minimum there should be a tooltip or a prompt when hovering or activating the link respectively. An example of what might be possible is a terminal app writing link in the form
javascript:...
that runs some javascript, a safe approach to prevent that is to validate the link starts with http(s)://.
property logger
logger?: ILogger | null;
A logger to use instead of
console
.
property logLevel
logLevel?: LogLevel;
What log level to use, this will log for all levels below and including what is set:
1. trace 2. debug 3. info (default) 4. warn 5. error 6. off
property macOptionClickForcesSelection
macOptionClickForcesSelection?: boolean;
Whether holding a modifier key will force normal selection behavior, regardless of whether the terminal is in mouse events mode. This will also prevent mouse events from being emitted by the terminal. For example, this allows you to use xterm.js' regular selection inside tmux with mouse mode enabled.
property macOptionIsMeta
macOptionIsMeta?: boolean;
Whether to treat option as the meta key.
property minimumContrastRatio
minimumContrastRatio?: number;
The minimum contrast ratio for text in the terminal, setting this will change the foreground color dynamically depending on whether the contrast ratio is met. Example values:
- 1: The default, do nothing. - 4.5: Minimum for WCAG AA compliance. - 7: Minimum for WCAG AAA compliance. - 21: White on black or black on white.
property overviewRulerWidth
overviewRulerWidth?: number;
The width, in pixels, of the canvas for the overview ruler. The overview ruler will be hidden when not set.
property rightClickSelectsWord
rightClickSelectsWord?: boolean;
Whether to select the word under the cursor on right click, this is standard behavior in a lot of macOS applications.
property screenReaderMode
screenReaderMode?: boolean;
Whether screen reader support is enabled. When on this will expose supporting elements in the DOM to support NVDA on Windows and VoiceOver on macOS.
property scrollback
scrollback?: number;
The amount of scrollback in the terminal. Scrollback is the amount of rows that are retained when lines are scrolled beyond the initial viewport.
property scrollOnUserInput
scrollOnUserInput?: boolean;
Whether to scroll to the bottom whenever there is some user input. The default is true.
property scrollSensitivity
scrollSensitivity?: number;
The scrolling speed multiplier used for adjusting normal scrolling speed.
property smoothScrollDuration
smoothScrollDuration?: number;
The duration to smoothly scroll between the origin and the target in milliseconds. Set to 0 to disable smooth scrolling and scroll instantly.
property tabStopWidth
tabStopWidth?: number;
The size of tab stops in the terminal.
property theme
theme?: ITheme;
The color theme of the terminal.
property windowOptions
windowOptions?: IWindowOptions;
Enable various window manipulation and report features. All features are disabled by default for security reasons.
property windowsMode
windowsMode?: boolean;
Whether "Windows mode" is enabled. Because Windows backends winpty and conpty operate by doing line wrapping on their side, xterm.js does not have access to wrapped lines. When Windows mode is enabled the following changes will be in effect:
- Reflow is disabled. - Lines are assumed to be wrapped if the last character of the line is not whitespace.
When using conpty on Windows 11 version >= 21376, it is recommended to disable this because native text wrapping sequences are output correctly thanks to https://github.com/microsoft/terminal/issues/405
Deprecated
Use windowsPty. This value will be ignored if windowsPty is set.
property windowsPty
windowsPty?: IWindowsPty;
Compatibility information when the pty is known to be hosted on Windows. Setting this will turn on certain heuristics/workarounds depending on the values:
-
if (backend !== undefined || buildNumber !== undefined)
- When increasing the rows in the terminal, the amount increased into the scrollback. This is done because ConPTY does not behave like expect scrollback to come back into the viewport, instead it makes empty rows at of the viewport. Not having this behavior can result in missing data as the rows get replaced. -if !(backend === 'conpty' && buildNumber >= 21376)
- Reflow is disabled - Lines are assumed to be wrapped if the last character of the line is not whitespace.
property wordSeparator
wordSeparator?: string;
A string containing all characters that are considered word separated by the double click to select work logic.
interface ITheme
interface ITheme {}
Contains colors to theme the terminal with.
property background
background?: string;
The default background color
property black
black?: string;
ANSI black (eg.
\x1b[30m
)
property blue
blue?: string;
ANSI blue (eg.
\x1b[34m
)
property brightBlack
brightBlack?: string;
ANSI bright black (eg.
\x1b[1;30m
)
property brightBlue
brightBlue?: string;
ANSI bright blue (eg.
\x1b[1;34m
)
property brightCyan
brightCyan?: string;
ANSI bright cyan (eg.
\x1b[1;36m
)
property brightGreen
brightGreen?: string;
ANSI bright green (eg.
\x1b[1;32m
)
property brightMagenta
brightMagenta?: string;
ANSI bright magenta (eg.
\x1b[1;35m
)
property brightRed
brightRed?: string;
ANSI bright red (eg.
\x1b[1;31m
)
property brightWhite
brightWhite?: string;
ANSI bright white (eg.
\x1b[1;37m
)
property brightYellow
brightYellow?: string;
ANSI bright yellow (eg.
\x1b[1;33m
)
property cursor
cursor?: string;
The cursor color
property cursorAccent
cursorAccent?: string;
The accent color of the cursor (fg color for a block cursor)
property cyan
cyan?: string;
ANSI cyan (eg.
\x1b[36m
)
property extendedAnsi
extendedAnsi?: string[];
ANSI extended colors (16-255)
property foreground
foreground?: string;
The default foreground color
property green
green?: string;
ANSI green (eg.
\x1b[32m
)
property magenta
magenta?: string;
ANSI magenta (eg.
\x1b[35m
)
property red
red?: string;
ANSI red (eg.
\x1b[31m
)
property selectionBackground
selectionBackground?: string;
The selection background color (can be transparent)
property selectionForeground
selectionForeground?: string;
The selection foreground color
property selectionInactiveBackground
selectionInactiveBackground?: string;
The selection background color when the terminal does not have focus (can be transparent)
property white
white?: string;
ANSI white (eg.
\x1b[37m
)
property yellow
yellow?: string;
ANSI yellow (eg.
\x1b[33m
)
interface IUnicodeHandling
interface IUnicodeHandling {}
(EXPERIMENTAL) Unicode handling interface.
property activeVersion
activeVersion: string;
Getter/setter for active Unicode version.
property versions
readonly versions: ReadonlyArray<string>;
Registered Unicode versions.
method register
register: (provider: IUnicodeVersionProvider) => void;
Register a custom Unicode version provider.
interface IUnicodeVersionProvider
interface IUnicodeVersionProvider {}
(EXPERIMENTAL) Unicode version provider. Used to register custom Unicode versions with
Terminal.unicode.register
.
interface IViewportRange
interface IViewportRange {}
An object representing a range within the viewport of the terminal.
interface IViewportRangePosition
interface IViewportRangePosition {}
An object representing a cell position within the viewport of the terminal.
property x
x: number;
The x position of the cell. This is a 0-based index that refers to the space in between columns, not the column itself. Index 0 refers to the left side of the viewport, index
Terminal.cols
refers to the right side of the viewport. This can be thought of as how a cursor is positioned in a text editor.
property y
y: number;
The y position of the cell. This is a 0-based index that refers to a specific row.
interface IWindowOptions
interface IWindowOptions {}
Enable various window manipulation and report features (
CSI Ps ; Ps ; Ps t
).Most settings have no default implementation, as they heavily rely on the embedding environment.
To implement a feature, create a custom CSI hook like this:
term.parser.addCsiHandler({final: 't'}, params => {const ps = params[0];switch (ps) {case XY:... // your implementation for option XYreturn true; // signal Ps=XY was handled}return false; // any Ps that was not handled});Note on security: Most features are meant to deal with some information of the host machine where the terminal runs on. This is seen as a security risk possibly leaking sensitive data of the host to the program in the terminal. Therefore all options (even those without a default implementation) are guarded by the boolean flag and disabled by default.
property fullscreenWin
fullscreenWin?: boolean;
Ps=10 ; 0 Undo full-screen mode. Ps=10 ; 1 Change to full-screen. Ps=10 ; 2 Toggle full-screen. No default implementation.
property getCellSizePixels
getCellSizePixels?: boolean;
Ps=16 Report xterm character cell size in pixels. Result is "CSI 6 ; height ; width t". Has a default implementation.
property getIconTitle
getIconTitle?: boolean;
Ps=20 Report xterm window's icon label. Result is "OSC L label ST". No default implementation.
property getScreenSizeChars
getScreenSizeChars?: boolean;
Ps=19 Report the size of the screen in characters. Result is "CSI 9 ; height ; width t". No default implementation.
property getScreenSizePixels
getScreenSizePixels?: boolean;
Ps=15 Report size of the screen in pixels. Result is "CSI 5 ; height ; width t". No default implementation.
property getWinPosition
getWinPosition?: boolean;
Ps=13 Report xterm window position. Result is "CSI 3 ; x ; y t". Ps=13 ; 2 Report xterm text-area position. Result is "CSI 3 ; x ; y t". No default implementation.
property getWinSizeChars
getWinSizeChars?: boolean;
Ps=18 Report the size of the text area in characters. Result is "CSI 8 ; height ; width t". Has a default implementation.
property getWinSizePixels
getWinSizePixels?: boolean;
Ps=14 Report xterm text area size in pixels. Result is "CSI 4 ; height ; width t". Ps=14 ; 2 Report xterm window size in pixels. Result is "CSI 4 ; height ; width t". Has a default implementation.
property getWinState
getWinState?: boolean;
Ps=11 Report xterm window state. If the xterm window is non-iconified, it returns "CSI 1 t". If the xterm window is iconified, it returns "CSI 2 t". No default implementation.
property getWinTitle
getWinTitle?: boolean;
Ps=21 Report xterm window's title. Result is "OSC l label ST". No default implementation.
property lowerWin
lowerWin?: boolean;
Ps=6 Lower the xterm window to the bottom of the stacking order. No default implementation.
property maximizeWin
maximizeWin?: boolean;
Ps=9 ; 0 Restore maximized window. Ps=9 ; 1 Maximize window (i.e., resize to screen size). Ps=9 ; 2 Maximize window vertically. Ps=9 ; 3 Maximize window horizontally. No default implementation.
property minimizeWin
minimizeWin?: boolean;
Ps=2 Iconify window. No default implementation.
property popTitle
popTitle?: boolean;
Ps=23 ; 0 Restore xterm icon and window title from stack. Ps=23 ; 1 Restore xterm icon title from stack. Ps=23 ; 2 Restore xterm window title from stack. All variants have a default implementation.
property pushTitle
pushTitle?: boolean;
Ps=22 ; 0 Save xterm icon and window title on stack. Ps=22 ; 1 Save xterm icon title on stack. Ps=22 ; 2 Save xterm window title on stack. All variants have a default implementation.
property raiseWin
raiseWin?: boolean;
Ps=5 Raise the window to the front of the stacking order. No default implementation.
property refreshWin
refreshWin?: boolean;
Ps=7 Refresh the window.
property restoreWin
restoreWin?: boolean;
Ps=1 De-iconify window. No default implementation.
property setWinLines
setWinLines?: boolean;
Ps>=24 Resize to Ps lines (DECSLPP). DECSLPP is not implemented. This settings is also used to enable / disable DECCOLM (earlier variant of DECSLPP).
property setWinPosition
setWinPosition?: boolean;
Ps=3 ; x ; y Move window to [x, y]. No default implementation.
property setWinSizeChars
setWinSizeChars?: boolean;
Ps = 8 ; height ; width Resize the text area to given height and width in characters. Omitted parameters should reuse the current height or width. Zero parameters use the display's height or width. No default implementation.
property setWinSizePixels
setWinSizePixels?: boolean;
Ps = 4 ; height ; width Resize the window to given
height
andwidth
in pixels. Omitted parameters should reuse the current height or width. Zero parameters should use the display's height or width. No default implementation.
interface IWindowsPty
interface IWindowsPty {}
Pty information for Windows.
property backend
backend?: 'conpty' | 'winpty';
What pty emulation backend is being used.
property buildNumber
buildNumber?: number;
The Windows build version (eg. 19045)
type FontWeight
type FontWeight = | 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | number;
A string or number representing text font weight.
type LogLevel
type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'off';
A string representing log level.
Package Files (1)
Dependencies (0)
No dependencies.
Dev Dependencies (37)
- @playwright/test
- @types/chai
- @types/debug
- @types/deep-equal
- @types/express
- @types/express-ws
- @types/glob
- @types/jsdom
- @types/mocha
- @types/node
- @types/utf8
- @types/webpack
- @types/ws
- @typescript-eslint/eslint-plugin
- @typescript-eslint/parser
- chai
- cross-env
- deep-equal
- eslint
- eslint-plugin-jsdoc
- express
- express-ws
- glob
- jsdom
- mocha
- mustache
- node-pty
- nyc
- source-map-loader
- source-map-support
- ts-loader
- typescript
- utf8
- webpack
- webpack-cli
- ws
- xterm-benchmark
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/xterm
.
- Markdown[](https://www.jsdocs.io/package/xterm)
- HTML<a href="https://www.jsdocs.io/package/xterm"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 8608 ms. - Missing or incorrect documentation? Open an issue for this package.