From 4a9e36481fc682d9e21bedef81e06a8335246de3 Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Thu, 20 Mar 2025 11:19:35 +0100 Subject: Update comment --- tui/widget/widget.ha | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tui/widget') diff --git a/tui/widget/widget.ha b/tui/widget/widget.ha index 6c7ec7b..05ade80 100644 --- a/tui/widget/widget.ha +++ b/tui/widget/widget.ha @@ -198,7 +198,7 @@ export fn print(w: *widget) void = { w.state.clear = false; }; -// Applies styling (style) to the given string. +// Applies styling (style) to the given string slice. fn applystyles(st: (*style | void), s: []str) []str = { return match (st) { case let st: *style => -- cgit v1.2.3 From 5d8a0a6ce5dbb12963323f97220767fcf7c08b5c Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Thu, 20 Mar 2025 11:24:13 +0100 Subject: Add initial wide-character support Adds support for the emoticon, hiragana, katakana and CJK unicode blocks. --- tui/widget/widget.ha | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tui/widget') diff --git a/tui/widget/widget.ha b/tui/widget/widget.ha index 05ade80..7c82dfa 100644 --- a/tui/widget/widget.ha +++ b/tui/widget/widget.ha @@ -234,11 +234,11 @@ fn truncate_to_size(w: *widget) []str = { const line = w.buf.lines[i]; let item = match (w.sz) { case let sz: tty::ttysize => - const s = if (len(line) > sz.columns) strings::sub(line, 0z, sz.columns) else line; + const s = if (tui::strwidth(line) > sz.columns) strings::sub(line, 0z, sz.columns) else line; yield strings::rpad(s, ' ', sz.columns); case void => const wsz = tty::winsize(w.state.out)!; - const s = if (len(line) > wsz.columns) strings::sub(line, 0z, wsz.columns) else line; + const s = if (tui::strwidth(line) > wsz.columns) strings::sub(line, 0z, wsz.columns) else line; yield strings::dup(s); }; append(lines, item); -- cgit v1.2.3