fix: suggest bare part when combined with priviliged commands

This commit is contained in:
iff 2023-08-09 21:29:38 +02:00
parent a480324a2b
commit ed8bbd2cf9

View file

@ -21,16 +21,25 @@ pub fn suggest_command(shell: &str, last_command: &str, error_msg: &str) -> Opti
return suggest; return suggest;
} }
} }
let last_command = match PRIVILEGE_LIST.contains(&split_command[0].as_str()) {
true => &last_command[split_command[0].len() + 1..],
false => &last_command,
};
let suggest = match_pattern(executable, last_command, error_msg, shell); let suggest = match_pattern(executable, last_command, error_msg, shell);
if let Some(suggest) = suggest { if let Some(suggest) = suggest {
if PRIVILEGE_LIST.contains(&executable) { if PRIVILEGE_LIST.contains(&split_command[0].as_str()) {
return Some(format!("{} {}", split_command[0], suggest)); return Some(format!("{} {}", split_command[0], suggest));
} }
return Some(suggest); return Some(suggest);
} }
let suggest = match_pattern("general", last_command, error_msg, shell); let suggest = match_pattern("general", &last_command, error_msg, shell);
if let Some(suggest) = suggest { if let Some(suggest) = suggest {
if PRIVILEGE_LIST.contains(&split_command[0].as_str()) {
return Some(format!("{} {}", split_command[0], suggest));
}
return Some(suggest); return Some(suggest);
} }
None None