From 188c813547727d720595f577a108eed30baeff88 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Wed, 15 Jul 2026 19:51:33 -1000 Subject: Build the tree line gutter in one buffer The line-number gutter did one allocation and one write per line. --- source/ui-tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/ui-tree.c b/source/ui-tree.c index f820f1f..8bb71eb 100644 --- a/source/ui-tree.c +++ b/source/ui-tree.c @@ -41,12 +41,15 @@ static void print_text_buffer(const char *name, char *buf, unsigned long size) lineno = 0; if (size) { - htmlf(numberfmt, ++lineno); + struct strbuf sb = STRBUF_INIT; + strbuf_addf(&sb, numberfmt, ++lineno); while (idx < size - 1) { // skip absolute last newline if (buf[idx] == '\n') - htmlf(numberfmt, ++lineno); + strbuf_addf(&sb, numberfmt, ++lineno); idx++; } + html(sb.buf); + strbuf_release(&sb); } html("\n"); } -- cgit v2.8.0