diff options
author | Jakob Kaivo <jkk@x1-nano.kaivo.local> | 2023-04-01 22:46:34 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@x1-nano.kaivo.local> | 2023-04-01 22:46:34 -0400 |
commit | 23e9c66180b95e5b1ba03ae739c04ebefa183e05 (patch) | |
tree | 91dd9ac0d4270208b770bbc85766d5918c8e2d5a /shed_non_vi.c | |
parent | 73611cd92215d478a549a6c869450376efc26393 (diff) |
begin work on command history (need to fix so it doesn't clear screen)
Diffstat (limited to 'shed_non_vi.c')
-rw-r--r-- | shed_non_vi.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/shed_non_vi.c b/shed_non_vi.c index eda2cc6..b299122 100644 --- a/shed_non_vi.c +++ b/shed_non_vi.c @@ -47,6 +47,12 @@ int shed_handle_non_vi(struct shed *e, struct termios *t, char c) if (c == '\033') { char esc[2]; read(STDIN_FILENO, esc, 2); + if (esc[1] == 'A') { + return shed_history_backward(e); + } + if (esc[1] == 'B') { + return shed_history_forward(e); + } if (esc[1] == 'C') { return shed_move_forward(e); } @@ -75,9 +81,9 @@ int shed_handle_non_vi(struct shed *e, struct termios *t, char c) case CTRL_K: return shed_delete_toend(e); case CTRL_L: return shed_redraw(e); case CTRL_M: return shed_execute(e); - case CTRL_N: // return history_forward(e); + case CTRL_N: return shed_history_forward(e); case CTRL_O: // return ??? /* ??? */ - case CTRL_P: // return history_backward(e); + case CTRL_P: return shed_history_backward(e); case CTRL_Q: // /* TTY START */ case CTRL_R: // return history_backsearch(e); case CTRL_S: // /* TTY STOP */ |