Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/workspace.rs')
-rw-r--r--crates/project-model/src/workspace.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/project-model/src/workspace.rs b/crates/project-model/src/workspace.rs
index 8c77da8f38..bfbdf03835 100644
--- a/crates/project-model/src/workspace.rs
+++ b/crates/project-model/src/workspace.rs
@@ -523,6 +523,14 @@ impl ProjectWorkspace {
}
}
+ pub fn workspace_root(&self) -> &AbsPath {
+ match &self.kind {
+ ProjectWorkspaceKind::Cargo { cargo, .. } => cargo.workspace_root(),
+ ProjectWorkspaceKind::Json(project) => project.project_root(),
+ ProjectWorkspaceKind::DetachedFile { file, .. } => file.parent(),
+ }
+ }
+
pub fn manifest(&self) -> Option<&ManifestPath> {
match &self.kind {
ProjectWorkspaceKind::Cargo { cargo, .. } => Some(cargo.manifest_path()),