Unnamed repository; edit this file 'description' to name the repository.
Use crate root to choose relevant workspace for flycheck
Wilfred Hughes 2024-03-28
parent 4b33850 · commit 5e370b1
-rw-r--r--crates/project-model/src/project_json.rs2
-rw-r--r--crates/rust-analyzer/src/handlers/notification.rs7
2 files changed, 4 insertions, 5 deletions
diff --git a/crates/project-model/src/project_json.rs b/crates/project-model/src/project_json.rs
index 512588cc8f..54674a6f0f 100644
--- a/crates/project-model/src/project_json.rs
+++ b/crates/project-model/src/project_json.rs
@@ -74,7 +74,7 @@ pub struct ProjectJson {
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Crate {
pub(crate) display_name: Option<CrateDisplayName>,
- pub(crate) root_module: AbsPathBuf,
+ pub root_module: AbsPathBuf,
pub(crate) edition: Edition,
pub(crate) version: Option<String>,
pub(crate) deps: Vec<Dependency>,
diff --git a/crates/rust-analyzer/src/handlers/notification.rs b/crates/rust-analyzer/src/handlers/notification.rs
index b5c4a4f435..3b23257818 100644
--- a/crates/rust-analyzer/src/handlers/notification.rs
+++ b/crates/rust-analyzer/src/handlers/notification.rs
@@ -296,10 +296,9 @@ fn run_flycheck(state: &mut GlobalState, vfs_path: VfsPath) -> bool {
})
}
project_model::ProjectWorkspace::Json { project, .. } => {
- if !project
- .crates()
- .any(|(c, _)| crate_ids.iter().any(|&crate_id| crate_id == c))
- {
+ if !project.crates().any(|(_, krate)| {
+ crate_root_paths.contains(&krate.root_module.as_path())
+ }) {
return None;
}
None