0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

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)
This commit is contained in:
Bram Moolenaar
2022-08-06 13:48:20 +01:00
parent 25f40af9d2
commit 4d91d347e6
7 changed files with 468 additions and 341 deletions

View File

@@ -594,6 +594,29 @@ get_text_props(buf_T *buf, linenr_T lnum, char_u **props, int will_change)
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