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