From be32741af2786e33530387a05e42d5c2c5d446e7 Mon Sep 17 00:00:00 2001 From: FantasyPvP <80643031+FantasyPvP@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:15:13 +0000 Subject: [PATCH] fixed an issue with line numbers not being added to new lines --- final/binary | Bin 21880 -> 21920 bytes final/editor.c | 16 ++++++++++++++-- final/editor.h | 1 + final/main.c | 2 ++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/final/binary b/final/binary index c5a21f5015b475820693e731b0d42853e8f92eb2..72a77337f1c1236f9790a8a4c27feec797d2856e 100755 GIT binary patch delta 3366 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 == self->lines) { + move(self->screen_line, 0); + char line_no[5]; + snprintf(line_no, 5, "%-5d", self->screen_line + 1); + // adding the line of text to the buffer + addstr(line_no); + addch(' '); + move(self->screen_line, self->screen_col + 5); + fprintf(stderr, "buffer full\n"); // reallocate self->buffer to be 1 larger self->lines++; @@ -90,6 +100,8 @@ void addchar(Editor* self, char c) { fprintf(stderr, "ok!"); } + insch(c); + // insert the character into the string at the given index str_insert(&self->buffer[self->screen_line], self->screen_col, c); move_cursor(self, 1, 0); } diff --git a/final/editor.h b/final/editor.h index 727bceb..fadee90 100644 --- a/final/editor.h +++ b/final/editor.h @@ -16,5 +16,6 @@ Editor editor_from(char* input_string); void move_cursor(Editor* self, int x, int y); void delchar(Editor* self); void addchar(Editor* self, char c); +void pressed_enter(Editor* self); String_t* to_string(Editor* self); diff --git a/final/main.c b/final/main.c index 9036838..2894162 100644 --- a/final/main.c +++ b/final/main.c @@ -41,6 +41,8 @@ int open_editor() { delchar(&editor); break; case KEY_ENTER: + //pressed_enter(&editor); + move_cursor(&editor, 1, 0); //TODO: next line break; case KEY_UP: