diff --git a/autoload/ale/handlers/rust.vim b/autoload/ale/handlers/rust.vim index 395b915c..537bc731 100644 --- a/autoload/ale/handlers/rust.vim +++ b/autoload/ale/handlers/rust.vim @@ -51,8 +51,8 @@ function! ale#handlers#rust#HandleRustErrors(buffer, lines) abort 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, + \ 'col': l:span.column_start, + \ 'end_col': l:span.column_end, \ 'text': empty(l:span.label) ? l:error.message : printf('%s: %s', l:error.message, l:span.label), \ 'type': toupper(l:error.level[0]), \}) diff --git a/test/handler/test_rust_handler.vader b/test/handler/test_rust_handler.vader index 05bd1e94..e3ab3e86 100644 --- a/test/handler/test_rust_handler.vader +++ b/test/handler/test_rust_handler.vader @@ -7,16 +7,16 @@ Execute(The Rust handler should handle rustc output): \ 'lnum': 15, \ 'end_lnum': 15, \ 'type': 'E', - \ 'col': 418, - \ 'end_col': 421, + \ 'col': 5, + \ 'end_col': 8, \ 'text': 'expected one of `.`, `;`, `?`, `}`, or an operator, found `for`', \ }, \ { \ 'lnum': 13, \ 'end_lnum': 13, \ 'type': 'E', - \ 'col': 407, - \ 'end_col': 410, + \ 'col': 7, + \ 'end_col': 10, \ 'text': 'no method named `wat` found for type `std::string::String` in the current scope', \ }, \ ], @@ -83,16 +83,16 @@ Execute(The Rust handler should handle cargo output): \ 'lnum': 15, \ 'end_lnum': 15, \ 'type': 'E', - \ 'col': 11505, - \ 'end_col': 11508, + \ 'col': 5, + \ 'end_col': 8, \ 'text': 'expected one of `.`, `;`, `?`, `}`, or an operator, found `for`', \ }, \ { \ 'lnum': 13, \ 'end_lnum': 13, \ 'type': 'E', - \ 'col': 11494, - \ 'end_col': 11497, + \ 'col': 7, + \ 'end_col': 10, \ 'text': 'no method named `wat` found for type `std::string::String` in the current scope', \ }, \ ], @@ -157,8 +157,8 @@ Execute(The Rust handler should should errors from expansion spans): \ 'lnum': 4, \ 'end_lnum': 4, \ 'type': 'E', - \ 'col': 52, - \ 'end_col': 54, + \ 'col': 21, + \ 'end_col': 23, \ 'text': 'mismatched types: expected bool, found integral variable', \ }, \ ], @@ -207,8 +207,8 @@ Execute(The Rust handler should show detailed errors): \ 'lnum': 4, \ 'end_lnum': 4, \ 'type': 'E', - \ 'col': 52, - \ 'end_col': 54, + \ 'col': 21, + \ 'end_col': 23, \ 'text': 'mismatched types: expected bool, found integral variable', \ }, \ ],