summaryrefslogtreecommitdiffstats
path: root/vendor/clap_builder/src/mkeymap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/clap_builder/src/mkeymap.rs')
-rw-r--r--vendor/clap_builder/src/mkeymap.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/vendor/clap_builder/src/mkeymap.rs b/vendor/clap_builder/src/mkeymap.rs
index e9d6ab844..301c7bc56 100644
--- a/vendor/clap_builder/src/mkeymap.rs
+++ b/vendor/clap_builder/src/mkeymap.rs
@@ -123,6 +123,15 @@ impl MKeyMap {
self.args.iter_mut()
}
+ /// Mutate every argument.
+ pub(crate) fn mut_args<F>(&mut self, f: F)
+ where
+ F: FnMut(Arg) -> Arg,
+ {
+ let mut args = std::mem::take(&mut self.args);
+ self.args.extend(args.drain(..).map(f));
+ }
+
/// We need a lazy build here since some we may change args after creating
/// the map, you can checkout who uses `args_mut`.
pub(crate) fn _build(&mut self) {