diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-08-22 22:07:34 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2023-08-22 22:07:34 +0200 |
commit | b557f4898208105b674df605403cac1b1292707b (patch) | |
tree | 1f488959630dfabef4d8fe87928aeb462b455d32 /src/edit.c | |
parent | 171c5b9b0332493faa6caadd8c0d5cf52392d913 (diff) |
patch 9.0.1783: Display issues with virt text smoothscroll and showbreakv9.0.1783
Problem: Wrong display with wrapping virtual text or unprintable chars,
'showbreak' and 'smoothscroll'.
Solution: Don't skip cells taken by 'showbreak' in screen lines before
"w_skipcol". Combined "n_skip" and "skip_cells".
closes: #12597
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Diffstat (limited to 'src/edit.c')
-rw-r--r-- | src/edit.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c index d1b70160f5..0c902f895f 100644 --- a/src/edit.c +++ b/src/edit.c @@ -3705,8 +3705,13 @@ ins_esc( State = MODE_NORMAL; may_trigger_modechanged(); - // need to position cursor again when on a TAB - if (gchar_cursor() == TAB) + // need to position cursor again when on a TAB and when on a char with + // virtual text. + if (gchar_cursor() == TAB +#ifdef FEAT_PROP_POPUP + || curbuf->b_has_textprop +#endif + ) curwin->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL); setmouse(); |