From 318f366ace28c496f89496ddf4ea7668d02cacd9 Mon Sep 17 00:00:00 2001 From: Roy Ivy III Date: Wed, 28 Jul 2021 16:22:02 -0500 Subject: [PATCH] change/uucore ~ add `execution_phrase!()` macro for use with usage messages --- src/uucore/src/lib/macros.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/uucore/src/lib/macros.rs b/src/uucore/src/lib/macros.rs index 6d74ee260..36336a24d 100644 --- a/src/uucore/src/lib/macros.rs +++ b/src/uucore/src/lib/macros.rs @@ -58,6 +58,23 @@ macro_rules! util_name( //==== +/// Derive the complete execution phrase for "usage". +#[macro_export] +macro_rules! execution_phrase( + () => ({ + let exe = if (executable_name!() == util_name!()) { + executable!().to_string() + } else { + format!("{} {}", executable!(), util_name!()) + .as_str() + .to_owned() + }; + &exe.to_owned() + }) +); + +//==== + #[macro_export] macro_rules! show( ($err:expr) => ({