Fixed up/down arrows

This commit is contained in:
Justine 2023-02-20 01:03:13 +01:00
parent c7e9309a34
commit 13a730eca1
2 changed files with 25 additions and 18 deletions

View File

@ -1,6 +1,9 @@
# Sqish
Rust Shell. This is an attempt to create a simple shell in Rust, because why not.
TODO:
* Aliases don't currently handle arguments. My alias "vless" does not work with "vless lib.rs"
## sqishrc (Config)
See the included sqishrc.yaml.example file included, and copy it as ~/.sqishrc.yaml

View File

@ -425,27 +425,31 @@ pub mod shell {
},
Key::Up => {
mycommand = delete_current_cmd(mycommand);
current_number -= 1;
let lastcmd = match get_hist_from_number(&current_number) {
Some(c) => c,
None => continue
};
mycommand = lastcmd.trim().to_string();
(max_pos, current_pos) = get_cmd_curs_pos(&mycommand);
write!(stdout, "{}", mycommand);
if current_number > 2 {
mycommand = delete_current_cmd(mycommand);
current_number -= 1;
let lastcmd = match get_hist_from_number(&current_number) {
Some(c) => c,
None => continue
};
mycommand = lastcmd.trim().to_string();
(max_pos, current_pos) = get_cmd_curs_pos(&mycommand);
write!(stdout, "{}", mycommand);
}
},
Key::Down => {
mycommand = delete_current_cmd(mycommand);
current_number += 1;
let lastcmd = match get_hist_from_number(&current_number) {
Some(c) => c,
None => continue
};
mycommand = lastcmd.trim().to_string();
(max_pos, current_pos) = get_cmd_curs_pos(&mycommand);
write!(stdout, "{}", mycommand);
if current_number < get_curr_history_number() {
mycommand = delete_current_cmd(mycommand);
current_number += 1;
let lastcmd = match get_hist_from_number(&current_number) {
Some(c) => c,
None => continue
};
mycommand = lastcmd.trim().to_string();
(max_pos, current_pos) = get_cmd_curs_pos(&mycommand);
write!(stdout, "{}", mycommand);
}
},
Key::Ctrl('x') => {