@finos/legend-application
Version:
Legend application core
94 lines • 3.57 kB
TypeScript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import type { GenericLegendApplicationStore } from '../ApplicationStore.js';
import { Terminal, type TerminalWriteOption, type TerminalSetupConfiguration } from './Terminal.js';
export declare class XTerm extends Terminal {
private instance;
private readonly resizer;
private readonly renderer;
private readonly searcher;
private linkProvider?;
private _TEMPORARY__onKeyListener?;
private _TEMPORARY__onDataListener?;
private command;
private commandHistory;
private currentCommandSearchString;
private commandHistoryNavigationIdx;
private isRunningCommand;
private readonly setupState;
constructor(applicationStore: GenericLegendApplicationStore);
setup(configuration?: TerminalSetupConfiguration | undefined): void;
private getCommandRange;
private computeCursorJumpMovement;
/**
* Generate the ANSI escape sequence for new cursor position
* after being moved by the the number of cells.
*
* @param val a number (negative means cursor move leftwards)
* @param limit whether to limit the movement of the cursor by the command range
* @returns cursor movement information including the ANSI escape sequence for new cursor position and scroll distance
*/
private computeCursorMovement;
/**
* Write value to command with awareness of the current cursor position
*/
private writeToCommand;
/**
* Remove number of characters from command with awareness of the current cursor position
* NOTE: negative number means backward deleting (i.e. backspace)
*/
private deleteFromCommand;
get isSetup(): boolean;
isFocused(): boolean;
mount(container: HTMLElement): void;
dispose(): void;
autoResize(): void;
focus(): void;
private addCommandToHistory;
/**
* This methods help update the current command to a command in history
* stack, it does the necessary resetting and helps properly update
* the history navigation index
*/
private setCommandFromHistory;
private setCommand;
private newCommand;
private newSystemCommand;
/**
* Flush the terminal screen completely
*
* Probably due to write buffer batching, calling `reset` or `clear` on xterm terminal immediately after
* write commands will not work. To solve this, we can either promisify the `reset` call or write the ANSI
* reset sequence \x1bc
*/
private flushScreen;
private get isFlushed();
clear(): void;
private resetANSIStyling;
showHelp(): void;
showCommonANSIEscapeSequences(): void;
abort(): void;
fail(error: string, opts?: TerminalWriteOption): void;
output(val: string, opts?: TerminalWriteOption): void;
search(val: string): void;
clearSearch(): void;
findPrevious(): void;
findNext(): void;
private getContent;
copy(): void;
copyAll(): void;
}
//# sourceMappingURL=XTerm.d.ts.map