From f011b41ef1ffcfe94d564dcb7e9fd00320e764ce Mon Sep 17 00:00:00 2001 From: manga_osyo Date: Thu, 9 Apr 2015 15:19:53 +0900 Subject: [PATCH] Improve cursorline no highlight. Ref #4. --- autoload/brightest.vim | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/autoload/brightest.vim b/autoload/brightest.vim index 0e1c8c2..c026ae8 100644 --- a/autoload/brightest.vim +++ b/autoload/brightest.vim @@ -52,9 +52,10 @@ endfunction function! brightest#hl_clear() - call s:Highlight.clear("cursor_word") - call s:Highlight.clear("cursor_line") - call s:Highlight.clear("current_word") + call s:Highlight.clear_all() +" call s:Highlight.clear("cursor_word") +" call s:Highlight.clear("cursor_line") +" call s:Highlight.clear("current_word") endfunction @@ -91,10 +92,19 @@ function! s:single_word(pattern, highlight, cursorline) if &cursorline && a:cursorline.group ==# "BrightestCursorLineBg" call brightest#define_cursorline_highlight_group(a:highlight.group) endif - call s:highlight("cursor_word", pattern, a:highlight) " nocursorline の場合、BrightestCursorLineBg でハイライトしない - if !(a:cursorline.group ==# "BrightestCursorLineBg" && &cursorline == 0) + let is_highlight_cursorline +\ = !(a:cursorline.group ==# "BrightestCursorLineBg" && &cursorline == 0 || a:cursorline.group == "") + + if is_highlight_cursorline + call s:highlight("cursor_line_over", '\%<' . line('.') . 'l' . pattern, a:highlight) + call s:highlight("cursor_line_down", '\%>' . line('.') . 'l' . pattern, a:highlight) + else + call s:highlight("cursor_word", pattern, a:highlight) + endif + + if is_highlight_cursorline call s:highlight("cursor_line", '\%' . line('.') . 'l' . pattern, a:cursorline) endif endfunction