diff options
author | luukvbaal <luukvbaal@gmail.com> | 2025-01-24 00:42:24 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-24 07:42:24 +0800 |
commit | 8bc28978b632362ae658f8d4a6327e07a8b371b2 (patch) | |
tree | b6e9262ac3420f0d73f8ffde2b8f1a02d8ff7f18 | |
parent | 2cd72258f6be0ea20f0341be9bc0d306c4533535 (diff) | |
download | rneovim-8bc28978b632362ae658f8d4a6327e07a8b371b2.tar.gz rneovim-8bc28978b632362ae658f8d4a6327e07a8b371b2.tar.bz2 rneovim-8bc28978b632362ae658f8d4a6327e07a8b371b2.zip |
fix(column): apply custom highlight to last 'statuscolumn' segment (#32182)
-rw-r--r-- | src/nvim/drawline.c | 4 | ||||
-rw-r--r-- | 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() |