use colored::*; pub struct Template { pub name: &'static str, pub description: &'static str, pub framework: &'static str, } pub const TEMPLATES: &[Template] = &[ Template { name: "react-default", description: "React + Vite基础模板", framework: "React", }, Template { name: "react-ts", description: "React + TypeScript + Vite", framework: "React", }, Template { name: "vue-default", description: "Vue 3 + Vite", framework: "Vue", }, Template { name: "wallet", description: "NAC钱包应用模板", framework: "React", }, Template { name: "exchange", description: "RWA交易所模板", framework: "React", }, ]; pub fn list_templates() { println!("{}", "📦 可用模板:".bright_cyan().bold()); println!(); for template in TEMPLATES { println!(" {} - {}", template.name.bright_green(), template.description ); println!(" 框架: {}", template.framework.dimmed()); println!(); } } pub fn get_template(name: &str) -> Option<&'static Template> { TEMPLATES.iter().find(|t| t.name == name) }