Skip to content

Commit aae1e97

Browse files
author
Dorian Peake
authored
Add rust-project.json + cargo check info to docs
Add information about how to configure compilation errors/checks when using rust-project.json.
1 parent c16e647 commit aae1e97

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/user/manual.adoc

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,6 +616,27 @@ See https://github.com/rust-analyzer/rust-project.json-example for a small examp
616616

617617
You can set `RA_LOG` environmental variable to `rust_analyzer=info` to inspect how rust-analyzer handles config and project loading.
618618

619+
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:
620+
621+
[source,vim]
622+
----
623+
lua << EOF
624+
nvim_lsp['rust_analyzer'].setup {
625+
on_attach = on_attach,
626+
settings = {
627+
["rust-analyzer"] = {
628+
checkOnSave = {
629+
overrideCommand = {"cargo", "check", "--message-format=json"},
630+
enable = true,
631+
}
632+
}
633+
}
634+
}
635+
EOF
636+
----
637+
638+
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.
639+
619640
== Security
620641

621642
At the moment, rust-analyzer assumes that all code is trusted.

0 commit comments

Comments
 (0)