From 8bc28978b632362ae658f8d4a6327e07a8b371b2 Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Fri, 24 Jan 2025 00:42:24 +0100 Subject: fix(column): apply custom highlight to last 'statuscolumn' segment (#32182) --- src/nvim/drawline.c | 4 ++-- test/functional/ui/statuscolumn_spec.lua | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index 5196d5c9f4..4a7bc9170a 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -654,8 +654,8 @@ static void draw_statuscol(win_T *wp, winlinevars_T *wlv, linenr_T lnum, int vir p = sp->start; } size_t translen = transstr_buf(p, buf + len - p, transbuf, MAXPATHL, true); - draw_col_buf(wp, wlv, transbuf, translen, num_attr, fold_vcol, false); - draw_col_fill(wlv, schar_from_ascii(' '), stcp->width - width, num_attr); + draw_col_buf(wp, wlv, transbuf, translen, cur_attr, fold_vcol, false); + draw_col_fill(wlv, schar_from_ascii(' '), stcp->width - width, cur_attr); } static void handle_breakindent(win_T *wp, winlinevars_T *wlv) diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua index 255eeb4754..328e212a22 100644 --- a/test/functional/ui/statuscolumn_spec.lua +++ b/test/functional/ui/statuscolumn_spec.lua @@ -227,6 +227,14 @@ describe('statuscolumn', function() {1: }{8:8│}aaaaa | | ]]) + -- Last segment and fillchar are highlighted properly + command("set stc=%#Error#%{v:relnum?'Foo':'FooBar'}") + screen:expect([[ + {9:Foo }aaaaa |*4 + {9:FooBar}^aaaaa | + {9:Foo }aaaaa |*8 + | + ]]) end) it('works with wrapped lines, signs and folds', function() -- cgit