From 68e00a1023700d204c3e30db408cf0a45a3ea52a Mon Sep 17 00:00:00 2001 From: Gregory Detal Date: Fri, 16 Oct 2020 15:19:34 +0200 Subject: [PATCH] remove dependency to cmd_lib_core Programs using the cmd_lib crate requires to include the cmd_lib_core as the macros are procedural macros which do not yet support $crate as for regular macros (See https://github.com/rust-lang/rust/issues/54363). This commit re-export the procedural macros as well as core/macro libraries. It also makes sure that the cmd_lib_core is not required by a depending crate. Signed-off-by: Gregory Detal --- src/lib.rs | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 51a7d41..2ad756c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,10 +1,21 @@ -use cmd_lib_core; -use cmd_lib_macros; +pub use cmd_lib_core; +pub use cmd_lib_macros; -pub use cmd_lib_macros::{ - run_cmd, - run_fun, -}; +#[macro_export] +macro_rules! run_cmd { + ($($cur:tt)*) => {{ + use $crate::cmd_lib_core; + $crate::cmd_lib_macros::run_cmd!($($cur)*) + }}; +} + +#[macro_export] +macro_rules! run_fun { + ($($cur:tt)*) => {{ + use $crate::cmd_lib_core; + $crate::cmd_lib_macros::run_fun!($($cur)*) + }}; +} pub use cmd_lib_core::{ run_cmd,