#![deny(missing_docs)]
use proc_macro::TokenStream;
use quote::quote;
#[proc_macro_attribute]
pub fn main(_args: TokenStream, stream: TokenStream) -> TokenStream {
let stream = proc_macro2::TokenStream::from(stream);
let new = quote!(
pub fn uumain(args: impl uucore::Args) -> i32 {
#stream
#[cfg(unix)]
uucore::disable_rust_signal_handlers().expect("Disabling rust signal handlers failed");
let result = uumain(args);
match result {
Ok(()) => uucore::error::get_exit_code(),
Err(e) => {
let s = format!("{e}");
if s != "" {
uucore::show_error!("{s}");
}
if e.usage() {
eprintln!("Try '{} --help' for more information.", uucore::execution_phrase());
}
e.code()
}
}
}
);
TokenStream::from(new)
}