UNPKG

astro-terminal-themes

Version:

Astro integration to convert terminal themes (Ghostty, Warp, etc.) to Tailwind CSS themes

67 lines (66 loc) 1.91 kB
import type { AstroIntegration } from "astro"; export interface TerminalThemeIntegrationOptions { themesDir?: string; outputFile?: string; defaultTheme?: string; semanticMapping?: boolean; } export interface ThemeAdapter { name: string; extensions: string[]; parse(content: string): ThemeColors; } export interface ThemeColors { background: string; foreground: string; cursor?: string; selection?: { background: string; foreground?: string; }; colors: { black: string; red: string; green: string; yellow: string; blue: string; magenta: string; cyan: string; white: string; brightBlack: string; brightRed: string; brightGreen: string; brightYellow: string; brightBlue: string; brightMagenta: string; brightCyan: string; brightWhite: string; }; } export declare class GhosttyAdapter implements ThemeAdapter { name: string; extensions: string[]; parse(content: string): ThemeColors; private normalizeColor; } export declare class WarpAdapter implements ThemeAdapter { name: string; extensions: string[]; parse(content: string): ThemeColors; private normalizeColor; } export declare class ThemeProcessor { private adapters; constructor(); registerAdapter(adapter: ThemeAdapter): void; discoverThemes(themesDir: string): Promise<Array<{ name: string; path: string; adapter: ThemeAdapter; }>>; loadTheme(themePath: string, adapter: ThemeAdapter): Promise<ThemeColors>; generateTailwindTheme(colors: ThemeColors, semanticMapping?: boolean): string; private generateSemanticTheme; private generateDirectTheme; } export default function terminalThemeIntegration(options?: TerminalThemeIntegrationOptions): AstroIntegration;