summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client/cursor.cpp12
-rw-r--r--src/client/jetc.cpp14
2 files changed, 26 insertions, 0 deletions
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;