UNPKG

@fs-eire/wgsl-template

Version:

A powerful template system for generating WGSL (WebGPU Shading Language) code with support for parameters, conditionals, and multiple output formats including C++ code generation.

87 lines 2.5 kB
import type { TemplateRepository, TemplatePass0, TemplatePass1, TemplatePass2 } from "../src/types.js"; /** * Common CLI options interface */ export interface CliOptions { help?: boolean; version?: boolean; input?: string | string[]; output?: string; generator?: string; ext?: string; includePrefix?: string; preserveCodeRef?: boolean; clean?: boolean; watch?: boolean; debounce?: number; verbose?: boolean; } /** * Display source code context around an error line using the appropriate pipeline result */ export declare function displaySourceContext(filePath: string, lineNumber: number, contextLines?: number, result?: { pass0?: TemplateRepository<TemplatePass0>; pass1?: TemplateRepository<TemplatePass1>; pass2?: TemplateRepository<TemplatePass2>; files?: TemplateRepository<string>; }, errorType?: string, verbose?: boolean): Promise<void>; /** * Display enhanced error information with source context */ export declare function displayError(error: Error, verbose: boolean, result?: { pass0?: TemplateRepository<TemplatePass0>; pass1?: TemplateRepository<TemplatePass1>; pass2?: TemplateRepository<TemplatePass2>; files?: TemplateRepository<string>; }): Promise<void>; /** * Format file size for display */ export declare function formatFileSize(bytes: number): string; /** * Tree node structure for file display */ type TreeNode = { type: "file"; size: number; error?: string; } | { type: "directory"; children: Record<string, TreeNode>; }; /** * Build a file tree structure from a flat map of files */ export declare function buildFileTree(files: Map<string, { error?: string; size: number; }>): Record<string, TreeNode>; /** * Display a file tree with sizes and errors */ export declare function displayFileTree(files: Map<string, { error?: string; size: number; }>): void; /** * Show help message */ export declare function showHelp(): void; /** * Show version information */ export declare function showVersion(): Promise<void>; /** * Validate CLI options */ export declare function validateOptions(options: CliOptions): string[]; /** * Parse input directories with optional aliases from CLI arguments * Format: "dir1" or "dir1|@alias1" or ["dir1", "dir2|@alias2"] */ export declare function parseInputDirectories(input: string | string[]): ({ path: string; alias?: string; } | string)[]; export {}; //# sourceMappingURL=cli-utils.d.ts.map