54 lines
1.2 KiB
Rust
54 lines
1.2 KiB
Rust
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)
|
|
}
|