Add Alt+backspace and Ctrl+u keybinds for deleting by word and by line, respectively (#243)

* remove unused environment var loading entire history into an env var

* Add Alt+backspace and Ctrl+u keybinds for deleting by word and by line, respectively
This commit is contained in:
Mat Jones 2021-12-17 07:14:45 -05:00 committed by GitHub
parent 059e858a00
commit 133971179e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -207,6 +207,23 @@ async fn key_handler(
app.input.pop(); app.input.pop();
query_results(app, search_mode, db).await.unwrap(); query_results(app, search_mode, db).await.unwrap();
} }
// \u{7f} is escape sequence for backspace
Key::Alt('\u{7f}') => {
let words: Vec<&str> = app.input.split(' ').collect();
if words.is_empty() {
return None;
}
if words.len() == 1 {
app.input = String::from("");
} else {
app.input = words[0..(words.len() - 1)].join(" ");
}
query_results(app, search_mode, db).await.unwrap();
}
Key::Ctrl('u') => {
app.input = String::from("");
query_results(app, search_mode, db).await.unwrap();
}
Key::Down | Key::Ctrl('n') => { Key::Down | Key::Ctrl('n') => {
let i = match app.results_state.selected() { let i = match app.results_state.selected() {
Some(i) => { Some(i) => {