From 2ef45ab7457566a10354b7833cbdf5137118cebf Mon Sep 17 00:00:00 2001 From: Ivan Petkov Date: Tue, 9 Jan 2018 19:18:18 -0800 Subject: Teach ALE about cargo features and add some configuration options * When working on rust/cargo projects of varying sizes, it may be useful to either build all possible features (i.e. lint all possible conditionally compiled code), or even turn off other features for a quicker edit-lint cycle (e.g. for large projects with large build times) * Added a g:ale_rust_cargo_default_feature_behavior flag for instructing cargo to not build any features at all (via `--no-default-features`), building default features (via no extra flags), or building all possible features (via `--all-features`) * Also added a g:ale_rust_cargo_include_features flag for including arbitrary features to be checked by cargo. When coupled with g:ale_rust_cargo_default_feature_behavior this allows for full customization of what features are checked and which ones are ignored --- doc/ale-rust.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'doc') diff --git a/doc/ale-rust.txt b/doc/ale-rust.txt index 535f21d6..dad9ae66 100644 --- a/doc/ale-rust.txt +++ b/doc/ale-rust.txt @@ -59,6 +59,36 @@ g:ale_rust_cargo_check_all_targets *g:ale_rust_cargo_check_all_targets* is used. See |g:ale_rust_cargo_use_check|, +g:ale_rust_cargo_default_feature_behavior + *g:ale_rust_cargo_default_feature_behavior* + *b:ale_rust_cargo_default_feature_behavior* + Type: |String| + Default: `default` + + When set to `none`, ALE will set the `--no-default-features` option when + invoking `cargo`. Only the features specified in + |g:ale_rust_cargo_include_features| will be included when performing the + lint check. + + When set to `default`, ALE will instruct `cargo` to build all default + features specified in the project's `Cargo.toml` file, in addition to + including any additional features defined in + |g:ale_rust_cargo_include_features|. + + When set to `all`, ALE will set the `--all-features` option when + invoking `cargo`, which will include all features defined in the project's + `Cargo.toml` file when performing the lint check. + + +g:ale_rust_cargo_include_features *g:ale_rust_cargo_include_features* + *b:ale_rust_cargo_include_features* + Type: |String| + Default: `''` + + When defined, ALE will set the `--features` option when invoking `cargo` to + perform the lint check. See |g:ale_rust_cargo_default_feature_behavior|. + + =============================================================================== rls *ale-rust-rls* -- cgit v1.2.3