diff options
author | Juan Manuel Tomás <jtomas1815@gmail.com> | 2020-05-03 13:07:36 -0300 |
---|---|---|
committer | Juan Manuel Tomás <jtomas1815@gmail.com> | 2020-05-03 13:07:36 -0300 |
commit | fcc480d1592bebf474edc4b63f91d9251e4f1071 (patch) | |
tree | 47cd8056aba313452244ba941f113ce5d6f63012 /jet.c | |
parent | 05e823c77bd775a30478498fb83b287f9be6865f (diff) | |
download | jet-fcc480d1592bebf474edc4b63f91d9251e4f1071.tar.gz jet-fcc480d1592bebf474edc4b63f91d9251e4f1071.zip |
Scroll only when cursor goes off screen
Diffstat (limited to 'jet.c')
-rw-r--r-- | jet.c | 34 |
1 files changed, 8 insertions, 26 deletions
@@ -61,32 +61,22 @@ int main(int argc, char *argv[]) { mode = INSERT_MODE; break; case 'k': - prev_line(&window_start, window_width); prev_line(&cursor, window_width); + if (y <= 0) { + prev_line(&window_start, window_width); + } break; case 'j': - if (element(&window_end)) { - next_line(&window_start, window_width); - } next_line(&cursor, window_width); - if (same_point(&cursor, &window_end)) { - move_point_backward(&cursor); + if (y >= window_height - 2) { + next_line(&window_start, window_width); } break; case 'h': - if (same_point(&cursor, &window_start)) { - prev_line(&window_start, window_width); - } move_point_backward(&cursor); break; case 'l': - if (same_point(&cursor, &window_end)) { - next_line(&window_start, window_width); - } move_point_forward(&cursor); - if (same_point(&cursor, &window_end)) { - move_point_backward(&cursor); - } break; } } else { @@ -95,23 +85,15 @@ int main(int argc, char *argv[]) { mode = NORMAL_MODE; break; case KEY_BACKSPACE: - if (same_point(&cursor, &window_start)) { - prev_line(&window_start, window_width); - } delete_at_point(&cursor); break; default: - if (same_point(&cursor, &window_end)) { - next_line(&window_start, window_width); - } insert_at_point(&cursor, input); - move_point_backward(&cursor); - if (element(&cursor) == '\n') { - next_line(&window_start, window_width); - } - move_point_forward(&cursor); } } + if (element(&cursor) == 0) { + move_point_backward(&cursor); + } } endwin(); |