From d381b0930a35587eb7887a7494a42f44428fb697 Mon Sep 17 00:00:00 2001 From: jdidion Date: Wed, 13 Sep 2023 09:43:18 -0700 Subject: [PATCH] map selected value to target type --- fqcv-cli/src/commands/align.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fqcv-cli/src/commands/align.rs b/fqcv-cli/src/commands/align.rs index 91fdb5e..5c2d2f6 100644 --- a/fqcv-cli/src/commands/align.rs +++ b/fqcv-cli/src/commands/align.rs @@ -1,6 +1,9 @@ use super::command::{Command, ValueEnum}; use anyhow::Result; -use clap::{builder::PossibleValuesParser, Parser}; +use clap::{ + builder::{PossibleValuesParser, TypedValueParser as _}, + Parser, +}; use flume::unbounded; use fqcv_lib::{ align::{ @@ -209,7 +212,8 @@ pub struct Align { #[clap( long, short = 'm', - value_parser = PossibleValuesParser::new(AlignmentMode::possible_values()), + value_parser = PossibleValuesParser::new(AlignmentMode::possible_values()) + .map(|s| s.parse::().unwrap()), default_value_t = AlignmentMode::Local, ignore_case = true, display_order = 17, @@ -223,7 +227,8 @@ pub struct Align { #[clap( long, short = 'P', - value_parser = PossibleValuesParser::new(PrimaryPickingStrategy::possible_values()), + value_parser = PossibleValuesParser::new(PrimaryPickingStrategy::possible_values()) + .map(|s| s.parse::().unwrap()), default_value_t = PrimaryPickingStrategy::QueryLength, ignore_case = true, display_order = 18,