git_ui: Branch picker improvements (#26287)

- Truncate branch names based on the width of the picker
- Use a footer for "Create branch" instead of a picker entry

Still to do:

- [x] Select the footer button when no matches and run the create logic
on `enter`
- [x] Make it possible to quickly select the footer button from the
keyboard when there are matches

Release Notes:

- Git Beta: Removed limitation that made it impossible to create a
branch from the branch picker when it too closely resembled an existing
branch name
This commit is contained in:
Cole Miller 2025-03-10 11:39:01 -04:00 committed by GitHub
parent ed52e759d7
commit 013a646799
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 184 additions and 120 deletions

View file

@ -325,8 +325,8 @@ impl PickerDelegate for TabSwitcherDelegate {
Arc::default()
}
fn no_matches_text(&self, _window: &mut Window, _cx: &mut App) -> SharedString {
"No tabs".into()
fn no_matches_text(&self, _window: &mut Window, _cx: &mut App) -> Option<SharedString> {
Some("No tabs".into())
}
fn match_count(&self) -> usize {