···1616#[derive(Subcommand, Debug)]
1717pub enum Commands {
1818 /// Add a value to the store with the given key
1919- Add { key: String, value: String },
1919+ Add {
2020+ /// Key for the value
2121+ key: String,
2222+2323+ /// Value to add
2424+ value: String,
2525+ },
20262127 /// Get values from the store
2222- Get(GetArgs),
2828+ Get {
2929+ /// Keys for values to retrieve from the store
3030+ keys: Vec<String>,
3131+ },
23322433 /// Remove values from the store
2525- Rm(RemoveArgs),
3434+ Rm {
3535+ /// Keys for values to remove from the store
3636+ keys: Vec<String>,
3737+ },
26382739 /// Output the alias command for key / value pairs
2828- Alias(SetArgs),
4040+ Alias {
4141+ /// Keys to alias the values
4242+ keys: Vec<String>,
4343+ },
29443045 /// Output the export command for a key / value pairs
3131- Export(SetArgs),
4646+ Export {
4747+ /// Keys to export the values
4848+ keys: Vec<String>,
4949+ },
32503351 /// List all values in the store
3452 List,
···3957 /// Purges the .safirstore directory, removing it and its contents
4058 Purge,
4159}
4242-4343-/// Arguments for retrieving values from the store with the given keys
4444-#[derive(Args, Debug)]
4545-pub struct GetArgs {
4646- /// Keys to retrieve the values for
4747- ///
4848- /// Returns nothing if the key does not exist
4949- pub keys: Vec<String>,
5050-}
5151-5252-/// Arguments for removing values from the store with given keys
5353-#[derive(Args, Debug)]
5454-pub struct RemoveArgs {
5555- /// Name of the keys to remove from the store
5656- ///
5757- /// Does nothing if the keys do not exist
5858- pub keys: Vec<String>,
5959-}
6060-6161-/// Arguments for outputting commands with a given prefix
6262-#[derive(Args, Debug)]
6363-pub struct SetArgs {
6464- /// Name of the keys to display (e.g. alias / export)
6565- pub keys: Vec<String>,
6666-}