harmont_cli/cli/init.rs
1use std::path::PathBuf;
2
3use clap::{Parser, ValueEnum};
4
5#[derive(Debug, Clone, Copy, ValueEnum)]
6pub enum TemplateKind {
7 Cmake,
8 Elixir,
9 Nextjs,
10 Js,
11 Rust,
12 Zig,
13 Python,
14}
15
16#[derive(Debug, Clone, Parser)]
17pub struct InitArgs {
18 /// Project template.
19 #[arg(short, long)]
20 pub template: Option<TemplateKind>,
21
22 /// Target directory.
23 #[arg(short, long, default_value = ".")]
24 pub dir: PathBuf,
25
26 /// Overwrite existing .hm/ directory.
27 #[arg(long)]
28 pub force: bool,
29}