CE gapbuffer_move only when necessary, remove unused vars
This commit is contained in:
@@ -272,16 +272,15 @@ void edit_start (const char* file_path, const char* text) {
|
|||||||
case KB_DELETE:
|
case KB_DELETE:
|
||||||
if (editor.mode == EDIT_MODE_NORMAL) {
|
if (editor.mode == EDIT_MODE_NORMAL) {
|
||||||
size_t len = gapbuffer_length (&editor.current_line->gb);
|
size_t len = gapbuffer_length (&editor.current_line->gb);
|
||||||
gapbuffer_move (&editor.current_line->gb, editor.cursor.col);
|
|
||||||
|
|
||||||
if (editor.cursor.col < len) {
|
if (editor.cursor.col < len) {
|
||||||
|
gapbuffer_move (&editor.current_line->gb, editor.cursor.col);
|
||||||
if (editor.current_line->gb.gap_end < editor.current_line->gb.size)
|
if (editor.current_line->gb.gap_end < editor.current_line->gb.size)
|
||||||
editor.current_line->gb.gap_end++;
|
editor.current_line->gb.gap_end++;
|
||||||
} else {
|
} else {
|
||||||
if (editor.cursor.line > 0) {
|
if (editor.cursor.line > 0) {
|
||||||
struct list_node_link* next = editor.current_line->lines_link.next;
|
struct list_node_link* next = editor.current_line->lines_link.next;
|
||||||
struct edit_line* next_line = list_entry (next, struct edit_line, lines_link);
|
struct edit_line* next_line = list_entry (next, struct edit_line, lines_link);
|
||||||
size_t next_len = gapbuffer_length (&next_line->gb);
|
|
||||||
|
|
||||||
gapbuffer_concat (&wrealloc, NULL, &editor.current_line->gb, &next_line->gb);
|
gapbuffer_concat (&wrealloc, NULL, &editor.current_line->gb, &next_line->gb);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user