This repository has been archived on 2024-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
ale/doc/ale-rust.txt
2017-08-07 13:00:17 +01:00

74 lines
3.2 KiB
Text

===============================================================================
ALE Rust Integration *ale-rust-options*
*ale-integration-rust*
===============================================================================
Integration Information
Since Vim does not detect the rust file type out-of-the-box, you need the
runtime files for rust from here: https://github.com/rust-lang/rust.vim
Note that there are three possible linters for Rust files:
1. rustc -- The Rust compiler is used to check the currently edited file.
So, if your project consists of multiple files, you will get some errors
when you use e.g. a struct which is defined in another file. You can use
|g:ale_rust_ignore_error_codes| to ignore some of these errors.
2. cargo -- If your project is managed by Cargo, the whole project is
checked. That means that all errors are properly shown, but cargo can
only operate on the files written on disk, so errors will not be reported
while you type.
3. rls -- If you have `rls` installed, you might prefer using this linter
over cargo. rls implements the Language Server Protocol for incremental
compliation of Rust code, and can check Rust files while you type. `rls`
requires Rust files to contained in Cargo projects.
Only cargo is enabled by default. To switch to using rustc instead of cargo,
configure |g:ale_linters| appropriately: >
" See the help text for the option for more information.
let g:ale_linters = {'rust': ['rustc']}
<
Also note that rustc 1.12. or later is needed.
===============================================================================
cargo *ale-rust-cargo*
g:ale_rust_cargo_use_check *g:ale_rust_cargo_use_check*
*b:ale_rust_cargo_use_check*
Type: |Number|
Default: `0`
When set to `1`, this option will cause ALE to use "cargo check" instead of
"cargo build". "cargo check" is supported since version 1.16.0 of Rust.
===============================================================================
rls *ale-rust-rls*
g:ale_rust_rls_executable *g:ale_rust_rls_executable*
*b:ale_rust_rls_executable*
Type: |String|
Default: `'rls'`
This variable can be modified to change the executable path for `rls`.
===============================================================================
rustc *ale-rust-rustc*
g:ale_rust_ignore_error_codes *g:ale_rust_ignore_error_codes*
*b:ale_rust_ignore_error_codes*
Type: |List| of |String|s
Default: `[]`
This variable can contain error codes which will be ignored. For example, to
ignore most errors regarding failed imports, put this in your .vimrc
>
let g:ale_rust_ignore_error_codes = ['E0432', 'E0433']
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: