feat: add editor component

This commit is contained in:
2026-11-04 14:01:54 +07:00
parent 50da1d4a9d
commit 503b105bad
13 changed files with 1021 additions and 9 deletions
+13 -8
View File
@@ -9,18 +9,15 @@ is the first downstream consumer; its screens drive the order.
## Next
- [ ] **Scrollbar** (M13) — a simple way to show a scrollbar on gpui's
`list` and `uniform_list`.
- [x] API sketch
- [x] Implementation (theme-baked, overlays virtualized lists)
- [x] Tests
- [x] Gallery panel
- [ ] **Diff view** (M15, `editor`).
- [ ] API sketch
- [ ] Implementation
- [ ] Tests
- [ ] Gallery panel
- [ ] Review
## Queue — to follow
- [ ] **Code view** (M14, opens `crates/editor`) — tree-sitter highlighting.
- [ ] **Diff view** (M15, `editor`).
- [ ] **Markdown view** (M16, `editor`) — only if a consumer confirms.
- [ ] **Pickers** — Calendar / DatePicker, TimeField, ColorPicker (decide at
unit time).
@@ -61,12 +58,20 @@ is the first downstream consumer; its screens drive the order.
screen-reader label
- [x] Combobox — type-to-filter picker, create / keep / revert blur modes
- [x] Command palette — filtered actions; the matcher stays caller-owned
- [x] Scrollbar — overlay thumbs for gpui's `list` and `uniform_list`,
platform autohide with a `visibility` override
### data (`crates/data`)
- [x] List, Tree, Tabs (underline default + signed pill), Sidebar (scrolls
internally)
### editor (`crates/editor`)
- [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
### layout (`crates/layout`)
- [x] ResizeHandle