feat: add diff view component

This commit is contained in:
2026-11-06 08:01:23 +07:00
parent f272f80d09
commit 7214c70ea7
11 changed files with 1067 additions and 35 deletions
+11 -10
View File
@@ -9,22 +9,17 @@ is the first downstream consumer; its screens drive the order.
## Next
- [ ] **Code view interactions** (M15, `editor`) — active line, text
selection with copy, incremental line re-highlight.
- [x] API sketch
- [x] Implementation
- [x] Tests
- [x] Gallery panel
- [ ] **Markdown view** (M16, `editor`) — only if a consumer confirms.
- [ ] API sketch
- [ ] Implementation
- [ ] Tests
- [ ] Gallery panel
- [ ] Review
## Queue — to follow
- [ ] **Diff view** (`editor`) — implemented, then reverted to
`stash@{0}` ("pre-revert: diff view + gutter tweaks"); restore with
`git stash pop` and re-land after the code view interactions settle.
- [ ] **Editor follow-ups** — language detection by file path, meta line
overlay, per-view config overrides (line height, gutter visibility).
- [ ] **Markdown view** (M16, `editor`) — only if a consumer confirms.
- [ ] **Pickers** — Calendar / DatePicker, TimeField, ColorPicker (decide at
unit time).
- [ ] **Layout follow-ups** — persistence, pane zoom, bottom dock,
@@ -77,6 +72,12 @@ is the first downstream consumer; its screens drive the order.
- [x] Code view — tree-sitter highlighted, virtualized rows with a gutter
and the overlay scrollbar; per-language grammar features, roles map to
the theme's semantic palette at render
- [x] Code view interactions — active line, text selection with copy,
incremental line re-highlight
- [x] Diff view — unified rows via `similar`, highlighted with the code
view's palette; change washes from the ramps, `scroll_to_first_change`
- [x] Diff view — unified rows via `similar`, highlighted with the code
view's palette; change washes from the ramps, `scroll_to_first_change`
### layout (`crates/layout`)