use original command when ranking for possible commands if the command was from an optional branch

This commit is contained in:
dawn 2026-01-18 23:34:58 +03:00
parent f72145b3db
commit dc9b7b3e6b
No known key found for this signature in database
2 changed files with 7 additions and 4 deletions

View file

@ -246,9 +246,11 @@ pub fn edit() -> impl Iterator<Item = Command> {
] ]
.map(apply_list_opts); .map(apply_list_opts);
let system_groups_cmd = let system_groups_cmd = once(
once(command!(system, Optional(SystemRef), "groups", search_param => "system_groups")) command!(system, Optional(SystemRef), "groups", search_param => "system_groups")
.map(apply_list_opts); .help("Lists groups in a system"),
)
.map(apply_list_opts);
let system_display_id_cmd = once( let system_display_id_cmd = once(
command!(system, Optional(SystemRef), "id" => "system_display_id") command!(system, Optional(SystemRef), "id" => "system_display_id")

View file

@ -219,7 +219,7 @@ pub fn parse_command(
} }
} }
} }
let full_cmd = command.original.as_deref().unwrap_or(&command); let full_cmd = command.original.as_deref().unwrap_or(&command);
if misplaced_flags.is_empty().not() { if misplaced_flags.is_empty().not() {
let mut error = format!( let mut error = format!(
@ -346,6 +346,7 @@ fn rank_possible_commands(
) -> Vec<(Command, String, bool)> { ) -> Vec<(Command, String, bool)> {
let mut commands_with_scores: Vec<(&Command, String, f64, bool)> = possible_commands let mut commands_with_scores: Vec<(&Command, String, f64, bool)> = possible_commands
.into_iter() .into_iter()
.map(|cmd| cmd.original.as_deref().unwrap_or(cmd))
.filter(|cmd| cmd.show_in_suggestions) .filter(|cmd| cmd.show_in_suggestions)
.flat_map(|cmd| { .flat_map(|cmd| {
let versions = generate_command_versions(cmd); let versions = generate_command_versions(cmd);