summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/ale/loclist_jumping.vim2
-rw-r--r--test/test_loclist_jumping.vader17
2 files changed, 17 insertions, 2 deletions
diff --git a/autoload/ale/loclist_jumping.vim b/autoload/ale/loclist_jumping.vim
index 1d3ef7e5..55097d12 100644
--- a/autoload/ale/loclist_jumping.vim
+++ b/autoload/ale/loclist_jumping.vim
@@ -111,7 +111,7 @@ function! ale#loclist_jumping#Jump(direction, ...) abort
if !empty(l:nearest)
normal! m`
- call cursor(l:nearest)
+ call cursor([l:nearest[0], max([l:nearest[1], 1])])
endif
endfunction
diff --git a/test/test_loclist_jumping.vader b/test/test_loclist_jumping.vader
index 3b6f0688..8ec4e583 100644
--- a/test/test_loclist_jumping.vader
+++ b/test/test_loclist_jumping.vader
@@ -21,7 +21,7 @@ Before:
if type(a:position) == type(0)
call ale#loclist_jumping#JumpToIndex(a:position)
else
- call ale#loclist_jumping#Jump(a:position, a:wrap, a:filter,
+ call ale#loclist_jumping#Jump(a:position, a:wrap, a:filter,
\ a:subtype_filter)
endif
@@ -104,3 +104,18 @@ Execute(We should be able to jump when the error line is blank):
AssertEqual [2, 8], TestJump('before', 1, 'any', 'any', [3, 1])
AssertEqual [3, 1], TestJump('after', 0, 'any', 'any', [3, 1])
AssertEqual [1, 2], TestJump('after', 1, 'any', 'any', [3, 1])
+
+Execute(ALE should jump to column 1 instead of 0):
+ let g:ale_buffer_info = {
+ \ bufnr(''): {
+ \ 'loclist': [
+ \ {'type': 'E', 'bufnr': bufnr(''), 'lnum': 1, 'col': 5},
+ \ {'type': 'E', 'bufnr': bufnr(''), 'lnum': 2, 'col': 0},
+ \ ],
+ \ },
+ \}
+
+ AssertEqual [2, 1], TestJump('after', 1, 'any', 'any', [1, 5])
+ AssertEqual [1, 5], TestJump('after', 1, 'any', 'any', [2, 1])
+ AssertEqual [2, 1], TestJump('before', 1, 'any', 'any', [1, 5])
+ AssertEqual [1, 5], TestJump('before', 1, 'any', 'any', [2, 1])