mirror of https://github.com/dense-analysis/ale
88 lines
3.8 KiB
Plaintext
88 lines
3.8 KiB
Plaintext
===============================================================================
|
|
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
|
|
compilation of Rust code, and can check Rust files while you type. `rls`
|
|
requires Rust files to contained in Cargo projects.
|
|
4. rustfmt -- If you have `rustfmt` installed, you can use it as a fixer to
|
|
consistently reformat your Rust code.
|
|
|
|
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']
|
|
|
|
|
|
===============================================================================
|
|
rustfmt *ale-rust-rustfmt*
|
|
|
|
g:ale_rust_rustfmt_options *g:ale_rust_rustfmt_options*
|
|
*b:ale_rust_rustfmt_options*
|
|
Type: |String|
|
|
Default: `''`
|
|
|
|
This variable can be set to pass additional options to the rustfmt fixer.
|
|
|
|
|
|
===============================================================================
|
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|