Unnamed repository; edit this file 'description' to name the repository.
Add rust-project.json + cargo check info to docs
Add information about how to configure compilation errors/checks when using rust-project.json.
| -rw-r--r-- | docs/user/manual.adoc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc index 8567b81b00..b74e498f64 100644 --- a/docs/user/manual.adoc +++ b/docs/user/manual.adoc @@ -616,6 +616,27 @@ See https://github.com/rust-analyzer/rust-project.json-example for a small examp You can set `RA_LOG` environmental variable to `rust_analyzer=info` to inspect how rust-analyzer handles config and project loading. +Note that calls to `cargo check` are disabled when using `rust-project.json` by default, so compilation errors and warnings will no longer be sent to your LSP client. To enable these compilation errors you will need to specify explicitly what command rust-analyzer should run to perform the checks using the `checkOnSave.overrideCommand` configuration. The following example, explicitly enables calls to `cargo check` in neovim's configuration: + +[source,vim] +---- +lua << EOF +nvim_lsp['rust_analyzer'].setup { + on_attach = on_attach, + settings = { + ["rust-analyzer"] = { + checkOnSave = { + overrideCommand = {"cargo", "check", "--message-format=json"}, + enable = true, + } + } + } +} +EOF +---- + +The `checkOnSave.overrideCommand` requires the command specified to output json error messages for rust-analyzer to consume. The `--message-format=json` flag does this for `cargo check` so whichever command you use must also output errors in this format. See the <<Configuration>> section for more information. + == Security At the moment, rust-analyzer assumes that all code is trusted. |