Make tidy errors red
This makes it easier to see them (and makes people go owo).
This commit is contained in:
parent
f9cc011269
commit
75b3ee26cb
3 changed files with 28 additions and 13 deletions
|
|
@ -11,6 +11,7 @@ miropt-test-tools = { path = "../miropt-test-tools" }
|
|||
lazy_static = "1"
|
||||
walkdir = "2"
|
||||
ignore = "0.4.18"
|
||||
termcolor = "1.1.3"
|
||||
|
||||
[[bin]]
|
||||
name = "rust-tidy"
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@
|
|||
//! This library contains the tidy lints and exposes it
|
||||
//! to be used by tools.
|
||||
|
||||
use std::fmt::Display;
|
||||
|
||||
use termcolor::WriteColor;
|
||||
|
||||
/// A helper macro to `unwrap` a result except also print out details like:
|
||||
///
|
||||
/// * The expression that failed
|
||||
|
|
@ -26,18 +30,27 @@ macro_rules! t {
|
|||
}
|
||||
|
||||
macro_rules! tidy_error {
|
||||
($bad:expr, $fmt:expr) => ({
|
||||
*$bad = true;
|
||||
eprint!("tidy error: ");
|
||||
eprintln!($fmt);
|
||||
});
|
||||
($bad:expr, $fmt:expr, $($arg:tt)*) => ({
|
||||
*$bad = true;
|
||||
eprint!("tidy error: ");
|
||||
eprintln!($fmt, $($arg)*);
|
||||
($bad:expr, $($fmt:tt)*) => ({
|
||||
$crate::tidy_error($bad, format_args!($($fmt)*)).expect("failed to output error");
|
||||
});
|
||||
}
|
||||
|
||||
fn tidy_error(bad: &mut bool, args: impl Display) -> std::io::Result<()> {
|
||||
use std::io::Write;
|
||||
use termcolor::{Color, ColorChoice, ColorSpec, StandardStream};
|
||||
|
||||
*bad = true;
|
||||
|
||||
let mut stderr = StandardStream::stdout(ColorChoice::Auto);
|
||||
stderr.set_color(ColorSpec::new().set_fg(Some(Color::Red)))?;
|
||||
|
||||
write!(&mut stderr, "tidy error")?;
|
||||
stderr.set_color(&ColorSpec::new())?;
|
||||
|
||||
writeln!(&mut stderr, ": {args}")?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub mod alphabetical;
|
||||
pub mod bins;
|
||||
pub mod debug_artifacts;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue