From bebe98b46283bf21954f5f0a4923d3add45e4d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Manuel=20Tom=C3=A1s?= Date: Wed, 5 Aug 2020 20:09:25 -0300 Subject: Add vertical movement --- src/client/cursor.cpp | 12 ++++++++++++ src/client/jetc.cpp | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/client/cursor.cpp b/src/client/cursor.cpp index 65e32bf..82548b1 100644 --- a/src/client/cursor.cpp +++ b/src/client/cursor.cpp @@ -32,9 +32,21 @@ struct Cursor { } void move_up() { + if (y != 0) { + y--; + if (x > w.line_ends[y]) { + x = w.line_ends[y]; + } + } } void move_down() { + if (element()) { + y++; + if (x > w.line_ends[y]) { + x = w.line_ends[y]; + } + } } void update() { diff --git a/src/client/jetc.cpp b/src/client/jetc.cpp index cfe3db7..94d59ac 100644 --- a/src/client/jetc.cpp +++ b/src/client/jetc.cpp @@ -40,6 +40,14 @@ void move_right() { cursor.move_right(); } +void move_down() { + cursor.move_down(); +} + +void move_up() { + cursor.move_up(); +} + void delete_element() { msg.encode1(OP_DELETE); io.send(msg); @@ -73,6 +81,12 @@ int main(int argc, char *argv[]) { case 'h': move_left(); break; + case 'j': + move_down(); + break; + case 'k': + move_up(); + break; case 'l': move_right(); break; -- cgit v1.2.3