patch 8.2.2524: cannot change the characters displayed in the foldcolumn
Problem: Cannot change the characters displayed in the foldcolumn.
Solution: Add fields to 'fillchars'. (Yegappan Lakshmanan, Matthieu Coudron,
closes #7860)
diff --git a/src/screen.c b/src/screen.c
index b6cc9bd..a012c70 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -272,9 +272,9 @@
{
if (win_foldinfo.fi_lnum == lnum
&& first_level + i >= win_foldinfo.fi_low_level)
- p[i] = '-';
+ p[i] = fill_foldopen;
else if (first_level == 1)
- p[i] = '|';
+ p[i] = fill_foldsep;
else if (first_level + i <= 9)
p[i] = '0' + first_level + i;
else
@@ -284,7 +284,7 @@
}
}
if (closed)
- p[i >= fdc ? i - 1 : i] = '+';
+ p[i >= fdc ? i - 1 : i] = fill_foldclosed;
}
#endif // FEAT_FOLDING
@@ -4761,12 +4761,15 @@
};
static struct charstab filltab[] =
{
- {&fill_stl, "stl"},
- {&fill_stlnc, "stlnc"},
- {&fill_vert, "vert"},
- {&fill_fold, "fold"},
- {&fill_diff, "diff"},
- {&fill_eob, "eob"},
+ {&fill_stl, "stl"},
+ {&fill_stlnc, "stlnc"},
+ {&fill_vert, "vert"},
+ {&fill_fold, "fold"},
+ {&fill_foldopen, "foldopen"},
+ {&fill_foldclosed, "foldclose"},
+ {&fill_foldsep, "foldsep"},
+ {&fill_diff, "diff"},
+ {&fill_eob, "eob"},
};
static lcs_chars_T lcs_chars;
struct charstab lcstab[] =
@@ -4821,6 +4824,9 @@
else
{
fill_diff = '-';
+ fill_foldopen = '-';
+ fill_foldclosed = '+';
+ fill_foldsep = '|';
fill_eob = '~';
}
}