aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw/commands.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-05-22 00:59:34 -0400
committerJesse Luehrs <doy@tozt.net>2020-05-22 00:59:34 -0400
commit707f0bac2141ef7120c0493de3a5d331a511c40c (patch)
tree3cf21d2a94f211b7adf854d0d87662b1ef76a640 /src/bin/rbw/commands.rs
parent318413b119c5f0e988079bb7bede1a4a86583a7a (diff)
downloadrbw-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.rs13
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,