HOME and END keys

This commit is contained in:
Saumya Bhatnagar 2018-05-28 12:51:22 +05:30
parent ec94419580
commit f7ab9d25bc
2 changed files with 21 additions and 1 deletions

BIN
editor

Binary file not shown.

View File

@ -20,7 +20,9 @@ enum editorKey {
ARROW_UP,
ARROW_DOWN,
PAGE_UP,
PAGE_DOWN
PAGE_DOWN,
HOME_KEY,
END_KEY
};
/*** data ***/
@ -115,6 +117,10 @@ int editorReadKey() {
switch (seq[1]) {
case '5': return PAGE_UP;
case '6': return PAGE_DOWN;
case '1': return HOME_KEY;
case '7': return HOME_KEY;
case '4': return END_KEY;
case '8': return END_KEY;
}
}
} else {
@ -123,8 +129,15 @@ int editorReadKey() {
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';
@ -264,6 +277,13 @@ void editorProcessKey() {
editorMoveCursor(c == PAGE_UP ? ARROW_UP : ARROW_DOWN);
}
}
break;
case HOME_KEY:
E.cursorX = 0;
break;
case END_KEY:
E.cursorX = E.screencols - 1;
break;
}
}