From 1e9b11b08eefa9880c7e7143fa39fb945f277d4f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 6 Jun 2021 22:28:32 +0100 Subject: [PATCH] otter: Rework run_ap_completer into argparse_more Signed-off-by: Ian Jackson --- cli/clisupport.rs | 10 +++++----- cli/otter.rs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cli/clisupport.rs b/cli/clisupport.rs index 54ec5a3d..15b6da28 100644 --- a/cli/clisupport.rs +++ b/cli/clisupport.rs @@ -155,11 +155,11 @@ pub fn run_argparse(parsed: &mut T, apmaker: ApMaker, us } -pub fn run_ap_completer(parsed: T, us: String, apmaker: ApMaker, - completer: ApCompleter) - -> U where T: Default +pub fn argparse_more(us: String, apmaker: ApMaker, f: F) -> U + where T: Default, + F: FnOnce() -> Result { - completer(parsed).unwrap_or_else(|e| e.report(&us,apmaker)) + f().unwrap_or_else(|e| e.report(&us,apmaker)) } pub fn parse_args( @@ -170,7 +170,7 @@ pub fn parse_args( ) -> U { let mut parsed = default(); let us = run_argparse(&mut parsed, apmaker, args, extra_help); - let completed = run_ap_completer(parsed, us, apmaker, completer); + let completed = argparse_more(us, apmaker, || completer(parsed)); completed } diff --git a/cli/otter.rs b/cli/otter.rs index a0c7cf7e..8808ff28 100644 --- a/cli/otter.rs +++ b/cli/otter.rs @@ -323,7 +323,7 @@ fn main() { let us = run_argparse(&mut parsed, apmaker, args.clone(), Some(extra_help)); - let completed = run_ap_completer(parsed, us, apmaker, &ap_completer); + let completed = argparse_more(us, apmaker, || ap_completer(parsed)); let (subcommand, subargs, mo) = completed; let stdout = CookedStdout::new(); -- 2.30.2