diff options
author | ilex <ilexhostmaster@gmail.com> | 2017-08-13 11:56:41 +0300 |
---|---|---|
committer | ilex <ilexhostmaster@gmail.com> | 2017-08-13 11:56:41 +0300 |
commit | bc548b2ef90a9a12871bba1b16e19a55b28cc48d (patch) | |
tree | eea29efaa9fa719d9a322c5e5b1395830ec36617 | |
parent | e6b614673144ed5d39a7a8d989b3904a45af1199 (diff) | |
download | ale-bc548b2ef90a9a12871bba1b16e19a55b28cc48d.zip |
Fix bug with ALEPrevious for blank lines.
ALEPrevious (as well as ALEPreviousWrap) does not work if there is an
error in empty line like 'W391: blank line at end of file' in python.
-rw-r--r-- | autoload/ale/loclist_jumping.vim | 2 | ||||
-rw-r--r-- | test/test_loclist_jumping.vader | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/autoload/ale/loclist_jumping.vim b/autoload/ale/loclist_jumping.vim index 8a6b0b24..07334b92 100644 --- a/autoload/ale/loclist_jumping.vim +++ b/autoload/ale/loclist_jumping.vim @@ -32,7 +32,7 @@ function! ale#loclist_jumping#FindNearest(direction, wrap) abort \ { \ 'bufnr': bufnr(''), \ 'lnum': l:item.lnum, - \ 'col': min([max([l:item.col, 1]), len(getline(l:item.lnum))]), + \ 'col': min([max([l:item.col, 1]), max([len(getline(l:item.lnum)), 1])]), \ }, \ l:search_item \) diff --git a/test/test_loclist_jumping.vader b/test/test_loclist_jumping.vader index 793190d1..da167677 100644 --- a/test/test_loclist_jumping.vader +++ b/test/test_loclist_jumping.vader @@ -32,6 +32,7 @@ After: Given foobar (Some imaginary filetype): 12345678 12345678 + Execute(loclist jumping should jump correctly when not wrapping): AssertEqual [2, 1], TestJump('before', 0, [2, 2]) @@ -74,3 +75,12 @@ Execute(We shouldn't move when jumping to the first item where there are none): let g:ale_buffer_info[bufnr('%')].loclist = [] AssertEqual [1, 6], TestJump(0, 0, [1, 6]) + +Execute(We should be able to jump when the error line is blank): + call add(g:ale_buffer_info[bufnr('%')].loclist, {'bufnr': bufnr(''), 'lnum': 3, 'col': 1}) + + AssertEqual 0, len(getline(3)) + AssertEqual [2, 8], TestJump('before', 0, [3, 1]) + AssertEqual [2, 8], TestJump('before', 1, [3, 1]) + AssertEqual [3, 1], TestJump('after', 0, [3, 1]) + AssertEqual [1, 2], TestJump('after', 1, [3, 1]) |