fix: unspecified range

This commit is contained in:
iff 2023-07-30 20:14:04 +02:00
parent 525a0efb73
commit 51f20139cd

View file

@ -62,8 +62,14 @@ fn eval_suggest(suggest: &str, last_command: &str) -> String {
let range = suggest[placeholder.to_owned()].trim_matches(|c| c == '[' || c == ']'); let range = suggest[placeholder.to_owned()].trim_matches(|c| c == '[' || c == ']');
if let Some((start, end)) = range.split_once(':') { if let Some((start, end)) = range.split_once(':') {
let start = start.parse::<usize>().unwrap(); let start = match start {
let end = end.parse::<usize>().unwrap(); "" => 0,
_ => start.parse::<usize>().unwrap(),
};
let end = match end {
"" => last_command.split_whitespace().count(),
_ => end.parse::<usize>().unwrap(),
};
let split_command = last_command.split_whitespace().collect::<Vec<&str>>(); let split_command = last_command.split_whitespace().collect::<Vec<&str>>();
let command = split_command[start..end].join(" "); let command = split_command[start..end].join(" ");
suggest = suggest.replace(&suggest[placeholder], &command); suggest = suggest.replace(&suggest[placeholder], &command);