use term::color::{GREEN, RED, WHITE}; use term::{Attr, Error, Result}; fn main() { if foo().is_err() { eprintln!( "error: Clippy is no longer available via crates.io\n\n\ help: please run `rustup component add clippy` instead" ); } std::process::exit(1); } fn foo() -> Result<()> { let mut t = term::stderr().ok_or(Error::NotSupported)?; t.attr(Attr::Bold)?; t.fg(RED)?; write!(t, "\nerror: ")?; t.reset()?; t.fg(WHITE)?; writeln!(t, "Clippy is no longer available via crates.io\n")?; t.attr(Attr::Bold)?; t.fg(GREEN)?; write!(t, "help: ")?; t.reset()?; t.fg(WHITE)?; write!(t, "please run `")?; t.attr(Attr::Bold)?; write!(t, "rustup component add clippy")?; t.reset()?; t.fg(WHITE)?; writeln!(t, "` instead")?; t.reset()?; Ok(()) }