browser-terminal-cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +1130 -0
- package/dist/CommandRegistry.d.ts +18 -0
- package/dist/HistoryManager.d.ts +14 -0
- package/dist/OutputManager.d.ts +20 -0
- package/dist/Terminal.d.ts +62 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.esm.js +1038 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +1048 -0
- package/dist/index.js.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/styles.d.ts +2 -0
- package/dist/themes.d.ts +3 -0
- package/dist/types.d.ts +81 -0
- package/package.json +38 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { CommandDefinition, CommandHandler } from './types';
|
|
2
|
+
export declare class CommandRegistry {
|
|
3
|
+
private commands;
|
|
4
|
+
private aliases;
|
|
5
|
+
register(definition: CommandDefinition): void;
|
|
6
|
+
registerSimple(name: string, handler: CommandHandler, description?: string): void;
|
|
7
|
+
unregister(name: string): boolean;
|
|
8
|
+
get(name: string): CommandDefinition | undefined;
|
|
9
|
+
has(name: string): boolean;
|
|
10
|
+
getAll(): CommandDefinition[];
|
|
11
|
+
getNames(): string[];
|
|
12
|
+
parseInput(input: string): {
|
|
13
|
+
command: string;
|
|
14
|
+
args: string[];
|
|
15
|
+
flags: Record<string, string | boolean>;
|
|
16
|
+
};
|
|
17
|
+
private tokenize;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class HistoryManager {
|
|
2
|
+
private history;
|
|
3
|
+
private historyIndex;
|
|
4
|
+
private maxSize;
|
|
5
|
+
private tempInput;
|
|
6
|
+
constructor(maxSize?: number);
|
|
7
|
+
add(command: string): void;
|
|
8
|
+
navigateUp(currentInput: string): string | null;
|
|
9
|
+
navigateDown(): string | null;
|
|
10
|
+
reset(): void;
|
|
11
|
+
getAll(): string[];
|
|
12
|
+
clear(): void;
|
|
13
|
+
setHistory(history: string[]): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OutputOptions } from './types';
|
|
2
|
+
export declare class OutputManager {
|
|
3
|
+
private container;
|
|
4
|
+
private outputElement;
|
|
5
|
+
private maxLines;
|
|
6
|
+
constructor(container: HTMLElement, maxLines?: number);
|
|
7
|
+
write(text: string, options?: OutputOptions): HTMLElement;
|
|
8
|
+
writeln(text: string, options?: OutputOptions): HTMLElement;
|
|
9
|
+
writeCommand(prompt: string, command: string): void;
|
|
10
|
+
writeError(text: string): HTMLElement;
|
|
11
|
+
writeSuccess(text: string): HTMLElement;
|
|
12
|
+
writeWarning(text: string): HTMLElement;
|
|
13
|
+
writeInfo(text: string): HTMLElement;
|
|
14
|
+
writeTable(data: Record<string, any>[], columns?: string[]): void;
|
|
15
|
+
clear(): void;
|
|
16
|
+
private applyStyles;
|
|
17
|
+
private trimOutput;
|
|
18
|
+
scrollToBottom(): void;
|
|
19
|
+
getElement(): HTMLElement;
|
|
20
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TerminalOptions, TerminalTheme, CommandHandler, CommandDefinition, OutputOptions, TerminalEvents } from './types';
|
|
2
|
+
type EventCallback<K extends keyof TerminalEvents> = TerminalEvents[K];
|
|
3
|
+
export declare class Terminal {
|
|
4
|
+
private container;
|
|
5
|
+
private options;
|
|
6
|
+
private theme;
|
|
7
|
+
private history;
|
|
8
|
+
private commands;
|
|
9
|
+
private output;
|
|
10
|
+
private inputLine;
|
|
11
|
+
private inputElement;
|
|
12
|
+
private cursorElement;
|
|
13
|
+
private promptElement;
|
|
14
|
+
private styleElement;
|
|
15
|
+
private isEnabled;
|
|
16
|
+
private eventListeners;
|
|
17
|
+
private terminalId;
|
|
18
|
+
constructor(options: TerminalOptions);
|
|
19
|
+
private init;
|
|
20
|
+
private createInputLine;
|
|
21
|
+
private setupInputHandlers;
|
|
22
|
+
private handleKeyDown;
|
|
23
|
+
private handleTabCompletion;
|
|
24
|
+
private executeCurrentInput;
|
|
25
|
+
private updateCursor;
|
|
26
|
+
private showWelcomeMessage;
|
|
27
|
+
private registerBuiltInCommands;
|
|
28
|
+
private getInterface;
|
|
29
|
+
write(text: string, options?: OutputOptions): void;
|
|
30
|
+
writeln(text: string, options?: OutputOptions): void;
|
|
31
|
+
writeError(text: string): void;
|
|
32
|
+
writeSuccess(text: string): void;
|
|
33
|
+
writeWarning(text: string): void;
|
|
34
|
+
writeInfo(text: string): void;
|
|
35
|
+
writeTable(data: Record<string, any>[], columns?: string[]): void;
|
|
36
|
+
clear(): void;
|
|
37
|
+
focus(): void;
|
|
38
|
+
blur(): void;
|
|
39
|
+
disable(): void;
|
|
40
|
+
enable(): void;
|
|
41
|
+
setPrompt(prompt: string): void;
|
|
42
|
+
getPrompt(): string;
|
|
43
|
+
setValue(value: string): void;
|
|
44
|
+
getValue(): string;
|
|
45
|
+
registerCommand(definition: CommandDefinition): void;
|
|
46
|
+
registerCommands(definitions: CommandDefinition[]): void;
|
|
47
|
+
addCommand(name: string, handler: CommandHandler, description?: string): void;
|
|
48
|
+
removeCommand(name: string): boolean;
|
|
49
|
+
hasCommand(name: string): boolean;
|
|
50
|
+
getCommands(): CommandDefinition[];
|
|
51
|
+
exec(command: string): Promise<void>;
|
|
52
|
+
setTheme(theme: TerminalTheme | string): void;
|
|
53
|
+
getTheme(): TerminalTheme;
|
|
54
|
+
getHistory(): string[];
|
|
55
|
+
clearHistory(): void;
|
|
56
|
+
setHistory(history: string[]): void;
|
|
57
|
+
on<K extends keyof TerminalEvents>(event: K, callback: EventCallback<K>): void;
|
|
58
|
+
off<K extends keyof TerminalEvents>(event: K, callback: EventCallback<K>): void;
|
|
59
|
+
private emit;
|
|
60
|
+
destroy(): void;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { Terminal } from './Terminal';
|
|
2
|
+
export { themes, getTheme } from './themes';
|
|
3
|
+
export { HistoryManager } from './HistoryManager';
|
|
4
|
+
export { CommandRegistry } from './CommandRegistry';
|
|
5
|
+
export { OutputManager } from './OutputManager';
|
|
6
|
+
export * from './types';
|
|
7
|
+
import { Terminal } from './Terminal';
|
|
8
|
+
export default Terminal;
|