From a4841190463fcd773d1e6dbf78b3e2f1053e7fe0 Mon Sep 17 00:00:00 2001 From: Scott Schafer Date: Tue, 3 Jun 2025 19:27:03 -0600 Subject: [PATCH] refactor: Use plain ansi colors for output --- compiler/rustc_errors/src/emitter.rs | 12 +- compiler/rustc_errors/src/lib.rs | 10 +- compiler/rustc_errors/src/markdown/term.rs | 14 +- .../src/markdown/tests/output.stdout | 8 +- ...-highlight-span-extra-arguments-147070.svg | 48 +- .../huge_multispan_highlight.ascii.svg | 76 +- .../huge_multispan_highlight.unicode.svg | 76 +- tests/ui/diagnostic-flags/terminal_urls.svg | 20 +- .../terminal_urls.windows.svg | 24 +- .../ui/error-emitter/E0308-clarification.svg | 66 +- tests/ui/error-emitter/highlighting.svg | 42 +- .../ui/error-emitter/highlighting.windows.svg | 46 +- .../multiline-multipart-suggestion.svg | 90 +- ...multiline-multipart-suggestion.windows.svg | 92 +- .../multiline-removal-suggestion.svg | 390 +++---- tests/ui/error-emitter/unicode-output.svg | 42 +- ...between-expected-trait-and-found-trait.svg | 38 +- tests/ui/lint/use_suggestion_json.stderr | 36 +- .../suggestions/incorrect-variant-literal.svg | 978 +++++++++--------- 19 files changed, 1050 insertions(+), 1058 deletions(-) diff --git a/compiler/rustc_errors/src/emitter.rs b/compiler/rustc_errors/src/emitter.rs index fac4f039e288..33b5ffdeb62f 100644 --- a/compiler/rustc_errors/src/emitter.rs +++ b/compiler/rustc_errors/src/emitter.rs @@ -17,7 +17,7 @@ use std::sync::Arc; use anstream::{AutoStream, ColorChoice}; -use anstyle::{Ansi256Color, AnsiColor, Effects}; +use anstyle::{AnsiColor, Effects}; use derive_setters::Setters; use rustc_data_structures::fx::{FxIndexMap, FxIndexSet}; use rustc_data_structures::sync::{DynSend, IntoDynSyncSend}; @@ -3492,21 +3492,21 @@ pub fn stderr_destination(color: ColorConfig) -> Destination { /// /// See #36178. const BRIGHT_BLUE: anstyle::Style = if cfg!(windows) { - Ansi256Color::from_ansi(AnsiColor::BrightCyan).on_default() + AnsiColor::BrightCyan.on_default() } else { - Ansi256Color::from_ansi(AnsiColor::BrightBlue).on_default() + AnsiColor::BrightBlue.on_default() }; impl Style { pub(crate) fn anstyle(&self, lvl: Level) -> anstyle::Style { match self { - Style::Addition => Ansi256Color::from_ansi(AnsiColor::BrightGreen).on_default(), - Style::Removal => Ansi256Color::from_ansi(AnsiColor::BrightRed).on_default(), + Style::Addition => AnsiColor::BrightGreen.on_default(), + Style::Removal => AnsiColor::BrightRed.on_default(), Style::LineAndColumn => anstyle::Style::new(), Style::LineNumber => BRIGHT_BLUE.effects(Effects::BOLD), Style::Quotation => anstyle::Style::new(), Style::MainHeaderMsg => if cfg!(windows) { - Ansi256Color::from_ansi(AnsiColor::BrightWhite).on_default() + AnsiColor::BrightWhite.on_default() } else { anstyle::Style::new() } diff --git a/compiler/rustc_errors/src/lib.rs b/compiler/rustc_errors/src/lib.rs index 061f07ff18cc..b0aa90b18817 100644 --- a/compiler/rustc_errors/src/lib.rs +++ b/compiler/rustc_errors/src/lib.rs @@ -1966,18 +1966,16 @@ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { impl Level { fn color(self) -> anstyle::Style { match self { - Bug | Fatal | Error | DelayedBug => { - Ansi256Color::from_ansi(AnsiColor::BrightRed).on_default() - } + Bug | Fatal | Error | DelayedBug => AnsiColor::BrightRed.on_default(), ForceWarning | Warning => { if cfg!(windows) { - Ansi256Color::from_ansi(AnsiColor::BrightYellow).on_default() + AnsiColor::BrightYellow.on_default() } else { AnsiColor::Yellow.on_default() } } - Note | OnceNote => Ansi256Color::from_ansi(AnsiColor::BrightGreen).on_default(), - Help | OnceHelp => Ansi256Color::from_ansi(AnsiColor::BrightCyan).on_default(), + Note | OnceNote => AnsiColor::BrightGreen.on_default(), + Help | OnceHelp => AnsiColor::BrightCyan.on_default(), FailureNote => anstyle::Style::new(), Allow | Expect => unreachable!(), } diff --git a/compiler/rustc_errors/src/markdown/term.rs b/compiler/rustc_errors/src/markdown/term.rs index 7a95442f14b7..4c5dc86e3859 100644 --- a/compiler/rustc_errors/src/markdown/term.rs +++ b/compiler/rustc_errors/src/markdown/term.rs @@ -1,7 +1,7 @@ use std::cell::Cell; use std::io::{self, Write}; -use anstyle::{Ansi256Color, AnsiColor, Effects, Style}; +use anstyle::{AnsiColor, Effects, Style}; use crate::markdown::{MdStream, MdTree}; @@ -99,15 +99,9 @@ fn write_tt( } MdTree::Heading(n, stream) => { let cs = match n { - 1 => Ansi256Color::from_ansi(AnsiColor::BrightCyan) - .on_default() - .effects(Effects::BOLD | Effects::UNDERLINE), - 2 => Ansi256Color::from_ansi(AnsiColor::BrightCyan) - .on_default() - .effects(Effects::UNDERLINE), - 3 => Ansi256Color::from_ansi(AnsiColor::BrightCyan) - .on_default() - .effects(Effects::ITALIC), + 1 => AnsiColor::BrightCyan.on_default().effects(Effects::BOLD | Effects::UNDERLINE), + 2 => AnsiColor::BrightCyan.on_default().effects(Effects::UNDERLINE), + 3 => AnsiColor::BrightCyan.on_default().effects(Effects::ITALIC), 4.. => AnsiColor::Cyan.on_default().effects(Effects::UNDERLINE | Effects::ITALIC), 0 => unreachable!(), }; diff --git a/compiler/rustc_errors/src/markdown/tests/output.stdout b/compiler/rustc_errors/src/markdown/tests/output.stdout index 23c60d5c3190..865ac175daf1 100644 --- a/compiler/rustc_errors/src/markdown/tests/output.stdout +++ b/compiler/rustc_errors/src/markdown/tests/output.stdout @@ -1,10 +1,10 @@ -H1 Heading ]8;;http://docs.rs\with a link]8;;\ +H1 Heading ]8;;http://docs.rs\with a link]8;;\ H1 content: some words in bold and so does inline code -H2 Heading +H2 Heading H2 content: some words in italic -H3 Heading +H3 Heading H3 content: strikethrough text H4 Heading @@ -24,7 +24,7 @@ elit quam, pulvinar ac risus in, dictum vehicula turpis. Vestibulum neque est, accumsan in cursus sit amet, dictum a nunc. Suspendisse aliquet, lorem eu eleifend accumsan, magna neque sodales nisi, a aliquet lectus leo eu sem. -------------------------------------------------------------------------------------------------------------------------------------------- -Code +Code Both inline code and code blocks are supported: /// A rust enum diff --git a/tests/ui/argument-suggestions/wrong-highlight-span-extra-arguments-147070.svg b/tests/ui/argument-suggestions/wrong-highlight-span-extra-arguments-147070.svg index 67f9436b6a52..549acee7cee5 100644 --- a/tests/ui/argument-suggestions/wrong-highlight-span-extra-arguments-147070.svg +++ b/tests/ui/argument-suggestions/wrong-highlight-span-extra-arguments-147070.svg @@ -1,11 +1,11 @@ - +