fix: Include $crate for macro calls
This commit is contained in:
parent
8ce83ba7ff
commit
50ba091ed0
1 changed files with 31 additions and 25 deletions
|
|
@ -15,12 +15,12 @@ macro_rules! cmd {
|
|||
::std::process::Command::new($command)
|
||||
};
|
||||
($command:ident, $($tail:tt)*) => {
|
||||
cmd!(@ $command, $($tail)*)
|
||||
$crate::cmd!(@ $command, $($tail)*)
|
||||
};
|
||||
($command:expr, $($tail:tt)*) => {
|
||||
{
|
||||
let mut c = cmd!($command);
|
||||
cmd!(@ c, $($tail)*);
|
||||
let mut c = $crate::cmd!($command);
|
||||
$crate::cmd!(@ c, $($tail)*);
|
||||
c
|
||||
}
|
||||
};
|
||||
|
|
@ -28,57 +28,57 @@ macro_rules! cmd {
|
|||
(@ $command:ident, for $for_expr:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
for arg in $for_expr.iter() {
|
||||
cmd!($command, arg);
|
||||
$crate::cmd!($command, arg);
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, for $iter:ident in $for_expr:expr => [ $($arg:expr),* $(,)? ] $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
for $iter in $for_expr.iter() {
|
||||
$(cmd!(@ $command, $arg);)*
|
||||
$($crate::cmd!(@ $command, $arg);)*
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, for $iter:ident in $for_expr:expr => $arg:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
for $iter in $for_expr.iter() {
|
||||
cmd!(@ $command, $arg);
|
||||
$crate::cmd!(@ $command, $arg);
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, if let $let_pat:pat = $if_expr:expr => [ $($arg:expr),* $(,)? ] $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
if let $let_pat = $if_expr {
|
||||
$(cmd!(@ $command, $arg);)*
|
||||
$($crate::cmd!(@ $command, $arg);)*
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, if let $let_pat:pat = $if_expr:expr => $arg:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
if let $let_pat = $if_expr {
|
||||
cmd!(@ $command, $arg);
|
||||
$crate::cmd!(@ $command, $arg);
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, if $if_expr:expr => [ $($arg:expr),* $(,)?] $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
if $if_expr {
|
||||
$(cmd!(@ $command, $arg);)*
|
||||
$($crate::cmd!(@ $command, $arg);)*
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, if $if_expr:expr => $arg:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
if $if_expr {
|
||||
cmd!(@ $command, $arg);
|
||||
$crate::cmd!(@ $command, $arg);
|
||||
}
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, |$cmd_ref:ident|? $op:block $(, $($tail:tt)*)?) => {
|
||||
|
|
@ -88,44 +88,50 @@ macro_rules! cmd {
|
|||
Ok(())
|
||||
};
|
||||
op_fn(&mut $command)?;
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, |$cmd_ref:ident| $op:block $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
let op_fn = |$cmd_ref: &mut ::std::process::Command| $op;
|
||||
op_fn(&mut $command);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, $key:expr => $value:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.env($key, $value);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, current_dir = $dir:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.current_dir($dir);
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, stdin = $pipe:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.stdin($pipe);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, stdout = $pipe:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.stdout($pipe);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, stderr = $pipe:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.stderr($pipe);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
(@ $command:ident, $arg:expr $(, $($tail:tt)*)?) => {
|
||||
{
|
||||
$command.arg($arg);
|
||||
$(cmd!(@ $command, $($tail)*);)*
|
||||
$($crate::cmd!(@ $command, $($tail)*);)*
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -143,7 +149,7 @@ macro_rules! string_vec {
|
|||
{
|
||||
use $crate::string;
|
||||
vec![
|
||||
$(string!($string),)*
|
||||
$($crate::string!($string),)*
|
||||
]
|
||||
}
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue