aboutsummaryrefslogtreecommitdiff
path: root/src/cli.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cli.rs')
-rw-r--r--src/cli.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cli.rs b/src/cli.rs
new file mode 100644
index 0000000..f43bda4
--- /dev/null
+++ b/src/cli.rs
@@ -0,0 +1,20 @@
+use std::path::PathBuf;
+use clap::{Parser, Subcommand};
+
+#[derive(Parser)]
+#[clap(author = "Max Bossing", version, about = "System-agnostic dotfile deployer", long_about = None)]
+pub struct Cli {
+ #[arg(short, long, default_value = "dots.toml")]
+ pub config: Option<PathBuf>,
+
+ #[command(subcommand)]
+ pub command: CliCommand
+}
+
+#[derive(Subcommand)]
+pub enum CliCommand {
+ #[clap(about = "Deploys a dots set")]
+ Deploy,
+ #[clap(about = "Unlinks (tries to remove) a dots deployment")]
+ Unlink
+} \ No newline at end of file