pub trait LanguageCodegen {
// Required methods
fn language(&self) -> &'static str;
fn file_extension(&self) -> &'static str;
fn preview(&self) -> Vec<PreviewFile>;
fn generate(&self, output_dir: &Path) -> Result<GenerateResult>;
}Expand description
Trait for language-specific code generators.
Implement this trait to add support for generating CLI code in a new language.
Required Methods§
Sourcefn file_extension(&self) -> &'static str
fn file_extension(&self) -> &'static str
File extension for generated source files (e.g., “rs”, “ts”, “go”)
Sourcefn preview(&self) -> Vec<PreviewFile>
fn preview(&self) -> Vec<PreviewFile>
Preview generated files without writing to disk
Sourcefn generate(&self, output_dir: &Path) -> Result<GenerateResult>
fn generate(&self, output_dir: &Path) -> Result<GenerateResult>
Generate all files into the specified output directory