aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/rust-analyzer/src/handlers.rs35
1 files changed, 22 insertions, 13 deletions
diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs
index aa12fd94b..f48210424 100644
--- a/crates/rust-analyzer/src/handlers.rs
+++ b/crates/rust-analyzer/src/handlers.rs
@@ -661,19 +661,28 @@ pub(crate) fn handle_runnables(
661 } 661 }
662 } 662 }
663 None => { 663 None => {
664 res.push(lsp_ext::Runnable { 664 if !snap.config.linked_projects().is_empty()
665 label: "cargo check --workspace".to_string(), 665 || !snap
666 location: None, 666 .config
667 kind: lsp_ext::RunnableKind::Cargo, 667 .discovered_projects
668 args: lsp_ext::CargoRunnable { 668 .as_ref()
669 workspace_root: None, 669 .map(|projects| projects.is_empty())
670 override_cargo: config.override_cargo, 670 .unwrap_or(true)
671 cargo_args: vec!["check".to_string(), "--workspace".to_string()], 671 {
672 cargo_extra_args: config.cargo_extra_args, 672 res.push(lsp_ext::Runnable {
673 executable_args: Vec::new(), 673 label: "cargo check --workspace".to_string(),
674 expect_test: None, 674 location: None,
675 }, 675 kind: lsp_ext::RunnableKind::Cargo,
676 }); 676 args: lsp_ext::CargoRunnable {
677 workspace_root: None,
678 override_cargo: config.override_cargo,
679 cargo_args: vec!["check".to_string(), "--workspace".to_string()],
680 cargo_extra_args: config.cargo_extra_args,
681 executable_args: Vec::new(),
682 expect_test: None,
683 },
684 });
685 }
677 } 686 }
678 } 687 }
679 Ok(res) 688 Ok(res)