mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 9.0.0131: virtual text with Tab is not displayed correctly
Problem: Virtual text with Tab is not displayed correctly. Solution: Change any Tab to a space.
This commit is contained in:
@@ -187,6 +187,8 @@ prop_add({lnum}, {col}, {props})
|
|||||||
in the text will move the cursor to the first character after
|
in the text will move the cursor to the first character after
|
||||||
the text, or the last character of the line.
|
the text, or the last character of the line.
|
||||||
A negative "id" will be chosen and is returned. Once a
|
A negative "id" will be chosen and is returned. Once a
|
||||||
|
Any Tab in the text will be changed to a space (Rationale:
|
||||||
|
otherwise the size of the text is difficult to compute).
|
||||||
property with "text" has been added for a buffer then using a
|
property with "text" has been added for a buffer then using a
|
||||||
negative "id" for any other property will give an error:
|
negative "id" for any other property will give an error:
|
||||||
*E1293*
|
*E1293*
|
||||||
|
@@ -2197,7 +2197,7 @@ func Test_prop_inserts_text()
|
|||||||
call prop_type_add('otherprop', #{highlight: 'Search'})
|
call prop_type_add('otherprop', #{highlight: 'Search'})
|
||||||
call prop_type_add('moreprop', #{highlight: 'DiffAdd'})
|
call prop_type_add('moreprop', #{highlight: 'DiffAdd'})
|
||||||
call prop_add(1, 18, #{type: 'someprop', text: 'SOME '})
|
call prop_add(1, 18, #{type: 'someprop', text: 'SOME '})
|
||||||
call prop_add(1, 38, #{type: 'otherprop', text: 'OTHER '})
|
call prop_add(1, 38, #{type: 'otherprop', text: "OTHER\t"})
|
||||||
call prop_add(1, 69, #{type: 'moreprop', text: 'MORE '})
|
call prop_add(1, 69, #{type: 'moreprop', text: 'MORE '})
|
||||||
redraw
|
redraw
|
||||||
normal $
|
normal $
|
||||||
@@ -2222,7 +2222,7 @@ func Test_props_with_text_after()
|
|||||||
call prop_type_add('afterprop', #{highlight: 'Search'})
|
call prop_type_add('afterprop', #{highlight: 'Search'})
|
||||||
call prop_type_add('belowprop', #{highlight: 'DiffAdd'})
|
call prop_type_add('belowprop', #{highlight: 'DiffAdd'})
|
||||||
call prop_add(1, 0, #{type: 'rightprop', text: ' RIGHT ', text_align: 'right'})
|
call prop_add(1, 0, #{type: 'rightprop', text: ' RIGHT ', text_align: 'right'})
|
||||||
call prop_add(1, 0, #{type: 'afterprop', text: ' AFTER ', text_align: 'after'})
|
call prop_add(1, 0, #{type: 'afterprop', text: "\tAFTER\t", text_align: 'after'})
|
||||||
call prop_add(1, 0, #{type: 'belowprop', text: ' BELOW ', text_align: 'below'})
|
call prop_add(1, 0, #{type: 'belowprop', text: ' BELOW ', text_align: 'below'})
|
||||||
|
|
||||||
call setline(2, 'Last line.')
|
call setline(2, 'Last line.')
|
||||||
|
@@ -227,6 +227,7 @@ prop_add_one(
|
|||||||
if (text != NULL)
|
if (text != NULL)
|
||||||
{
|
{
|
||||||
garray_T *gap = &buf->b_textprop_text;
|
garray_T *gap = &buf->b_textprop_text;
|
||||||
|
char_u *p;
|
||||||
|
|
||||||
// double check we got the right ID
|
// double check we got the right ID
|
||||||
if (-id - 1 != gap->ga_len)
|
if (-id - 1 != gap->ga_len)
|
||||||
@@ -236,6 +237,11 @@ prop_add_one(
|
|||||||
if (ga_grow(gap, 1) == FAIL)
|
if (ga_grow(gap, 1) == FAIL)
|
||||||
goto theend;
|
goto theend;
|
||||||
((char_u **)gap->ga_data)[gap->ga_len++] = text;
|
((char_u **)gap->ga_data)[gap->ga_len++] = text;
|
||||||
|
|
||||||
|
// change any Tab to a Space to make it simpler to compute the size
|
||||||
|
for (p = text; *p != NUL; MB_PTR_ADV(p))
|
||||||
|
if (*p == TAB)
|
||||||
|
*p = ' ';
|
||||||
text = NULL;
|
text = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -735,6 +735,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
131,
|
||||||
/**/
|
/**/
|
||||||
130,
|
130,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user