Properly compute depth and path for project panel entries (#19068)

Closes https://github.com/zed-industries/zed/issues/18939

This fixes incorrect width estimates and horizontal scrollbar glitches

Release Notes:

- Fixes horizontal scrollbar not scrolling enough for certain paths
([#18939](https://github.com/zed-industries/zed/issues/18939))

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
This commit is contained in:
Kirill Bulatov
2024-10-11 15:38:12 +03:00
committed by GitHub
parent 0a7468c89f
commit 79ed217e42

View File

@@ -1911,11 +1911,9 @@ impl ProjectPanel {
Some(Arc::<Path>::from(full_path.join(suffix)))
})
})
.or_else(|| entry.path.file_name().map(Path::new).map(Arc::from))
.unwrap_or_else(|| entry.path.clone());
let depth = path
.strip_prefix(worktree_abs_path)
.map(|suffix| suffix.components().count())
.unwrap_or_default();
let depth = path.components().count();
(depth, path)
};
let width_estimate = item_width_estimate(