Added 'Delete' key functionality
This commit is contained in:
15
editor.c
15
editor.c
@@ -61,13 +61,20 @@ void buffer_insert(char ch, Buffer* buffer) {
|
||||
}
|
||||
}
|
||||
|
||||
void buffer_delete(Buffer* buffer) {
|
||||
void buffer_delete_front(Buffer* buffer) {
|
||||
if (buffer->start != buffer->text) {
|
||||
buffer->start--;
|
||||
buffer->gap_size++;
|
||||
}
|
||||
}
|
||||
|
||||
void buffer_delete_back(Buffer* buffer) {
|
||||
if (buffer->end != buffer->text + buffer->size) {
|
||||
buffer->end++;
|
||||
buffer->gap_size++;
|
||||
}
|
||||
}
|
||||
|
||||
void buffer_right(Buffer* buffer) {
|
||||
if (buffer->end != buffer->text + buffer->size) {
|
||||
char c = *(buffer->end);
|
||||
@@ -248,7 +255,11 @@ int main(int argc, char** argv) {
|
||||
|
||||
switch(ch) {
|
||||
case KEY_BACKSPACE:
|
||||
buffer_delete(buffer);
|
||||
buffer_delete_front(buffer);
|
||||
break;
|
||||
|
||||
case KEY_DC:
|
||||
buffer_delete_back(buffer);
|
||||
break;
|
||||
|
||||
case KEY_LEFT:
|
||||
|
Reference in New Issue
Block a user