feat: skip usage errors

This commit is contained in:
iff 2024-11-27 19:55:39 +01:00
parent 8429ce2872
commit ab3534f0ef

View file

@ -60,18 +60,24 @@ pub fn suggest_command(shell: &str, last_command: &str, error_msg: &str) -> Opti
{ {
use crate::requests::ai_suggestion; use crate::requests::ai_suggestion;
use textwrap::{fill, termwidth}; use textwrap::{fill, termwidth};
let suggest = ai_suggestion(last_command, error_msg);
if let Some(suggest) = suggest {
let warn = format!("{}:", t!("ai-suggestion")).bold().blue();
let note = fill(&suggest.note, termwidth());
eprintln!("{}\n{}\n", warn, note); // skip for commands with no arguments,
let command = suggest.command; // very likely to be an error showing the usage
if command != "None" { if PRIVILEGE_LIST.contains(&split_command[0].as_str()) && split_command.len() > 2
if PRIVILEGE_LIST.contains(&split_command[0].as_str()) { || !PRIVILEGE_LIST.contains(&split_command[0].as_str()) && split_command.len() > 1 {
return Some(format!("{} {}", split_command[0], command)); let suggest = ai_suggestion(last_command, error_msg);
if let Some(suggest) = suggest {
let warn = format!("{}:", t!("ai-suggestion")).bold().blue();
let note = fill(&suggest.note, termwidth());
eprintln!("{}\n{}\n", warn, note);
let command = suggest.command;
if command != "None" {
if PRIVILEGE_LIST.contains(&split_command[0].as_str()) {
return Some(format!("{} {}", split_command[0], command));
}
return Some(command);
} }
return Some(command);
} }
} }
} }