Add editor::BlameHover action for triggering the blame popover via keyboard (#32096)

Make the git blame popover available via the keymap by making it an
action. The blame popover stays open after being shown via the action,
similar to the `editor::Hover` action.

I added a default vim-mode key binding for `g b`, which goes in hand
with `g h` for hover. I'm not sure what the keybind would be for regular
layouts, if any would be set by default.

I'm opening this as a draft because I coludn't figure out a way to
position the popover correctly above/under the cursor head. I saw some
uses of `content_origin` in other places for calculating absolute pixel
positions, but I'm not sure how to make use of it here without doing a
big refactor of the blame popover code 🤔. I would appreciate some
help/tips with positioning, because it seems like the last thing to
implement here.

Opening as a draft for now because I think without the correct
positioning this feature is not complete.

Closes https://github.com/zed-industries/zed/discussions/26447

Release Notes:

- Added `editor::BlameHover` action for showing the git blame popover
under the cursor. By default bound to `ctrl-k ctrl-b` and to `g h` in
vim mode.
This commit is contained in:
Daste 2025-07-22 03:30:23 +02:00 committed by GitHub
parent 15353630e4
commit 233e66d35f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 52 additions and 6 deletions

View file

@ -322,6 +322,8 @@ actions!(
ApplyDiffHunk,
/// Deletes the character before the cursor.
Backspace,
/// Shows git blame information for the current line.
BlameHover,
/// Cancels the current operation.
Cancel,
/// Cancels the running flycheck operation.