summaryrefslogtreecommitdiff
path: root/autoload
diff options
context:
space:
mode:
Diffstat (limited to 'autoload')
-rw-r--r--autoload/ale/handlers/rust.vim8
1 files changed, 6 insertions, 2 deletions
diff --git a/autoload/ale/handlers/rust.vim b/autoload/ale/handlers/rust.vim
index 1f5296a1..5781e619 100644
--- a/autoload/ale/handlers/rust.vim
+++ b/autoload/ale/handlers/rust.vim
@@ -10,7 +10,7 @@ endif
" returns: a list [lnum, col] with the location of the error or []
function! s:FindErrorInExpansion(span, file_name) abort
if a:span.file_name ==# a:file_name
- return [a:span.line_start, a:span.byte_start]
+ return [a:span.line_start, a:span.line_end, a:span.byte_start, a:span.byte_end]
endif
if !empty(a:span.expansion)
@@ -52,7 +52,9 @@ function! ale#handlers#rust#HandleRustErrorsForFile(buffer, full_filename, lines
\)
call add(l:output, {
\ 'lnum': l:span.line_start,
+ \ 'end_lnum': l:span.line_end,
\ 'col': l:span.byte_start,
+ \ 'end_col': l:span.byte_end,
\ 'text': l:error.message,
\ 'type': toupper(l:error.level[0]),
\})
@@ -64,7 +66,9 @@ function! ale#handlers#rust#HandleRustErrorsForFile(buffer, full_filename, lines
if !empty(l:root_cause)
call add(l:output, {
\ 'lnum': l:root_cause[0],
- \ 'col': l:root_cause[1],
+ \ 'end_lnum': l:root_cause[1],
+ \ 'col': l:root_cause[2],
+ \ 'end_col': l:root_cause[3],
\ 'text': l:error.message,
\ 'type': toupper(l:error.level[0]),
\})