Skip to content

Commit

Permalink
Merge pull request #1633 from lazorgator/1632-rustup-print-default
Browse files Browse the repository at this point in the history
Print default toolchain on `rustup default` without arguments
  • Loading branch information
nrc authored Feb 11, 2019
2 parents 2ba84ae + ec7b52f commit 194026d
Showing 1 changed file with 30 additions and 16 deletions.
46 changes: 30 additions & 16 deletions src/rustup-cli/rustup_mode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ pub fn cli() -> App<'static, 'static> {
.arg(
Arg::with_name("toolchain")
.help(TOOLCHAIN_ARG_HELP)
.required(true),
.required(false),
),
)
.subcommand(
Expand Down Expand Up @@ -572,23 +572,37 @@ fn default_bare_triple_check(cfg: &Cfg, name: &str) -> Result<()> {
}

fn default_(cfg: &Cfg, m: &ArgMatches<'_>) -> Result<()> {
let ref toolchain = m.value_of("toolchain").expect("");
default_bare_triple_check(cfg, toolchain)?;
let ref toolchain = cfg.get_toolchain(toolchain, false)?;

let status = if !toolchain.is_custom() {
Some(toolchain.install_from_dist_if_not_installed()?)
} else if !toolchain.exists() {
return Err(ErrorKind::ToolchainNotInstalled(toolchain.name().to_string()).into());
} else {
None
};
if m.is_present("toolchain") {
let ref toolchain = m.value_of("toolchain").expect("");
default_bare_triple_check(cfg, toolchain)?;
let ref toolchain = cfg.get_toolchain(toolchain, false)?;

let status = if !toolchain.is_custom() {
Some(toolchain.install_from_dist_if_not_installed()?)
} else if !toolchain.exists() {
return Err(ErrorKind::ToolchainNotInstalled(toolchain.name().to_string()).into());
} else {
None
};

toolchain.make_default()?;
toolchain.make_default()?;

if let Some(status) = status {
println!();
common::show_channel_update(cfg, toolchain.name(), Ok(status))?;
if let Some(status) = status {
println!();
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);
}
}
}

Ok(())
Expand Down

0 comments on commit 194026d

Please sign in to comment.