aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-09-04 07:05:20 +0200
committerJustin M. Keyes <justinkz@gmail.com>2018-09-04 07:05:20 +0200
commit90519107f2423f0ef71d2db821af32a3e33e23d6 (patch)
tree71caf1d34fac072c1c92480569a120eee7c0c612 /src
parent7ff63fcdc0ba1ce2b8500641f3742d5ada68d496 (diff)
parent2694fa759f72b9d923be5e2108110685a1583faf (diff)
downloadrneovim-90519107f2423f0ef71d2db821af32a3e33e23d6.tar.gz
rneovim-90519107f2423f0ef71d2db821af32a3e33e23d6.tar.bz2
rneovim-90519107f2423f0ef71d2db821af32a3e33e23d6.zip
Merge #8921 'highlight: Fix after-EOL matches at cursor'
Diffstat (limited to 'src')
-rw-r--r--src/nvim/screen.c21
-rw-r--r--src/nvim/testdir/test_hlsearch.vim14
2 files changed, 20 insertions, 15 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 91840026a5..884fef69d1 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -3912,23 +3912,16 @@ win_line (
}
}
- /*
- * At end of the text line.
- */
+ //
+ // At end of the text line.
+ //
if (c == NUL) {
- if (eol_hl_off > 0 && vcol - eol_hl_off == (long)wp->w_virtcol
- && lnum == wp->w_cursor.lnum) {
- /* highlight last char after line */
- --col;
- --off;
- --vcol;
- }
-
- /* Highlight 'cursorcolumn' & 'colorcolumn' past end of the line. */
- if (wp->w_p_wrap)
+ // Highlight 'cursorcolumn' & 'colorcolumn' past end of the line.
+ if (wp->w_p_wrap) {
v = wp->w_skipcol;
- else
+ } else {
v = wp->w_leftcol;
+ }
/* check if line ends before left margin */
if (vcol < v + col - win_col_off(wp))
diff --git a/src/nvim/testdir/test_hlsearch.vim b/src/nvim/testdir/test_hlsearch.vim
index 066fdd0250..1fc7b04f88 100644
--- a/src/nvim/testdir/test_hlsearch.vim
+++ b/src/nvim/testdir/test_hlsearch.vim
@@ -4,7 +4,6 @@ function! Test_hlsearch()
new
call setline(1, repeat(['aaa'], 10))
set hlsearch nolazyredraw
- let r=[]
" redraw is needed to make hlsearch highlight the matches
exe "normal! /aaa\<CR>" | redraw
let r1 = screenattr(1, 1)
@@ -32,3 +31,16 @@ function! Test_hlsearch()
call getchar(1)
enew!
endfunction
+
+func Test_hlsearch_eol_highlight()
+ new
+ call append(1, repeat([''], 9))
+ set hlsearch nolazyredraw
+ exe "normal! /$\<CR>" | redraw
+ let attr = screenattr(1, 1)
+ for row in range(2, 10)
+ call assert_equal(attr, screenattr(row, 1), 'in line ' . row)
+ endfor
+ set nohlsearch
+ bwipe!
+endfunc