Skip to content

Commit

Permalink
Make tidy errors red
Browse files Browse the repository at this point in the history
This makes it easier to see them (and makes people go owo).
  • Loading branch information
Noratrieb committed Dec 30, 2022
1 parent f9cc011 commit 75b3ee2
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 13 deletions.
9 changes: 5 additions & 4 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2675,9 +2675,9 @@ dependencies = [

[[package]]
name = "owo-colors"
version = "3.4.0"
version = "3.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "decf7381921fea4dcb2549c5667eda59b3ec297ab7e2b5fc33eac69d2e7da87b"
checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"

[[package]]
name = "packed_simd_2"
Expand Down Expand Up @@ -5203,9 +5203,9 @@ dependencies = [

[[package]]
name = "termcolor"
version = "1.1.2"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [
"winapi-util",
]
Expand Down Expand Up @@ -5309,6 +5309,7 @@ dependencies = [
"lazy_static",
"miropt-test-tools",
"regex",
"termcolor",
"walkdir",
]

Expand Down
1 change: 1 addition & 0 deletions src/tools/tidy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
31 changes: 22 additions & 9 deletions src/tools/tidy/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
Expand Down

0 comments on commit 75b3ee2

Please sign in to comment.