diff options
author | Jon Gjengset <jon@thesquareplanet.com> | 2017-05-31 08:17:04 -0400 |
---|---|---|
committer | w0rp <w0rp@users.noreply.github.com> | 2017-05-31 13:17:04 +0100 |
commit | 5eb80f03a2d0831a1fc3b06790f634d7f2b09658 (patch) | |
tree | 7278e43b1cf7c4d0a64f26c266796d24c0fad4c9 | |
parent | ab50b3a88a741ac86315ae3e716815c6725b159b (diff) | |
download | ale-5eb80f03a2d0831a1fc3b06790f634d7f2b09658.zip |
Include location list end column for rust lint (#602)
* Include location list end column for rust lint
Fixes #599.
* Include rust lint end_lnum for good measure
* Reverse engineer end_* for rust lint tests
-rw-r--r-- | autoload/ale/handlers/rust.vim | 8 | ||||
-rw-r--r-- | test/handler/test_rust_handler.vader | 8 |
2 files changed, 14 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]), \}) diff --git a/test/handler/test_rust_handler.vader b/test/handler/test_rust_handler.vader index b7c8f9c6..38228f38 100644 --- a/test/handler/test_rust_handler.vader +++ b/test/handler/test_rust_handler.vader @@ -3,14 +3,18 @@ Execute(The Rust handler should handle rustc output): \ [ \ { \ 'lnum': 15, + \ 'end_lnum': 15, \ 'type': 'E', \ 'col': 418, + \ 'end_col': 421, \ 'text': 'expected one of `.`, `;`, `?`, `}`, or an operator, found `for`', \ }, \ { \ 'lnum': 13, + \ 'end_lnum': 13, \ 'type': 'E', \ 'col': 407, + \ 'end_col': 410, \ 'text': 'no method named `wat` found for type `std::string::String` in the current scope', \ }, \ ], @@ -28,14 +32,18 @@ Execute(The Rust handler should handle cargo output): \ [ \ { \ 'lnum': 15, + \ 'end_lnum': 15, \ 'type': 'E', \ 'col': 11505, + \ 'end_col': 11508, \ 'text': 'expected one of `.`, `;`, `?`, `}`, or an operator, found `for`', \ }, \ { \ 'lnum': 13, + \ 'end_lnum': 13, \ 'type': 'E', \ 'col': 11494, + \ 'end_col': 11497, \ 'text': 'no method named `wat` found for type `std::string::String` in the current scope', \ }, \ ], |