patch 9.1.1284: not possible to configure pum truncation char
Problem: not possible to configure the completion menu truncation
character
Solution: add the "trunc" suboption to the 'fillchars' setting to
configure the truncation indicator (glepnir).
closes: #17006
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/screen.c b/src/screen.c
index b8a9c48..9a5927a 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -4712,7 +4712,8 @@
CHARSTAB_ENTRY(&fill_chars.foldsep, "foldsep"),
CHARSTAB_ENTRY(&fill_chars.diff, "diff"),
CHARSTAB_ENTRY(&fill_chars.eob, "eob"),
- CHARSTAB_ENTRY(&fill_chars.lastline, "lastline")
+ CHARSTAB_ENTRY(&fill_chars.lastline, "lastline"),
+ CHARSTAB_ENTRY(&fill_chars.trunc, "trunc"),
};
static lcs_chars_T lcs_chars;
static struct charstab lcstab[] =
@@ -4826,6 +4827,7 @@
fill_chars.diff = '-';
fill_chars.eob = '~';
fill_chars.lastline = '@';
+ fill_chars.trunc = '>';
}
}
p = value;
@@ -4837,6 +4839,7 @@
continue;
s = p + tab[i].name.length + 1;
+
if (is_listchars && STRCMP(tab[i].name.string, "multispace") == 0)
{
if (round == 0)
@@ -4858,7 +4861,6 @@
return field_value_err(errbuf, errbuflen,
e_wrong_number_of_characters_for_field_str,
tab[i].name.string);
- p = s;
}
else
{
@@ -4870,8 +4872,8 @@
if (p == last_multispace && lcs_chars.multispace != NULL)
lcs_chars.multispace[multispace_pos++] = c1;
}
- p = s;
}
+ p = s;
break;
}
@@ -4879,7 +4881,7 @@
{
if (round == 0)
{
- // get length of lcs-leadmultispace string in first
+ // Get length of lcs-leadmultispace string in first
// round
last_lmultispace = p;
lead_multispace_len = 0;
@@ -4897,7 +4899,6 @@
return field_value_err(errbuf, errbuflen,
e_wrong_number_of_characters_for_field_str,
tab[i].name.string);
- p = s;
}
else
{
@@ -4909,8 +4910,8 @@
if (p == last_lmultispace && lcs_chars.leadmultispace != NULL)
lcs_chars.leadmultispace[multispace_pos++] = c1;
}
- p = s;
}
+ p = s;
break;
}