basic-arg-example-#6 #11
Merged
glitch4347
merged 2 commits from basic-arg-example-#6
into main
4 months ago
3 changed files with 48 additions and 0 deletions
@ -0,0 +1,9 @@
|
||||
[package] |
||||
name = "mps" |
||||
version = "0.1.0" |
||||
edition = "2021" |
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html |
||||
|
||||
[dependencies] |
||||
clap = { version = "4.5.16", features = ["derive"] } |
@ -0,0 +1,37 @@
|
||||
use clap::{Parser, Subcommand}; |
||||
|
||||
#[derive(Parser)] |
||||
#[command(name = "mps", version = "0.0.1", about = "MyPasswordStorage: Tool for storing your passwords locally with synchronization with git.")] |
||||
struct Cli { |
||||
#[command(subcommand)] |
||||
command: Option<Commands>, |
||||
} |
||||
|
||||
#[derive(Subcommand)] |
||||
enum Commands { |
||||
|
||||
/// Initialisation of storage and config, use this in first time of usage of mps
|
||||
Init, |
||||
|
||||
/// Adds new item with unique id to the db
|
||||
Add { |
||||
#[arg(value_name="item_id")] |
||||
input: String |
||||
} |
||||
|
||||
} |
||||
|
||||
fn main() { |
||||
let cli = Cli::parse(); |
||||
match &cli.command { |
||||
Some(Commands::Init) => { |
||||
println!("Initializing storage and config."); |
||||
} |
||||
Some(Commands::Add{input}) => { |
||||
println!("about to add new item"); |
||||
} |
||||
None => { |
||||
println!("Will be here init or list if storage inited"); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue