diff --git a/src/bin/cargo/main.rs b/src/bin/cargo/main.rs index 8a725f0bb64..d36e8243f09 100644 --- a/src/bin/cargo/main.rs +++ b/src/bin/cargo/main.rs @@ -205,16 +205,8 @@ fn list_commands(gctx: &GlobalContext) -> BTreeMap { } // Add the user-defined aliases - if let Ok(aliases) = gctx.get::>("alias") { - for (name, target) in aliases.iter() { - commands.insert( - name.to_string(), - CommandInfo::Alias { - target: target.clone(), - }, - ); - } - } + let alias_commands = user_defined_aliases(gctx); + commands.extend(alias_commands); // `help` is special, so it needs to be inserted separately. commands.insert( @@ -258,6 +250,21 @@ fn third_party_subcommands(gctx: &GlobalContext) -> BTreeMap BTreeMap { + let mut commands = BTreeMap::new(); + if let Ok(aliases) = gctx.get::>("alias") { + for (name, target) in aliases.iter() { + commands.insert( + name.to_string(), + CommandInfo::Alias { + target: target.clone(), + }, + ); + } + } + commands +} + fn find_external_subcommand(gctx: &GlobalContext, cmd: &str) -> Option { let command_exe = format!("cargo-{}{}", cmd, env::consts::EXE_SUFFIX); search_directories(gctx)