Change summary
crates/gpui/src/elements/flex.rs | 4 ++++
crates/project/src/worktree.rs | 16 ++++++++++++++++
2 files changed, 20 insertions(+)
Detailed changes
@@ -66,6 +66,10 @@ impl<V: View> Flex<V> {
self
}
+ pub fn is_empty(&self) -> bool {
+ self.children.is_empty()
+ }
+
fn layout_flex_children(
&mut self,
layout_expanded: bool,
@@ -133,6 +133,10 @@ impl RepositoryEntry {
pub(crate) fn in_dot_git(&self, path: &Path) -> bool {
path.starts_with(self.git_dir_path.as_ref())
}
+
+ pub fn branch(&self) -> Option<Arc<str>> {
+ self.branch.clone()
+ }
}
/// This path corresponds to the 'content path' (the folder that contains the .git)
@@ -160,6 +164,12 @@ impl Deref for RepositoryWorkDirectory {
}
}
+impl<'a> From<&'a str> for RepositoryWorkDirectory {
+ fn from(value: &'a str) -> Self {
+ RepositoryWorkDirectory(Path::new(value).into())
+ }
+}
+
#[derive(Clone, Debug, Ord, PartialOrd, Eq, PartialEq)]
pub struct RepoPath(PathBuf);
@@ -1443,6 +1453,12 @@ impl Snapshot {
&self.root_name
}
+ pub fn root_git_entry(&self) -> Option<RepositoryEntry> {
+ self.repository_entries
+ .get(&"".into())
+ .map(|entry| entry.to_owned())
+ }
+
pub fn scan_id(&self) -> usize {
self.scan_id
}