Skip to content

Commit 10230d4

Browse files
committed
refactor(report): Don't bother stripping ANSI escape codes
`cargo report` calls `Shell::print_ansi_stdout`. Previously, it didn't always strip the colors when needed (e.g. `Write` is used). Now it does, so don't need to special case this when generating the report.
1 parent 94b8364 commit 10230d4

File tree

2 files changed

+4
-15
lines changed

2 files changed

+4
-15
lines changed

src/bin/cargo/commands/report.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn report_future_incompatibilities(config: &Config, args: &ArgMatches) -> CliRes
4444
.value_of_u32("id")?
4545
.unwrap_or_else(|| reports.last_id());
4646
let krate = args.get_one::<String>("package").map(String::as_str);
47-
let report = reports.get_report(id, config, krate)?;
47+
let report = reports.get_report(id, krate)?;
4848
drop_println!(config, "{}", REPORT_PREAMBLE);
4949
drop(config.shell().print_ansi_stdout(report.as_bytes()));
5050
Ok(())

src/cargo/core/compiler/future_incompat.rs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ use crate::core::compiler::BuildContext;
3737
use crate::core::{Dependency, PackageId, Workspace};
3838
use crate::sources::source::QueryKind;
3939
use crate::sources::SourceConfigMap;
40-
use crate::util::{iter_join, CargoResult, Config};
40+
use crate::util::{iter_join, CargoResult};
4141
use anyhow::{bail, format_err, Context};
4242
use serde::{Deserialize, Serialize};
4343
use std::collections::{BTreeMap, BTreeSet, HashMap, HashSet};
@@ -224,12 +224,8 @@ impl OnDiskReports {
224224
self.reports.last().map(|r| r.id).unwrap()
225225
}
226226

227-
pub fn get_report(
228-
&self,
229-
id: u32,
230-
config: &Config,
231-
package: Option<&str>,
232-
) -> CargoResult<String> {
227+
/// Returns an ANSI-styled report
228+
pub fn get_report(&self, id: u32, package: Option<&str>) -> CargoResult<String> {
233229
let report = self.reports.iter().find(|r| r.id == id).ok_or_else(|| {
234230
let available = iter_join(self.reports.iter().map(|r| r.id.to_string()), ", ");
235231
format_err!(
@@ -267,13 +263,6 @@ impl OnDiskReports {
267263
};
268264
to_display += &package_report;
269265

270-
let shell = config.shell();
271-
272-
let to_display = if shell.err_supports_color() && shell.out_supports_color() {
273-
to_display
274-
} else {
275-
anstream::adapter::strip_str(&to_display).to_string()
276-
};
277266
Ok(to_display)
278267
}
279268
}

0 commit comments

Comments
 (0)