summaryrefslogtreecommitdiff
path: root/tui/widget/widget.ha
diff options
context:
space:
mode:
authorJulian Hurst <julian.hurst@digdash.com>2025-03-20 11:24:13 +0100
committerJulian Hurst <julian.hurst@digdash.com>2025-03-20 11:24:15 +0100
commit5d8a0a6ce5dbb12963323f97220767fcf7c08b5c (patch)
tree897a559601beb04a6f9f406492b7650882ae75f7 /tui/widget/widget.ha
parent4a9e36481fc682d9e21bedef81e06a8335246de3 (diff)
downloadhare-tui-5d8a0a6ce5dbb12963323f97220767fcf7c08b5c.tar.gz
Add initial wide-character support
Adds support for the emoticon, hiragana, katakana and CJK unicode blocks.
Diffstat (limited to 'tui/widget/widget.ha')
-rw-r--r--tui/widget/widget.ha4
1 files changed, 2 insertions, 2 deletions
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);