ZIm/crates/project/src
Thorsten Ball faebce8cd0
Inline git blame (#10398)
This adds so-called "inline git blame" to the editor that, when turned
on, shows `git blame` information about the current line inline:


![screenshot-2024-04-15-11 29
35@2x](https://github.com/zed-industries/zed/assets/1185253/21cef7be-3283-4556-a9f0-cc349c4e1d75)


When the inline information is hovered, a new tooltip appears that
contains more information on the current commit:


![screenshot-2024-04-15-11 28
24@2x](https://github.com/zed-industries/zed/assets/1185253/ee128460-f6a2-48c2-a70d-e03ff90a737f)

The commit message in this tooltip is rendered as Markdown, is
scrollable and clickable.

The tooltip is now also the tooltip used in the gutter:

![screenshot-2024-04-15-11 28
51@2x](https://github.com/zed-industries/zed/assets/1185253/42be3d63-91d0-4936-8183-570e024beabe)


## Settings

1. The inline git blame information can be turned on and off via
settings:
```json
{
  "git": {
    "inline_blame": {
      "enabled": true
    }
  }
}
```
2. Optionally, a delay can be configured. When a delay is set, the
inline blame information will only show up `x milliseconds` after a
cursor movement:
```json
{
  "git": {
    "inline_blame": {
      "enabled": true,
      "delay_ms": 600
    }
  }
}
```
3. It can also be turned on/off for the current buffer with `editor:
toggle git blame inline`.

## To be done in follow-up PRs

- [ ] Add link to pull request in tooltip
- [ ] Add avatars of users if possible

## Release notes

Release Notes:

- Added inline `git blame` information the editor. It can be turned on
in the settings with `{"git": { "inline_blame": "on" } }` for every
buffer or, temporarily for the current buffer, with `editor: toggle git
blame inline`.
2024-04-15 14:21:52 +02:00
..
connection_manager.rs WIP: remoting (#10085) 2024-04-11 15:36:35 -06:00
debounced_delay.rs Add debounce for re-querying completion documentation 2024-01-31 09:50:26 -05:00
lsp_command.rs Respect language server's capabilities when calling GetReferences (#10285) 2024-04-08 13:38:32 -04:00
lsp_ext_command.rs text: Wrap BufferId into a newtype 2024-01-29 20:00:47 +01:00
prettier_support.rs Improve handling of prettier errors on format (#10156) 2024-04-04 11:41:55 +02:00
project.rs Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
project_settings.rs Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
project_tests.rs Semantic Index (#10329) 2024-04-12 11:40:59 -06:00
search.rs Support newline and tab literals in regex search-and-replace operations (#9609) 2024-03-25 12:21:04 +01:00
search_history.rs project search: Persist search history across session (#9932) 2024-04-02 11:13:18 +02:00
task_inventory.rs Display more specific tasks above in the modal (#10485) 2024-04-12 20:19:11 +02:00
terminals.rs task: use full task label to distinguish a terminal (#10469) 2024-04-12 13:25:46 +02:00