Add rust-project.json + cargo check info to docs

Add information about how to configure compilation errors/checks when using rust-project.json.
This commit is contained in:
Dorian Peake 2021-09-05 16:32:05 +01:00 committed by GitHub
parent c16e6474f9
commit aae1e97590
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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.