Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #17818 - alibektas:hidden_rust_project_json, r=Veykril
Allow rust-project.json to be hidden Closes #17816
bors 2024-08-07
parent b231422 · parent 2426649 · commit ddcd66b
-rw-r--r--crates/project-model/src/lib.rs6
-rw-r--r--crates/rust-analyzer/tests/slow-tests/main.rs2
-rw-r--r--editors/code/package.json8
3 files changed, 14 insertions, 2 deletions
diff --git a/crates/project-model/src/lib.rs b/crates/project-model/src/lib.rs
index 6510ced66a..32280d5c76 100644
--- a/crates/project-model/src/lib.rs
+++ b/crates/project-model/src/lib.rs
@@ -68,6 +68,9 @@ impl ProjectManifest {
if path.file_name().unwrap_or_default() == "rust-project.json" {
return Ok(ProjectManifest::ProjectJson(path));
}
+ if path.file_name().unwrap_or_default() == ".rust-project.json" {
+ return Ok(ProjectManifest::ProjectJson(path));
+ }
if path.file_name().unwrap_or_default() == "Cargo.toml" {
return Ok(ProjectManifest::CargoToml(path));
}
@@ -94,6 +97,9 @@ impl ProjectManifest {
if let Some(project_json) = find_in_parent_dirs(path, "rust-project.json") {
return Ok(vec![ProjectManifest::ProjectJson(project_json)]);
}
+ if let Some(project_json) = find_in_parent_dirs(path, ".rust-project.json") {
+ return Ok(vec![ProjectManifest::ProjectJson(project_json)]);
+ }
return find_cargo_toml(path)
.map(|paths| paths.into_iter().map(ProjectManifest::CargoToml).collect());
diff --git a/crates/rust-analyzer/tests/slow-tests/main.rs b/crates/rust-analyzer/tests/slow-tests/main.rs
index 9d292c0411..54cd27f4b3 100644
--- a/crates/rust-analyzer/tests/slow-tests/main.rs
+++ b/crates/rust-analyzer/tests/slow-tests/main.rs
@@ -750,7 +750,7 @@ fn test_missing_module_code_action_in_json_project() {
let code = format!(
r#"
-//- /rust-project.json
+//- /.rust-project.json
{project}
//- /src/lib.rs
diff --git a/editors/code/package.json b/editors/code/package.json
index abb40ac35e..bf9c4a366d 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -71,7 +71,9 @@
"workspaceContains:Cargo.toml",
"workspaceContains:*/Cargo.toml",
"workspaceContains:rust-project.json",
- "workspaceContains:*/rust-project.json"
+ "workspaceContains:*/rust-project.json",
+ "workspaceContains:.rust-project.json",
+ "workspaceContains:*/.rust-project.json"
],
"main": "./out/main",
"contributes": {
@@ -3211,6 +3213,10 @@
{
"fileMatch": "rust-project.json",
"url": "https://json.schemastore.org/rust-project.json"
+ },
+ {
+ "fileMatch": ".rust-project.json",
+ "url": "https://json.schemastore.org/rust-project.json"
}
],
"walkthroughs": [