diff options
author | Jesse Luehrs <doy@tozt.net> | 2020-05-22 00:59:34 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2020-05-22 00:59:34 -0400 |
commit | 707f0bac2141ef7120c0493de3a5d331a511c40c (patch) | |
tree | 3cf21d2a94f211b7adf854d0d87662b1ef76a640 /src/bin/rbw/commands.rs | |
parent | 318413b119c5f0e988079bb7bede1a4a86583a7a (diff) | |
download | rbw-707f0bac2141ef7120c0493de3a5d331a511c40c.tar.gz rbw-707f0bac2141ef7120c0493de3a5d331a511c40c.zip |
use structopt instead of clap
Diffstat (limited to 'src/bin/rbw/commands.rs')
-rw-r--r-- | src/bin/rbw/commands.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/bin/rbw/commands.rs b/src/bin/rbw/commands.rs index ff6f51e..f7cd6c2 100644 --- a/src/bin/rbw/commands.rs +++ b/src/bin/rbw/commands.rs @@ -279,11 +279,11 @@ enum ListField { Folder, } -impl std::convert::TryFrom<&str> for ListField { +impl std::convert::TryFrom<&String> for ListField { type Error = anyhow::Error; - fn try_from(s: &str) -> anyhow::Result<Self> { - Ok(match s { + fn try_from(s: &String) -> anyhow::Result<Self> { + Ok(match s.as_str() { "name" => Self::Name, "id" => Self::Id, "user" => Self::User, @@ -368,10 +368,9 @@ pub fn sync() -> anyhow::Result<()> { Ok(()) } -pub fn list(fields: &[&str]) -> anyhow::Result<()> { +pub fn list(fields: &[String]) -> anyhow::Result<()> { let fields: Vec<ListField> = fields .iter() - .copied() .map(std::convert::TryFrom::try_from) .collect::<anyhow::Result<_>>()?; @@ -438,7 +437,7 @@ pub fn get(name: &str, user: Option<&str>, full: bool) -> anyhow::Result<()> { pub fn add( name: &str, username: Option<&str>, - uris: Vec<&str>, + uris: Vec<String>, folder: Option<&str>, ) -> anyhow::Result<()> { unlock()?; @@ -529,7 +528,7 @@ pub fn add( pub fn generate( name: Option<&str>, username: Option<&str>, - uris: Vec<&str>, + uris: Vec<String>, folder: Option<&str>, len: usize, ty: rbw::pwgen::Type, |