From ed8bbd2cf90ebfe9a0f3bd64c33f21a4bb2dc270 Mon Sep 17 00:00:00 2001 From: iff Date: Wed, 9 Aug 2023 21:29:38 +0200 Subject: [PATCH] fix: suggest bare part when combined with priviliged commands --- src/suggestions.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/suggestions.rs b/src/suggestions.rs index 625dce3..05e7cdb 100644 --- a/src/suggestions.rs +++ b/src/suggestions.rs @@ -21,16 +21,25 @@ pub fn suggest_command(shell: &str, last_command: &str, error_msg: &str) -> Opti 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); 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(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 PRIVILEGE_LIST.contains(&split_command[0].as_str()) { + return Some(format!("{} {}", split_command[0], suggest)); + } return Some(suggest); } None