Commit 12f0257
committed
feat(tui): SelectList +description/+scroll/+digit-jump/+page-nav
Enrich the generic select widget with features the upcoming overlays
(permission, model picker, history search) need — instead of each
overlay reinventing its own list logic:
- description field rendered dim/italic alongside the label
- auto-scroll viewport: selection always stays visible; scroll indicator
(↑ / ↓ / ↕) in the top-right when overflowing
- digit shortcuts 1..9 jump to that 1-based index
- PageUp/PageDown by caller-provided page size; Home/End jump to ends
- set_items / set_selected for external state sync
- render_stateful(&mut self, ...) mutates scroll_top; Widget impl still
works for read-only callers
23/23 tests pass (10 original + 13 new); clippy clean.1 parent dbc6944 commit 12f0257
1 file changed
Lines changed: 319 additions & 16 deletions
0 commit comments