Skip to content

Commit 8109a92

Browse files
committed
clean up CmdString append
1 parent dbb04a1 commit 8109a92

File tree

2 files changed

+21
-54
lines changed

2 files changed

+21
-54
lines changed

macros/src/lib.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,23 +192,23 @@ pub fn spawn(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
192192
#[proc_macro_error]
193193
pub fn cmd_error(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
194194
let msg = parse_msg(input.into());
195-
quote!(::cmd_lib::log::error!("{:?}", #msg)).into()
195+
quote!(::cmd_lib::log::error!("{}", #msg)).into()
196196
}
197197

198198
/// Logs a message at the warn level with interpolation support
199199
#[proc_macro]
200200
#[proc_macro_error]
201201
pub fn cmd_warn(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
202202
let msg = parse_msg(input.into());
203-
quote!(::cmd_lib::log::warn!("{:?}", #msg)).into()
203+
quote!(::cmd_lib::log::warn!("{}", #msg)).into()
204204
}
205205

206206
/// Print a message to stdout with interpolation support
207207
#[proc_macro]
208208
#[proc_macro_error]
209209
pub fn cmd_echo(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
210210
let msg = parse_msg(input.into());
211-
quote!(println!("{:?}", #msg)).into()
211+
quote!(println!("{}", #msg)).into()
212212
}
213213

214214
/// Logs a message at the info level with interpolation support
@@ -225,23 +225,23 @@ pub fn cmd_echo(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
225225
#[proc_macro_error]
226226
pub fn cmd_info(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
227227
let msg = parse_msg(input.into());
228-
quote!(::cmd_lib::log::info!("{:?}", #msg)).into()
228+
quote!(::cmd_lib::log::info!("{}", #msg)).into()
229229
}
230230

231231
/// Logs a message at the debug level with interpolation support
232232
#[proc_macro]
233233
#[proc_macro_error]
234234
pub fn cmd_debug(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
235235
let msg = parse_msg(input.into());
236-
quote!(::cmd_lib::log::debug!("{:?}", #msg)).into()
236+
quote!(::cmd_lib::log::debug!("{}", #msg)).into()
237237
}
238238

239239
/// Logs a message at the trace level with interpolation support
240240
#[proc_macro]
241241
#[proc_macro_error]
242242
pub fn cmd_trace(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
243243
let msg = parse_msg(input.into());
244-
quote!(::cmd_lib::log::trace!("{:?}", #msg)).into()
244+
quote!(::cmd_lib::log::trace!("{}", #msg)).into()
245245
}
246246

247247
#[proc_macro]
@@ -263,7 +263,7 @@ pub fn cmd_trace(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
263263
pub fn cmd_die(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
264264
let msg = parse_msg(input.into());
265265
quote!({
266-
::cmd_lib::log::error!("FATAL: {:?}", #msg);
266+
::cmd_lib::log::error!("FATAL: {}", #msg);
267267
std::process::exit(1)
268268
})
269269
.into()

src/process.rs

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -536,68 +536,35 @@ impl Cmd {
536536
}
537537

538538
#[doc(hidden)]
539-
#[derive(Default)]
539+
#[derive(Default, Debug)]
540540
pub struct CmdString(OsString);
541541
impl CmdString {
542542
pub fn append<T: Any + fmt::Debug>(mut self, value: &T) -> Self {
543543
let value_any = value as &dyn Any;
544-
545544
if let Some(as_string) = value_any.downcast_ref::<String>() {
546545
self.0.push(as_string);
547-
return self;
548-
}
549-
550-
if let Some(as_string) = value_any.downcast_ref::<&String>() {
546+
} else if let Some(as_string) = value_any.downcast_ref::<&String>() {
551547
self.0.push(as_string);
552-
return self;
553-
}
554-
555-
if let Some(as_string) = value_any.downcast_ref::<&str>() {
548+
} else if let Some(as_string) = value_any.downcast_ref::<&str>() {
556549
self.0.push(as_string);
557-
return self;
558-
}
559-
560-
if let Some(as_os_string) = value_any.downcast_ref::<OsString>() {
550+
} else if let Some(as_os_string) = value_any.downcast_ref::<OsString>() {
561551
self.0.push(as_os_string);
562-
return self;
563-
}
564-
565-
if let Some(as_os_string) = value_any.downcast_ref::<&OsString>() {
552+
} else if let Some(as_os_string) = value_any.downcast_ref::<&OsString>() {
566553
self.0.push(as_os_string);
567-
return self;
568-
}
569-
570-
if let Some(as_os_string) = value_any.downcast_ref::<&OsStr>() {
554+
} else if let Some(as_os_string) = value_any.downcast_ref::<&OsStr>() {
571555
self.0.push(as_os_string);
572-
return self;
573-
}
574-
575-
if let Some(as_path_string) = value_any.downcast_ref::<PathBuf>() {
556+
} else if let Some(as_path_string) = value_any.downcast_ref::<PathBuf>() {
576557
self.0.push(as_path_string);
577-
return self;
578-
}
579-
580-
if let Some(as_path_string) = value_any.downcast_ref::<&PathBuf>() {
558+
} else if let Some(as_path_string) = value_any.downcast_ref::<&PathBuf>() {
581559
self.0.push(as_path_string);
582-
return self;
583-
}
584-
585-
if let Some(as_path_string) = value_any.downcast_ref::<&Path>() {
560+
} else if let Some(as_path_string) = value_any.downcast_ref::<&Path>() {
586561
self.0.push(as_path_string);
587-
return self;
588-
}
589-
590-
if let Some(as_cmd_string) = value_any.downcast_ref::<Self>() {
591-
self.0.push(&as_cmd_string.0);
592-
return self;
593-
}
594-
595-
if let Some(as_cmd_string) = value_any.downcast_ref::<&Self>() {
562+
} else if let Some(as_cmd_string) = value_any.downcast_ref::<Self>() {
596563
self.0.push(&as_cmd_string.0);
597-
return self;
564+
} else {
565+
self.0.push(format!("{:?}", value));
598566
}
599567

600-
self.0.push(format!("{:?}", value));
601568
self
602569
}
603570

@@ -609,9 +576,9 @@ impl CmdString {
609576
PathBuf::from(self.0)
610577
}
611578
}
612-
impl fmt::Debug for CmdString {
579+
impl fmt::Display for CmdString {
613580
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
614-
f.write_str(&format!("{:?}", self.0))
581+
f.write_str(&self.0.to_str().unwrap().to_string())
615582
}
616583
}
617584

0 commit comments

Comments
 (0)