summaryrefslogtreecommitdiff
path: root/vegilctl
diff options
context:
space:
mode:
Diffstat (limited to 'vegilctl')
-rw-r--r--vegilctl/src/main.rs36
1 files changed, 35 insertions, 1 deletions
diff --git a/vegilctl/src/main.rs b/vegilctl/src/main.rs
index e7a11a9..cbfc2f2 100644
--- a/vegilctl/src/main.rs
+++ b/vegilctl/src/main.rs
@@ -1,3 +1,37 @@
+#[derive(Debug)]
+enum Command {
+ Status,
+ Stop,
+ Start,
+ Enable,
+ Disable,
+}
+struct CliArgs {
+ command: Command,
+ target: String
+}
fn main() {
- println!("Hello, world!");
+ let command:Command = match std::env::args().nth(1).as_deref(){
+ Some("status") => Command::Status,
+ Some("start") => Command::Start,
+ Some("stop") => Command::Stop,
+ Some("enable") => Command::Enable,
+ Some("disable") => Command::Disable,
+ Some(cmd) => {
+ eprintln!("invalid command arg:{}", cmd);
+ std::process::exit(1);
+ }
+ None => {
+ eprintln!("Invalid input: No command arg specified\nRun with --help to get help");
+ std::process::exit(1);
+ }
+ };
+ let target = std::env::args().nth(2).expect("no target arg specified");
+
+ let args = CliArgs {
+ command,
+ target
+ };
+
+ println!("command: {:?}, target: {:?}", args.command, args.target);
}