UNPKG

xterm

Version:

Full xterm terminal, in your browser

62 lines (53 loc) 1.99 kB
/** * Copyright (c) 2019 The xterm.js authors. All rights reserved. * @license MIT */ import { IAttributeData, ICircularList, IBufferLine, ICellData, IMarker, ICharset } from 'common/Types'; import { IEvent } from 'common/EventEmitter'; // BufferIndex denotes a position in the buffer: [rowIndex, colIndex] export type BufferIndex = [number, number]; export interface IBufferStringIteratorResult { range: {first: number, last: number}; content: string; } export interface IBufferStringIterator { hasNext(): boolean; next(): IBufferStringIteratorResult; } export interface IBuffer { readonly lines: ICircularList<IBufferLine>; ydisp: number; ybase: number; y: number; x: number; tabs: any; scrollBottom: number; scrollTop: number; hasScrollback: boolean; savedY: number; savedX: number; savedCharset: ICharset | null; savedCurAttrData: IAttributeData; isCursorInViewport: boolean; markers: IMarker[]; translateBufferLineToString(lineIndex: number, trimRight: boolean, startCol?: number, endCol?: number): string; getWrappedRangeForLine(y: number): { first: number, last: number }; nextStop(x?: number): number; prevStop(x?: number): number; getBlankLine(attr: IAttributeData, isWrapped?: boolean): IBufferLine; stringIndexToBufferIndex(lineIndex: number, stringIndex: number, trimRight?: boolean): number[]; iterator(trimRight: boolean, startIndex?: number, endIndex?: number, startOverscan?: number, endOverscan?: number): IBufferStringIterator; getNullCell(attr?: IAttributeData): ICellData; getWhitespaceCell(attr?: IAttributeData): ICellData; addMarker(y: number): IMarker; } export interface IBufferSet { alt: IBuffer; normal: IBuffer; active: IBuffer; onBufferActivate: IEvent<{ activeBuffer: IBuffer, inactiveBuffer: IBuffer }>; activateNormalBuffer(): void; activateAltBuffer(fillAttr?: IAttributeData): void; resize(newCols: number, newRows: number): void; setupTabStops(i?: number): void; }