mirror of https://github.com/dense-analysis/ale
Fix end line number when it exceeds the file (#4130)
If the end of the error exceeds the file, set it to the last line, similarly as it is done with the beginning of the error.
This commit is contained in:
parent
7e2342ab52
commit
f0fa137721
|
@ -347,6 +347,12 @@ function! ale#engine#FixLocList(buffer, linter_name, from_other_source, loclist)
|
|||
|
||||
if has_key(l:old_item, 'end_lnum')
|
||||
let l:item.end_lnum = str2nr(l:old_item.end_lnum)
|
||||
|
||||
" When the error ends after the end of the file, put it at the
|
||||
" end. This is only done for the current buffer.
|
||||
if l:item.bufnr == a:buffer && l:item.end_lnum > l:last_line_number
|
||||
let l:item.end_lnum = l:last_line_number
|
||||
endif
|
||||
endif
|
||||
|
||||
if has_key(l:old_item, 'sub_type')
|
||||
|
|
|
@ -124,6 +124,7 @@ Execute(FixLocList should set items with lines beyond the end to the last line):
|
|||
\ 'text': 'a',
|
||||
\ 'lnum': 10,
|
||||
\ 'col': 0,
|
||||
\ 'end_lnum': 10,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
\ 'type': 'E',
|
||||
|
@ -135,7 +136,7 @@ Execute(FixLocList should set items with lines beyond the end to the last line):
|
|||
\ bufnr('%'),
|
||||
\ 'foobar',
|
||||
\ 0,
|
||||
\ [{'text': 'a', 'lnum': 11}],
|
||||
\ [{'text': 'a', 'lnum': 11, 'end_lnum': 12}],
|
||||
\ )
|
||||
|
||||
Execute(FixLocList should move line 0 to line 1):
|
||||
|
@ -223,9 +224,9 @@ Execute(FixLocList should pass on end_lnum values):
|
|||
\ [
|
||||
\ {
|
||||
\ 'text': 'a',
|
||||
\ 'lnum': 10,
|
||||
\ 'lnum': 7,
|
||||
\ 'col': 10,
|
||||
\ 'end_lnum': 13,
|
||||
\ 'end_lnum': 10,
|
||||
\ 'end_col': 12,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
|
@ -235,9 +236,9 @@ Execute(FixLocList should pass on end_lnum values):
|
|||
\ },
|
||||
\ {
|
||||
\ 'text': 'a',
|
||||
\ 'lnum': 10,
|
||||
\ 'lnum': 7,
|
||||
\ 'col': 11,
|
||||
\ 'end_lnum': 13,
|
||||
\ 'end_lnum': 10,
|
||||
\ 'end_col': 12,
|
||||
\ 'bufnr': bufnr('%'),
|
||||
\ 'vcol': 0,
|
||||
|
@ -251,8 +252,8 @@ Execute(FixLocList should pass on end_lnum values):
|
|||
\ 'foobar',
|
||||
\ 0,
|
||||
\ [
|
||||
\ {'text': 'a', 'lnum': '010', 'col': '010', 'end_col': '012', 'end_lnum': '013'},
|
||||
\ {'text': 'a', 'lnum': '010', 'col': '011', 'end_col': 12, 'end_lnum': 13},
|
||||
\ {'text': 'a', 'lnum': '07', 'col': '010', 'end_col': '012', 'end_lnum': '010'},
|
||||
\ {'text': 'a', 'lnum': '07', 'col': '011', 'end_col': 12, 'end_lnum': 10},
|
||||
\ ],
|
||||
\ )
|
||||
|
||||
|
|
Loading…
Reference in New Issue