From 1e69599900a753e2d7275d7ba714202b7d9c843e Mon Sep 17 00:00:00 2001 From: Berke Güzel Date: Tue, 13 Oct 2026 14:46:44 +0300 Subject: Eliminate pen style and history stream parameter smuggling - Introduce struct text_pen bundling (fg, bg, sl) across screen and core - Reduce text_append from 9 to 7 parameters - Reduce text_commit from 8 to 6 parameters - Reduce hist_runs_add_pen from 5 to 3 parameters - Reduce sc_text_ascii and sc_ascii_fast from 6 to 4 parameters - Remove unused fg, bg parameters from mark_row_blank - Introduce struct hist_stream_state in src/hist.c, reducing stream_lines from 9 to 5 params and lf_rows from 10 to 6 params - Introduce struct hist_view_pos in src/hist_view.h, reducing term_hist_view_row_pos from 9 to 7 params --- src/hist_view.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/hist_view.h') diff --git a/src/hist_view.h b/src/hist_view.h index 0214c0b..d09b5d0 100644 --- a/src/hist_view.h +++ b/src/hist_view.h @@ -49,12 +49,18 @@ void term_hist_view_scroll_to(struct hist_view *v, const struct hist *h, int col struct line_pos screen_top, int offset); void term_hist_view_reset_bottom(struct hist_view *v); +struct hist_view_pos { + uint64_t id; + int seg; + int screen_y; +}; + /* Clamp an evicted anchor. This does not update the index on the write path. */ void term_hist_view_note_push(struct hist_view *v, const struct hist *h, int cols); void term_hist_view_rewrap(struct hist_view *v, const struct hist *h, int cols); bool term_hist_view_row_pos(const struct hist_view *v, const struct hist *h, int cols, int screen_rows, struct line_pos screen_top, int y, - uint64_t *out_id, int *out_seg, int *out_screen_y); + struct hist_view_pos *pos); #endif -- cgit v1.2.3