Introduction
Introduction Statistics Contact Development Disclaimer Help
tImplement simple sequential key binding - ve - a minimal text editor (work in …
git clone git://src.adamsgaard.dk/ve
Log
Files
Refs
README
LICENSE
---
commit 46d33db19cc6321705a9c52f7929a2a689d88ebc
parent 73ee9195069d7b78a8b224190eec153bb01831b1
Author: Anders Damsgaard <[email protected]>
Date: Wed, 7 Aug 2019 23:06:49 +0200
Implement simple sequential key binding
Diffstat:
M ve.c | 52 +++++++++++++++++------------…
1 file changed, 29 insertions(+), 23 deletions(-)
---
diff --git a/ve.c b/ve.c
t@@ -864,23 +864,6 @@ editor_process_keypress()
E.mode = 1;
break;
- case CTRL_KEY('q'):
- if (E.file_changed) {
- editor_set_status_message("error: "
- "file ha…
- "Press C…
- break;
- } else {
- write(STDOUT_FILENO, "\x1b[2J", 4); /*…
- write(STDOUT_FILENO, "\x1b[H", 3);
- exit(0);
- break;
- }
- case CTRL_KEY('x'):
- write(STDOUT_FILENO, "\x1b[2J", 4); /* clear s…
- write(STDOUT_FILENO, "\x1b[H", 3);
- exit(0);
- break;
case 'h':
case 'j':
case 'k':
t@@ -888,8 +871,25 @@ editor_process_keypress()
editor_move_cursor(c);
break;
- case CTRL_KEY('w'):
- file_save(E.filename);
+ case ' ':
+ c = editor_read_key();
+ switch (c) {
+ case 'w':
+ file_save(E.filename);
+ break;
+ case 'q':
+ if (E.file_changed) {
+ editor_set_status_mess…
+ …
+ …
+ break;
+ } else {
+ write(STDOUT_FILENO, "…
+ write(STDOUT_FILENO, "…
+ exit(0);
+ break;
+ }
+ }
break;
case CTRL_KEY('f'):
t@@ -923,8 +923,11 @@ editor_process_keypress()
break;
case 'g':
- E.cursor_x = 0;
- E.cursor_y = 0;
+ c = editor_read_key();
+ if (c == 'g') {
+ E.cursor_x = 0;
+ E.cursor_y = 0;
+ }
break;
case 'G':
E.cursor_x = 0;
t@@ -935,8 +938,11 @@ editor_process_keypress()
editor_delete_char_right();
break;
case 'd':
- editor_row_delete(E.cursor_y);
- editor_move_cursor('h');
+ c = editor_read_key();
+ if (c == 'd') {
+ editor_row_delete(E.cursor_y);
+ editor_move_cursor('h');
+ }
break;
case 'o':
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.