summaryrefslogtreecommitdiff
path: root/input.c
diff options
context:
space:
mode:
authorcflip <cflip@cflip.net>2023-01-11 11:21:41 -0700
committercflip <cflip@cflip.net>2023-01-11 11:21:41 -0700
commit0324dda2cc779bcd6d3eb425216e29b37a9a95ed (patch)
tree84fb7faab49b0773339803cb893da0c958f9d7e8 /input.c
parent61c387397d03c479ca110a02bfa78cd39fa82656 (diff)
Remove all terminal-related code
Diffstat (limited to 'input.c')
-rw-r--r--input.c55
1 files changed, 0 insertions, 55 deletions
diff --git a/input.c b/input.c
index fac8aba..28f61f4 100644
--- a/input.c
+++ b/input.c
@@ -5,63 +5,8 @@
#include <unistd.h>
#include "file.h"
-#include "terminal.h"
#include "row.h"
-int editor_read_key()
-{
- int read_count;
- char c;
-
- while ((read_count = read(STDIN_FILENO, &c, 1)) != 1) {
- if (read_count == -1 && errno != EAGAIN)
- die("read");
- }
-
- if (c == '\x1b') {
- char seq[3];
-
- if (read(STDIN_FILENO, &seq[0], 1) != 1) return '\x1b';
- if (read(STDIN_FILENO, &seq[1], 1) != 1) return '\x1b';
-
- if (seq[0] == '[') {
- if (seq[1] >= '0' && seq[1] <= '9') {
- if (read(STDIN_FILENO, &seq[2], 1) != 1)
- return '\x1b';
-
- if (seq[2] == '~') {
- switch (seq[1]) {
- case '1': return HOME_KEY;
- case '3': return DELETE_KEY;
- case '4': return END_KEY;
- case '5': return PAGE_UP;
- case '6': return PAGE_DOWN;
- case '7': return HOME_KEY;
- case '8': return END_KEY;
- }
- }
- } else {
- switch (seq[1]) {
- case 'A': return ARROW_UP;
- case 'B': return ARROW_DOWN;
- case 'C': return ARROW_RIGHT;
- case 'D': return ARROW_LEFT;
- case 'H': return HOME_KEY;
- case 'F': return END_KEY;
- }
- }
- } else if (seq[0] == 'O') {
- switch (seq[1]) {
- case 'H': return HOME_KEY;
- case 'F': return END_KEY;
- }
- }
- return '\x1b';
- } else {
- return c;
- }
-}
-
void editor_move_cursor(struct editor_state* editor, int key)
{
struct editor_row* row = (editor->cursor_y >= editor->row_count) ? NULL : &editor->rows[editor->cursor_y];