diff options
author | bptato <nincsnevem662@gmail.com> | 2023-01-01 15:52:55 +0100 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2023-01-01 15:52:55 +0100 |
commit | 9a22a844c956d80f0d5c80330e898d52acadfd2f (patch) | |
tree | 2072e22fadbdff1e2fe3756adf19632260f2f1aa | |
parent | ea3331690928fd61fa9d0e7457ba017a4fffc363 (diff) | |
download | chawan-9a22a844c956d80f0d5c80330e898d52acadfd2f.tar.gz |
pager: fix bug with tab on screen shifting
-rw-r--r-- | src/display/pager.nim | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/display/pager.nim b/src/display/pager.nim index 057f9238..7e4be928 100644 --- a/src/display/pager.nim +++ b/src/display/pager.nim @@ -218,7 +218,8 @@ proc refreshDisplay(pager: Pager, container = pager.container) = while i < line.str.len: let pw = w fastRuneAt(line.str, i, r) - w += r.twidth(w) + let rw = r.twidth(w) + w += rw if w > container.fromx + pager.display.width: break # die on exceeding the width limit if nf.pos != -1 and nf.pos <= pw: @@ -228,7 +229,7 @@ proc refreshDisplay(pager: Pager, container = pager.container) = lan &= r if cf.pos != -1: pager.display[dls + k].format = cf.format - let tk = k + r.twidth(k) + let tk = k + rw while k < tk and k < pager.display.width - 1: inc k # Finally, override cell formatting for highlighted cells. |