refactor(shell): Use the new fancy anstyle API

This commit is contained in:
Ed Page 2024-01-29 16:18:45 -06:00
parent f48b1ad78d
commit bf664dabbe
4 changed files with 25 additions and 27 deletions

View file

@ -54,10 +54,9 @@ pub fn main(config: &mut LazyConfig) -> CliResult {
.map(String::as_str)
== Some("help")
{
let header = style::HEADER.render();
let literal = style::LITERAL.render();
let placeholder = style::PLACEHOLDER.render();
let reset = anstyle::Reset.render();
let header = style::HEADER;
let literal = style::LITERAL;
let placeholder = style::PLACEHOLDER;
let options = CliUnstable::help();
let max_length = options
@ -72,17 +71,17 @@ pub fn main(config: &mut LazyConfig) -> CliResult {
.map(|(opt, help)| {
let opt = opt.replace("_", "-");
let help = help.unwrap();
format!(" {literal}-Z {opt:<max_length$}{reset} {help}")
format!(" {literal}-Z {opt:<max_length$}{literal:#} {help}")
})
.join("\n");
drop_println!(
config,
"\
{header}Available unstable (nightly-only) flags:{reset}
{header}Available unstable (nightly-only) flags:{header:#}
{z_flags}
Run with `{literal}cargo -Z{reset} {placeholder}[FLAG] [COMMAND]{reset}`",
Run with `{literal}cargo -Z{literal:#} {placeholder}[FLAG] [COMMAND]{placeholder:#}`",
);
if !config.nightly_features_allowed {
drop_println!(
@ -136,8 +135,7 @@ Run with `{literal}cargo -Z{reset} {placeholder}[FLAG] [COMMAND]{reset}`",
);
for (name, command) in list_commands(config) {
let known_external_desc = known_external_command_descriptions.get(name.as_str());
let literal = style::LITERAL.render();
let reset = anstyle::Reset.render();
let literal = style::LITERAL;
match command {
CommandInfo::BuiltIn { about } => {
assert!(
@ -146,21 +144,25 @@ Run with `{literal}cargo -Z{reset} {placeholder}[FLAG] [COMMAND]{reset}`",
);
let summary = about.unwrap_or_default();
let summary = summary.lines().next().unwrap_or(&summary); // display only the first line
drop_println!(config, " {literal}{name:<20}{reset} {summary}");
drop_println!(config, " {literal}{name:<20}{literal:#} {summary}");
}
CommandInfo::External { path } => {
if let Some(desc) = known_external_desc {
drop_println!(config, " {literal}{name:<20}{reset} {desc}");
drop_println!(config, " {literal}{name:<20}{literal:#} {desc}");
} else if is_verbose {
drop_println!(config, " {literal}{name:<20}{reset} {}", path.display());
drop_println!(
config,
" {literal}{name:<20}{literal:#} {}",
path.display()
);
} else {
drop_println!(config, " {literal}{name}{reset}");
drop_println!(config, " {literal}{name}{literal:#}");
}
}
CommandInfo::Alias { target } => {
drop_println!(
config,
" {literal}{name:<20}{reset} alias: {}",
" {literal}{name:<20}{literal:#} alias: {}",
target.iter().join(" ")
);
}

View file

@ -455,15 +455,13 @@ impl ShellOut {
style: &Style,
justified: bool,
) -> CargoResult<()> {
let style = style.render();
let bold = (anstyle::Style::new() | anstyle::Effects::BOLD).render();
let reset = anstyle::Reset.render();
let bold = anstyle::Style::new() | anstyle::Effects::BOLD;
let mut buffer = Vec::new();
if justified {
write!(&mut buffer, "{style}{status:>12}{reset}")?;
write!(&mut buffer, "{style}{status:>12}{style:#}")?;
} else {
write!(&mut buffer, "{style}{status}{reset}{bold}:{reset}")?;
write!(&mut buffer, "{style}{status}{style:#}{bold}:{bold:#}")?;
}
match message {
Some(message) => writeln!(buffer, " {message}")?,

View file

@ -1009,9 +1009,8 @@ fn print_dep_table_msg(shell: &mut Shell, dep: &DependencyUI) -> CargoResult<()>
}
let stderr = shell.err();
let good = style::GOOD.render();
let error = style::ERROR.render();
let reset = anstyle::Reset.render();
let good = style::GOOD;
let error = style::ERROR;
let (activated, deactivated) = dep.features();
if !activated.is_empty() || !deactivated.is_empty() {
@ -1026,7 +1025,7 @@ fn print_dep_table_msg(shell: &mut Shell, dep: &DependencyUI) -> CargoResult<()>
if total_activated <= MAX_FEATURE_PRINTS {
for feat in activated {
writeln!(stderr, "{prefix}{good}+{reset} {feat}")?;
writeln!(stderr, "{prefix}{good}+{good:#} {feat}")?;
}
} else {
writeln!(stderr, "{prefix}{total_activated} activated features")?;
@ -1034,7 +1033,7 @@ fn print_dep_table_msg(shell: &mut Shell, dep: &DependencyUI) -> CargoResult<()>
if total_activated + total_deactivated <= MAX_FEATURE_PRINTS {
for feat in deactivated {
writeln!(stderr, "{prefix}{error}-{reset} {feat}")?;
writeln!(stderr, "{prefix}{error}-{error:#} {feat}")?;
}
} else {
writeln!(stderr, "{prefix}{total_deactivated} deactivated features")?;

View file

@ -47,8 +47,7 @@ pub fn search(
let mut shell = config.shell();
let stdout = shell.out();
let good = style::GOOD.render();
let reset = anstyle::Reset.render();
let good = style::GOOD;
for (name, description) in names.into_iter().zip(descriptions) {
let line = match description {
@ -59,7 +58,7 @@ pub fn search(
while let Some(fragment) = fragments.next() {
let _ = write!(stdout, "{fragment}");
if fragments.peek().is_some() {
let _ = write!(stdout, "{good}{query}{reset}");
let _ = write!(stdout, "{good}{query}{good:#}");
}
}
let _ = writeln!(stdout);