Ale: Rust RLS linter not showing errors on Windows

Created on 19 Nov 2017  路  4Comments  路  Source: dense-analysis/ale


Here is my _vimrc:

set encoding=utf-8

call plug#begin()

Plug 'rust-lang/rust.vim'
Plug 'valloric/youcompleteme'
Plug 'w0rp/ale'
"Plug 'vim-syntastic/syntastic'

call plug#end()

let g:ale_linters = {'rust': ['rls']}

ALEInfo:

 Current Filetype: rust
Available Linters: ['cargo', 'rls', 'rustc']
  Enabled Linters: ['rls']
 Linter Variables:

let g:ale_rust_rls_executable = 'rls'
 Global Variables:

let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 0
let g:ale_fixers = {}
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {'rust': ['rls']}
let g:ale_open_list = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(started) 'cmd /c rls +nightly'

The same configuration works well on Linux, not on Windows.
My vim version is 8.0.1305.

No errors are shown to the left:
capture

Here, the 1st line should have a warning and the 4th line should have an error.

RLS is working fine with Visual Studio Code.

bug

All 4 comments

Would you be willing to capture the full output of everything that is being sent and received between the client and the server? You can use :call ch_logfile('some_filename') to log all of the messages, open the first Rust file after that and hit the same issue again, and then close Vim. It might be possible to figure out what's going on from that.

Here you go:
ale.log

Okay, it looks like the messages are being sent back and forth okay. My hunch then was that something was wrong with how ALE was figuring out which buffer the diagnostics were for, and I found a problem with how Windows path URIs are handled and added a test for that. Pull the latest code and try again.

That did it!
image

Thank you very much.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

janhellmich picture janhellmich  路  3Comments

alexlafroscia picture alexlafroscia  路  4Comments

amerov picture amerov  路  4Comments

garand picture garand  路  4Comments

ilyakopy picture ilyakopy  路  4Comments