This commit is contained in:
Benjamyn Love 2024-02-07 13:24:33 +11:00
parent 420a188baa
commit 5e21cccadc

21
kilo.c
View File

@ -21,6 +21,9 @@ enum editorKey
ARROW_RIGHT, ARROW_RIGHT,
ARROW_UP, ARROW_UP,
ARROW_DOWN, ARROW_DOWN,
DEL_KEY,
HOME_KEY,
END_KEY,
PAGE_UP, PAGE_UP,
PAGE_DOWN PAGE_DOWN
}; };
@ -101,10 +104,15 @@ int editorReadKey()
{ {
switch (seq[1]) switch (seq[1])
{ {
case '1': return HOME_KEY;
case '3': return DEL_KEY;
case '4': return END_KEY;
case '5': case '5':
return PAGE_UP; return PAGE_UP;
case '6': case '6':
return PAGE_DOWN; return PAGE_DOWN;
case '7': return HOME_KEY;
case '8': return END_KEY;
} }
} }
} }
@ -120,8 +128,15 @@ int editorReadKey()
return ARROW_RIGHT; return ARROW_RIGHT;
case 'D': case 'D':
return ARROW_LEFT; 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'; return '\x1b';
} }
@ -308,6 +323,12 @@ void editorProcessKeypress()
exit(0); exit(0);
break; break;
case HOME_KEY:
E.cx = 0;
break;
case END_KEY:
E.cx = E.screencols - 1;
break;
case PAGE_UP: case PAGE_UP:
case PAGE_DOWN: case PAGE_DOWN:
{ {