worktree-tool
Version:
A command-line tool for managing Git worktrees with integrated tmux/shell session management
64 lines • 1.94 kB
TypeScript
/**
* Interface for terminal opening strategies
*/
export interface TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* GNOME Terminal strategy for Linux
*/
export declare class GnomeTerminalStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* Konsole strategy for KDE on Linux
*/
export declare class KonsoleStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* xterm strategy for Linux
*/
export declare class XtermStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* macOS Terminal.app strategy
*/
export declare class MacTerminalStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* macOS iTerm2 strategy
*/
export declare class ITermStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* Windows Terminal strategy
*/
export declare class WindowsTerminalStrategy implements TerminalStrategy {
canHandle(): Promise<boolean>;
openWindow(command: string, cwd: string, title: string): Promise<void>;
}
/**
* Terminal manager that uses strategy pattern
*/
export declare class TerminalManager {
private strategies;
/**
* Open a new terminal window with the given command
*/
openWindow(command: string, cwd: string, title: string): Promise<void>;
/**
* Add a custom strategy
*/
addStrategy(strategy: TerminalStrategy): void;
}
//# sourceMappingURL=terminal-strategy.d.ts.map