Mercurial > vim
diff src/textprop.c @ 30231:0d084880276a v9.0.0451
patch 9.0.0451: virtual text "above" does not work with 'nowrap'
Commit: https://github.com/vim/vim/commit/c9dc03fff5acf6fb91a923fb95006f9c2bca6141
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Sep 12 17:51:07 2022 +0100
patch 9.0.0451: virtual text "above" does not work with 'nowrap'
Problem: Virtual text "above" does not work with 'nowrap'.
Solution: Do wrap the line after. (closes https://github.com/vim/vim/issues/11084)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 12 Sep 2022 19:00:05 +0200 |
parents | ed6f3d2593df |
children | 8d660a45299f |
line wrap: on
line diff
--- a/src/textprop.c +++ b/src/textprop.c @@ -608,12 +608,12 @@ get_text_props(buf_T *buf, linenr_T lnum } /* - * Return the number of text properties with "below" alignment in line "lnum". - * A "right" aligned property also goes below after a "below" or other "right" - * aligned property. + * Return the number of text properties with "above" or "below" alignment in + * line "lnum". A "right" aligned property also goes below after a "below" or + * other "right" aligned property. */ int -prop_count_below(buf_T *buf, linenr_T lnum) +prop_count_above_below(buf_T *buf, linenr_T lnum) { char_u *props; int count = get_text_props(buf, lnum, &props, FALSE); @@ -636,6 +636,11 @@ prop_count_below(buf_T *buf, linenr_T ln next_right_goes_below = TRUE; ++result; } + else if (prop.tp_flags & TP_FLAG_ALIGN_ABOVE) + { + next_right_goes_below = FALSE; + ++result; + } else if (prop.tp_flags & TP_FLAG_ALIGN_RIGHT) next_right_goes_below = TRUE; }