diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-09-22 12:14:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-22 12:14:07 +0200 |
commit | bb90e41ee2786561033f89f2fd7bb885492bb11b (patch) | |
tree | d329a8ccac1f03599463fc6dfcc6f8f4fca6b147 /src | |
parent | 028d76e5d58f1545f29b76c39e18c5b5da0c16e3 (diff) | |
parent | f316916758c487054138762d66a966430e38e612 (diff) | |
download | rneovim-bb90e41ee2786561033f89f2fd7bb885492bb11b.tar.gz rneovim-bb90e41ee2786561033f89f2fd7bb885492bb11b.tar.bz2 rneovim-bb90e41ee2786561033f89f2fd7bb885492bb11b.zip |
Merge pull request #11049 from bfredl/rulermsg
screen: missing redraw/highlight for ruler in message area
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/screen.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c index a866901b78..17a91f69d5 100644 --- a/src/nvim/screen.c +++ b/src/nvim/screen.c @@ -5101,6 +5101,8 @@ win_redr_custom ( win_T *ewp; int p_crb_save; + ScreenGrid *grid = &default_grid; + /* There is a tiny chance that this gets called recursively: When * redrawing a status line triggers redrawing the ruler or tabline. * Avoid trouble by not allowing recursion. */ @@ -5140,10 +5142,11 @@ win_redr_custom ( } maxwidth = wp->w_width - col; if (!wp->w_status_height) { + grid = &msg_grid_adj; row = Rows - 1; maxwidth--; // writing in last column may cause scrolling fillchar = ' '; - attr = 0; + attr = HL_ATTR(HLF_MSG); } use_sandbox = was_set_insecurely((char_u *)"rulerformat", 0); @@ -5193,13 +5196,13 @@ win_redr_custom ( /* * Draw each snippet with the specified highlighting. */ - grid_puts_line_start(&default_grid, row); + grid_puts_line_start(grid, row); curattr = attr; p = buf; for (n = 0; hltab[n].start != NULL; n++) { int textlen = (int)(hltab[n].start - p); - grid_puts_len(&default_grid, p, textlen, row, col, curattr); + grid_puts_len(grid, p, textlen, row, col, curattr); col += vim_strnsize(p, textlen); p = hltab[n].start; @@ -5213,7 +5216,7 @@ win_redr_custom ( curattr = highlight_user[hltab[n].userhl - 1]; } // Make sure to use an empty string instead of p, if p is beyond buf + len. - grid_puts(&default_grid, p >= buf + len ? (char_u *)"" : p, row, col, + grid_puts(grid, p >= buf + len ? (char_u *)"" : p, row, col, curattr); grid_puts_line_flush(false); @@ -7058,7 +7061,7 @@ static void win_redr_ruler(win_T *wp, int always) } else { row = Rows - 1; fillchar = ' '; - attr = 0; + attr = HL_ATTR(HLF_MSG); width = Columns; off = 0; } |