about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-08-19 14:52:26 +0000
committerbors <bors@rust-lang.org>2022-08-19 14:52:26 +0000
commitc32ab970e30c096b02c8c16ead65535e9bd5a808 (patch)
treeee6f10609f974856e1063c69d2d4921e61e3c218
parent2f02ea03b0934095a142e904dd587e32bcf5f437 (diff)
parentc5455d1af3aee9fa73d10fd8e7043098472fe070 (diff)
downloadrust-c32ab970e30c096b02c8c16ead65535e9bd5a808.tar.gz
rust-c32ab970e30c096b02c8c16ead65535e9bd5a808.zip
Auto merge of #13065 - RalfJung:override-command-docs, r=Veykril
document interaction of checkOnSave.overrideCommand and multiple linked projects

Cc https://github.com/rust-lang/rust-analyzer/issues/10793

r? `@Veykril`
-rw-r--r--crates/rust-analyzer/src/config.rs7
-rw-r--r--docs/user/generated_config.adoc4
-rw-r--r--editors/code/package.json2
3 files changed, 11 insertions, 2 deletions
diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs
index e63cfb163ca..6649f42b4ef 100644
--- a/crates/rust-analyzer/src/config.rs
+++ b/crates/rust-analyzer/src/config.rs
@@ -45,7 +45,8 @@ mod patch_old_style;
 //  - foo_command = overrides the subcommand, foo_overrideCommand allows full overwriting, extra args only applies for foo_command
 
 // Defines the server-side configuration of the rust-analyzer. We generate
-// *parts* of VS Code's `package.json` config from this.
+// *parts* of VS Code's `package.json` config from this. Run `cargo test` to
+// re-generate that file.
 //
 // However, editor specific config, which the server doesn't know about, should
 // be specified directly in `package.json`.
@@ -120,6 +121,10 @@ config_data! {
         /// Cargo, you might also want to change
         /// `#rust-analyzer.cargo.buildScripts.overrideCommand#`.
         ///
+        /// If there are multiple linked projects, this command is invoked for
+        /// each of them, with the working directory being the project root
+        /// (i.e., the folder containing the `Cargo.toml`).
+        ///
         /// An example command would be:
         ///
         /// ```bash
diff --git a/docs/user/generated_config.adoc b/docs/user/generated_config.adoc
index e3dbeec1fbd..751ec79af0f 100644
--- a/docs/user/generated_config.adoc
+++ b/docs/user/generated_config.adoc
@@ -118,6 +118,10 @@ If you're changing this because you're using some tool wrapping
 Cargo, you might also want to change
 `#rust-analyzer.cargo.buildScripts.overrideCommand#`.
 
+If there are multiple linked projects, this command is invoked for
+each of them, with the working directory being the project root
+(i.e., the folder containing the `Cargo.toml`).
+
 An example command would be:
 
 ```bash
diff --git a/editors/code/package.json b/editors/code/package.json
index 2e38c057302..67eabc313c8 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -547,7 +547,7 @@
                     ]
                 },
                 "rust-analyzer.checkOnSave.overrideCommand": {
-                    "markdownDescription": "Override the command rust-analyzer uses instead of `cargo check` for\ndiagnostics on save. The command is required to output json and\nshould therefor include `--message-format=json` or a similar option.\n\nIf you're changing this because you're using some tool wrapping\nCargo, you might also want to change\n`#rust-analyzer.cargo.buildScripts.overrideCommand#`.\n\nAn example command would be:\n\n```bash\ncargo check --workspace --message-format=json --all-targets\n```\n.",
+                    "markdownDescription": "Override the command rust-analyzer uses instead of `cargo check` for\ndiagnostics on save. The command is required to output json and\nshould therefor include `--message-format=json` or a similar option.\n\nIf you're changing this because you're using some tool wrapping\nCargo, you might also want to change\n`#rust-analyzer.cargo.buildScripts.overrideCommand#`.\n\nIf there are multiple linked projects, this command is invoked for\neach of them, with the working directory being the project root\n(i.e., the folder containing the `Cargo.toml`).\n\nAn example command would be:\n\n```bash\ncargo check --workspace --message-format=json --all-targets\n```\n.",
                     "default": null,
                     "type": [
                         "null",