@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
TypeScript
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