Mercurial > vim
diff src/textprop.c @ 29621:f1ed6f520d09 v9.0.0151
patch 9.0.0151: a "below" aligned text property does not work with 'nowrap'
Commit: https://github.com/vim/vim/commit/4d91d347e65a5621621ea1e3c97dce2c677ed71d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 6 13:48:20 2022 +0100
patch 9.0.0151: a "below" aligned text property does not work with 'nowrap'
Problem: A "below" aligned text property does not work with 'nowrap'.
Solution: Start a new screen line to display the virtual text.
(closes #10851)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 Aug 2022 15:00:03 +0200 |
parents | e1c370197030 |
children | dd96f3d8ed85 |
line wrap: on
line diff
--- a/src/textprop.c +++ b/src/textprop.c @@ -594,6 +594,29 @@ get_text_props(buf_T *buf, linenr_T lnum return (int)(proplen / sizeof(textprop_T)); } +/* + * Return the number of text properties with "below" alignment in line "lnum". + */ + int +prop_count_below(buf_T *buf, linenr_T lnum) +{ + char_u *props; + int count = get_text_props(buf, lnum, &props, FALSE); + int result = 0; + textprop_T prop; + int i; + + if (count == 0) + return 0; + for (i = 0; i < count; ++i) + { + mch_memmove(&prop, props + i * sizeof(prop), sizeof(prop)); + if (prop.tp_col == MAXCOL && (prop.tp_flags & TP_FLAG_ALIGN_BELOW)) + ++result; + } + return result; +} + /** * Return the number of text properties on line "lnum" in the current buffer. * When "only_starting" is true only text properties starting in this line will