@qodalis/angular-cli
Version:
A lightweight and flexible command-line interface (CLI) tool designed to streamline workflows and automate tasks for developers.
51 lines (50 loc) • 2.28 kB
TypeScript
import { Injector, OnInit } from '@angular/core';
import { CliOptions, ICliUserSessionService } from '@qodalis/cli-core';
import { CliCommandExecutorService, CliCommandHistoryService } from './services';
import { CliKeyValueStore } from './storage/cli-key-value-store';
import { ITerminalInitOnlyOptions, ITerminalOptions, Terminal } from '@xterm/xterm';
import { BehaviorSubject } from 'rxjs';
import { ContainerSize } from '../cli-terminal/cli-terminal.component';
import * as i0 from "@angular/core";
export declare class CliComponent implements OnInit {
private injector;
private readonly userManagementService;
private commandExecutor;
private readonly commandHistoryService;
private readonly store;
options?: CliOptions;
height?: ContainerSize;
protected terminalOptions: ITerminalOptions & ITerminalInitOnlyOptions;
private terminal;
private currentLine;
private executionContext?;
private currentUserSession;
protected minDepsInitialized: BehaviorSubject<boolean>;
protected terminalInitialized: BehaviorSubject<boolean>;
constructor(injector: Injector, userManagementService: ICliUserSessionService, commandExecutor: CliCommandExecutorService, commandHistoryService: CliCommandHistoryService, store: CliKeyValueStore);
ngOnInit(): void;
protected onTerminalReady(terminal: Terminal): void;
private initialize;
private getTerminalCursorPosition;
private selectionStart;
private selectionEnd;
private addTerminalEventListeners;
private updateSelection;
private printPrompt;
private historyIndex;
private cursorPosition;
private handleInput;
private normalizeText;
private handleInputText;
private refreshCurrentLine;
private writeCurrentLine;
private showPreviousCommand;
private showNextCommand;
private displayCommandFromHistory;
private clearCurrentLine;
private moveCursorLeft;
private moveCursorRight;
private handleBackspace;
static ɵfac: i0.ɵɵFactoryDeclaration<CliComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CliComponent, "cli", never, { "options": { "alias": "options"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, false, never>;
}