Om Chillure
efc74c19b9
git_ui: Support side-by-side diff view in clipboard selection diff ( #51966 )
...
#### Context
Switches `TextDiffView` from using `Editor` directly to
`SplittableEditor`, enabling side-by-side diff view support for "Diff
Clipboard with Selection". The diff view now respects the user's
`diff_view_style` setting.
Split out from #51457 . This PR contains only the `SplittableEditor`
wiring. The multibuffer coordinate fix for non-singleton editors will
follow in a separate PR.
Closes #50912 (partially)
#### How to Review
Small PR — all changes are in `crates/git_ui/src/text_diff_view.rs`.
Focus on:
- `new()`: `SplittableEditor::new` replaces `Editor::for_multibuffer`,
editor-specific setup goes through `rhs_editor()`
- Item trait delegation: `act_as_type`, `for_each_project_item`,
`set_nav_history` updated for `SplittableEditor`
- Tests: pinned `DiffViewStyle::Unified` and assertions go through
`rhs_editor()`
#### Self-Review Checklist
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist )
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
#### Video :
[Screencast from 2026-03-19
23-11-36.webm](https://github.com/user-attachments/assets/c5a2381d-238d-43ef-ac6f-9994996c0c69 )
#### Release Notes:
- Improved "Diff Clipboard with Selection" to support side-by-side diff
view style.
2026-03-23 09:10:18 +00:00
..
2026-03-20 18:55:49 +00:00
2026-03-16 17:23:02 +01:00
2026-03-11 14:52:57 +00:00
2026-03-09 13:22:12 +01:00
2026-03-21 19:07:13 +01:00
2026-03-20 21:54:59 +00:00
2026-03-12 10:14:10 -03:00
2026-03-22 04:15:35 +00:00
2026-03-11 23:21:57 +00:00
2026-03-19 19:48:30 -04:00
2026-02-18 12:00:02 +01:00
2026-01-26 23:56:55 +00:00
2026-02-06 20:14:35 +01:00
2026-03-10 15:23:49 +00:00
2026-03-19 14:31:56 +01:00
2026-03-18 21:31:20 -04:00
2026-03-03 17:47:35 +01:00
2026-03-18 09:53:06 +01:00
2026-03-19 15:32:04 +00:00
2026-03-13 08:00:22 +00:00
2026-03-16 09:49:02 +01:00
2026-03-19 22:10:42 +01:00
2026-03-13 07:48:35 +00:00
2026-03-06 19:18:33 +00:00
2026-03-19 16:58:21 +01:00
2026-02-25 08:12:04 +01:00
2026-03-04 15:45:33 +01:00
2026-03-17 18:17:32 +00:00
2026-03-19 19:04:43 +00:00
2026-03-09 19:58:31 -04:00
2026-03-19 17:18:08 -07:00
2026-03-19 22:10:42 +01:00
2026-03-19 12:53:26 -04:00
2026-03-18 12:05:57 -07:00
2026-01-30 21:26:13 +00:00
2026-03-17 09:59:17 +00:00
2026-03-08 09:34:46 +00:00
2026-03-13 14:13:12 -03:00
2026-03-11 03:08:39 +00:00
2026-01-07 12:48:24 -08:00
2026-03-03 15:49:40 +01:00
2026-03-09 13:22:12 +01:00
2026-03-16 16:29:24 +00:00
2026-03-18 12:05:57 -07:00
2026-01-14 07:19:13 +00:00
2026-02-18 12:00:02 +01:00
2026-03-19 11:10:14 -06:00
2025-12-18 12:47:34 +00:00
2026-03-09 13:22:12 +01:00
2026-03-12 18:25:52 +02:00
2026-03-04 15:38:31 +01:00
2026-03-21 14:05:30 +01:00
2026-03-23 10:39:25 +02:00
2026-03-09 13:22:12 +01:00
2026-02-04 17:54:11 -05:00
2026-03-18 12:05:57 -07:00
2026-03-23 00:20:55 -04:00
2026-02-12 00:28:17 +00:00
2026-02-28 21:47:30 -05:00
2026-03-20 23:03:32 +00:00
2026-03-16 17:23:02 +01:00
2026-02-19 18:57:49 +01:00
2026-02-28 22:42:19 -05:00
2026-03-18 22:49:16 +00:00
2026-03-07 11:05:10 +01:00
2026-03-09 11:47:12 +01:00
2026-03-09 13:22:12 +01:00
2026-03-18 12:05:57 -07:00
2026-03-20 23:03:32 +00:00
2026-03-09 13:22:12 +01:00
2026-03-16 15:35:59 +00:00
2026-03-19 17:18:08 -07:00
2026-02-19 18:57:49 +01:00
2025-12-08 19:50:20 +01:00
2026-03-19 17:18:08 -07:00
2026-03-18 12:05:57 -07:00
2026-01-31 21:56:34 +00:00
2026-03-23 09:10:18 +00:00
2026-03-16 15:35:59 +00:00
2026-03-04 15:53:26 +00:00
2026-03-21 14:37:34 -04:00
2026-03-19 22:10:42 +01:00
2026-03-21 08:20:47 +00:00
2026-03-06 14:03:45 +00:00
2026-03-12 22:15:12 +00:00
2026-01-07 12:48:24 -08:00
2026-02-26 18:36:50 +01:00
2026-03-17 08:40:44 +01:00
2026-03-20 06:32:49 +00:00
2026-03-18 22:09:26 -04:00
2026-03-14 15:17:09 +01:00
2026-03-21 16:22:32 -03:00
2026-03-18 12:05:57 -07:00
2026-02-20 08:32:45 +00:00
2026-02-12 00:28:17 +00:00
2026-03-12 15:34:09 -07:00
2026-03-07 11:05:10 +01:00
2026-03-20 18:12:02 +00:00
2026-03-21 23:32:33 +00:00
2026-03-07 11:05:10 +01:00
2026-03-19 11:09:55 +01:00
2026-03-20 07:09:19 +00:00
2026-03-18 12:05:57 -07:00
2026-03-16 15:53:06 +00:00
2026-03-19 12:01:59 +00:00
2026-03-18 15:45:03 +00:00
2026-02-03 15:51:40 -05:00
2026-03-21 07:42:55 +01:00
2026-03-06 16:49:55 +00:00
2026-03-17 08:36:37 +01:00
2026-03-19 16:15:44 +00:00
2026-03-19 16:15:44 +00:00
2025-12-30 07:49:01 -03:00
2026-03-04 20:29:20 +00:00
2026-03-04 19:13:32 +01:00
2026-03-05 08:59:05 +00:00
2026-03-19 16:21:03 +00:00
2026-02-17 10:41:10 +00:00
2026-02-20 13:36:04 +00:00
2026-02-13 20:16:11 +01:00
2026-03-09 13:22:12 +01:00
2026-03-17 10:39:54 +00:00
2026-03-18 12:05:57 -07:00
2026-03-18 12:06:54 +00:00
2026-03-13 16:52:50 +00:00
2026-02-12 14:02:16 +00:00
2026-03-16 12:56:29 +00:00
2026-03-18 19:36:23 +00:00
2026-03-13 14:13:12 -03:00
2026-03-02 22:18:49 +00:00
2026-03-18 18:52:38 -06:00
2026-03-19 07:41:10 -03:00
2026-02-07 00:36:37 +00:00
2026-03-20 21:54:59 +00:00
2026-02-19 18:57:49 +01:00
2026-03-19 12:44:37 +05:30
2026-02-12 01:06:23 +00:00
2026-01-30 21:26:13 +00:00
2026-03-18 08:39:56 +00:00
2026-03-21 16:22:32 -03:00
2025-12-15 13:30:13 +00:00
2025-11-27 13:46:43 +00:00
2026-03-02 23:31:11 -07:00
2026-02-02 13:30:07 +01:00
2026-03-10 17:32:51 +00:00
2026-03-17 17:39:11 -06:00
2026-03-09 13:22:12 +01:00
2026-03-21 14:05:30 +01:00
2026-02-11 21:30:03 +02:00
2026-03-19 11:17:10 +00:00
2026-03-07 04:11:45 +00:00
2025-12-16 10:48:14 -05:00
2026-03-19 11:10:14 -06:00
2026-03-18 12:05:57 -07:00
2026-03-21 14:37:34 -04:00
2026-03-18 15:22:45 +00:00
2025-10-27 10:13:26 -04:00
2025-11-21 08:28:17 -07:00
2026-03-09 13:22:12 +01:00
2026-03-20 23:03:32 +00:00
2026-03-16 23:49:34 -04:00
2026-03-22 10:02:24 -03:00
2026-01-26 13:49:26 +00:00
2026-02-12 00:28:17 +00:00
2026-03-10 20:25:12 +00:00
2026-03-20 11:00:00 +00:00
2025-11-03 19:25:15 +00:00
2026-03-21 14:05:30 +01:00
2026-03-10 15:23:49 +00:00
2025-11-24 13:34:04 +01:00
2026-03-09 13:22:12 +01:00
2026-03-19 08:42:28 +00:00
2026-03-17 18:04:04 +02:00
2025-11-07 11:36:05 +00:00
2026-01-28 16:36:44 -08:00
2026-03-16 12:57:20 -03:00
2026-03-18 22:09:26 -04:00
2026-03-19 16:41:53 -07:00
2026-03-12 21:35:42 +02:00
2026-02-26 12:01:57 +00:00
2026-03-13 14:13:12 -03:00
2026-02-28 21:47:30 -05:00
2026-03-21 16:22:32 -03:00
2026-03-18 12:05:57 -07:00
2026-03-21 16:22:32 -03:00
2026-03-13 19:37:18 -03:00
2026-03-19 09:15:34 +00:00
2026-01-25 21:35:32 +01:00
2026-03-20 20:37:12 +00:00
2026-03-19 12:53:26 -04:00
2026-03-09 13:22:12 +01:00
2026-03-12 22:49:17 +00:00
2026-03-14 03:29:49 +00:00
2026-03-23 01:54:26 +00:00
2026-03-17 07:48:44 -05:00
2026-02-19 18:57:49 +01:00
2026-03-04 17:36:25 +01:00
2026-03-21 07:42:55 +01:00
2026-03-18 19:36:23 +00:00
2025-12-13 11:06:30 -05:00
2026-03-23 10:39:25 +02:00
2026-03-03 08:37:58 +00:00
2025-11-07 22:27:14 +00:00
2026-02-11 11:24:04 +00:00
2025-12-05 17:23:06 +00:00