diff --git a/src/rustup-cli/rustup_mode.rs b/src/rustup-cli/rustup_mode.rs index 960d32940e..2ae0082ad5 100644 --- a/src/rustup-cli/rustup_mode.rs +++ b/src/rustup-cli/rustup_mode.rs @@ -592,17 +592,7 @@ fn default_(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> { common::show_channel_update(cfg, toolchain.name(), Ok(status))?; } } else { - let installed_toolchains = cfg.list_toolchains()?; - if installed_toolchains.len() > 0 { - let default_toolchain = cfg.get_default()?; - if default_toolchain != "" { - let mut t = term2::stdout(); - let _ = t.attr(term2::Attr::Bold); - let _ = write!(t, "Default toolchain: "); - let _ = t.reset(); - println!("{}", default_toolchain); - } - } + println!("{} (default)", cfg.get_default()?); } Ok(()) @@ -793,8 +783,12 @@ fn show(cfg: &Cfg) -> Result<()> { fn show_active_toolchain(cfg: &Cfg) -> Result<()> { let ref cwd = utils::current_dir()?; - if let Some((toolchain, _)) = cfg.find_override_toolchain_or_default(cwd)? { - writeln!(term2::stdout(), "{}", toolchain.name())? + if let Some((toolchain, reason)) = cfg.find_override_toolchain_or_default(cwd)? { + if reason.is_some() { + println!("{} ({})", toolchain.name(), reason.unwrap()); + } else { + println!("{} (default)", toolchain.name()); + } } Ok(()) } diff --git a/tests/cli-rustup.rs b/tests/cli-rustup.rs index 0ad0c884f2..966699187e 100644 --- a/tests/cli-rustup.rs +++ b/tests/cli-rustup.rs @@ -861,7 +861,7 @@ fn show_active_toolchain() { config, &["rustup", "show", "active-toolchain"], for_host!( - r"nightly-{0} + r"nightly-{0} (default) " ), r"", @@ -869,6 +869,20 @@ fn show_active_toolchain() { }); } +#[test] +fn show_active_toolchain_with_override() { + setup(&|config| { + expect_ok(config, &["rustup", "default", "stable"]); + expect_ok(config, &["rustup", "default", "nightly"]); + expect_ok(config, &["rustup", "override", "set", "stable"]); + expect_stdout_ok( + config, + &["rustup", "show", "active-toolchain"], + for_host!("stable-{0} (directory override for"), + ); + }); +} + #[test] fn show_active_toolchain_none() { setup(&|config| {