From 96a6a5fec12a71b28db6cb8a22202e18a6ae9cf4 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Mon, 13 Jul 2020 15:34:38 +0200 Subject: [PATCH] Add color in rustdoc --test output --- src/librustdoc/doctest.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/librustdoc/doctest.rs b/src/librustdoc/doctest.rs index c79b2395d231..b49bbf3f8011 100644 --- a/src/librustdoc/doctest.rs +++ b/src/librustdoc/doctest.rs @@ -1,13 +1,14 @@ use rustc_ast as ast; use rustc_data_structures::sync::Lrc; -use rustc_errors::ErrorReported; +use rustc_errors::{ColorConfig, ErrorReported}; +use rustc_feature::UnstableFeatures; use rustc_hir as hir; use rustc_hir::intravisit; use rustc_hir::{HirId, CRATE_HIR_ID}; use rustc_interface::interface; use rustc_middle::hir::map::Map; use rustc_middle::ty::TyCtxt; -use rustc_session::config::{self, CrateType}; +use rustc_session::config::{self, CrateType, ErrorOutputType}; use rustc_session::{lint, DiagnosticOutput, Session}; use rustc_span::edition::Edition; use rustc_span::source_map::SourceMap; @@ -293,6 +294,18 @@ fn run_test( path.to_str().expect("target path must be valid unicode").to_string() } }); + match options.error_format { + ErrorOutputType::HumanReadable(kind) => { + let (_, color_config) = kind.unzip(); + match color_config { + ColorConfig::Never => {} + _ => { + compiler.arg("--color").arg("always"); + } + } + } + _ => {} + } compiler.arg("-"); compiler.stdin(Stdio::piped());