Skip to content

Commit 76b5c92

Browse files
committed
#574 Do not restore items with no columns for highlights from hidden buffers
1 parent 9b6d634 commit 76b5c92

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

autoload/ale/highlight.vim

+5-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,11 @@ function! ale#highlight#BufferHidden(buffer) abort
109109
endif
110110
endfor
111111

112-
let s:buffer_restore_map[a:buffer] = l:loclist
112+
let s:buffer_restore_map[a:buffer] = filter(
113+
\ copy(l:loclist),
114+
\ 'v:val.bufnr == a:buffer && v:val.col > 0'
115+
\)
116+
113117
call clearmatches()
114118
endif
115119
endfunction

test/test_highlight_placement.vader

+2
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ Execute(Highlights set by ALE should be removed when buffer cleanup is done):
9696

9797
Execute(Highlights should be cleared when buffers are hidden):
9898
call ale#engine#InitBufferInfo(bufnr('%'))
99+
" The second item should be ignored, as it has no column infomration.
99100
let g:ale_buffer_info[bufnr('%')].loclist = [
100101
\ {'bufnr': bufnr('%'), 'type': 'E', 'lnum': 3, 'col': 2},
102+
\ {'bufnr': bufnr('%'), 'type': 'E', 'lnum': 4, 'col': 0},
101103
\]
102104
call ale#highlight#SetHighlights(
103105
\ bufnr('%'),

0 commit comments

Comments
 (0)