From cff961a844962fcd61ee04bbe67777d442d0c76f Mon Sep 17 00:00:00 2001 From: WormHeamer Date: Fri, 2 Jan 2026 00:15:21 -0500 Subject: remove debug history view in draw_buf() --- main.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index ceae415..ac2c1f3 100644 --- a/main.c +++ b/main.c @@ -108,6 +108,7 @@ int ed_buf_open(Editor *e, const char *path) { txt_load_empty(b.txt); } b.cur = txt_end(b.txt); + txt_hist_push(b.txt, b.cur); e->buf[e->bufn] = b; return e->bufn++; } @@ -129,6 +130,7 @@ void ed_init(Editor *e) { e->bufi = ed_buf_open(e, NULL); Str s = S("(Scratch buffer, type whatever)"); e->buf[e->bufi].cur = txt_insert(e->buf[e->bufi].cur, s.s, s.n); + txt_hist_push(e->buf[e->bufi].txt, e->buf[e->bufi].cur); } void ed_fini(Editor *e) { @@ -1415,11 +1417,6 @@ void mode_key_normal(Editor *e, u32 c) { yank_range(e, eb->cur, end_of_line(eb->cur)); eb->cur = txt_delete_range(eb->cur, end_of_line(eb->cur)); break; - case 'C': - yank_range(e, eb->cur, end_of_line(eb->cur)); - eb->cur = txt_delete_range(eb->cur, end_of_line(eb->cur)); - e->mode = 1; - break; case 'S': { TxtLoc start = start_of_line(eb->cur); TxtLoc end = end_of_line(eb->cur); @@ -1445,6 +1442,11 @@ void mode_key_normal(Editor *e, u32 c) { } break; } + case 'C': + yank_range(e, eb->cur, end_of_line(eb->cur)); + eb->cur = txt_delete_range(eb->cur, end_of_line(eb->cur)); + e->mode = 1; + break; case 'x': yank_range(e, eb->cur, cnext(eb->cur)); eb->cur = txt_delete_c(cnext(eb->cur)); @@ -1554,10 +1556,23 @@ void mode_key_normal(Editor *e, u32 c) { if (s.n > 0) ed_buf_change_path(e, e->bufi, s); } break; + case 'u': + txt_hist_back(eb->txt, &eb->cur); + break; + + case 'U': + txt_hist_fwd(eb->txt, &eb->cur); + break; + default: motion(&eb->cur, c); break; } + + if (e->bufn > 0) { + eb = &e->buf[e->bufi]; + txt_hist_push(eb->txt, eb->cur); + } } void mode_key_insert(Editor *e, u32 c) { @@ -1567,6 +1582,7 @@ void mode_key_insert(Editor *e, u32 c) { if (txt_after(eb->cur, start_of_line(eb->cur))) { eb->cur = cprev(eb->cur); } + txt_hist_push(eb->txt, eb->cur); e->mode = 0; break; case KEY_BKSP: -- cgit v1.2.3