diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-28 08:57:13 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-07 09:24:18 +0300 |
| commit | 2a79baa18eb0ed682601e2911af48fff699c8531 (patch) | |
| tree | 3cfd0724a059d23a2fe0c693fc502b02a5523f57 /internal | |
| parent | bba1879c343ab4dee38bb6547b00a527ff6e96b8 (diff) | |
ui: add ultra mode state (vh)
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/ui/table.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/ui/table.go b/internal/ui/table.go index 1d593a0..b42940a 100644 --- a/internal/ui/table.go +++ b/internal/ui/table.go @@ -78,6 +78,17 @@ type detailViewState struct { detailDescEditing bool // whether the description editor is open } +// ultraState holds the state for the ultra mode task list and its search UI. +type ultraState struct { + showUltra bool + ultraCursor int + ultraOffset int + ultraSearching bool + ultraSearchInput textinput.Model + ultraSearchRegex *regexp.Regexp + ultraFiltered []int +} + // editState holds inline field-editing state for the task table. // Each editing mode (annotate, desc, tags, …) is mutually exclusive; // clearEditingModes resets them all before activating a new one. @@ -132,6 +143,7 @@ type Model struct { blinkState // row blink animation (see blinkState) searchState // task-table and help-screen search (see searchState) detailViewState // task detail overlay (see detailViewState) + ultraState // ultra mode task list and search state (see ultraState) editState // inline field editing (see editState) cellExpanded bool @@ -325,6 +337,8 @@ func New(filters []string, browserCmd string) (Model, error) { m.searchInput.Prompt = "search: " m.helpSearchInput = textinput.New() m.helpSearchInput.Prompt = "help search: " + m.ultraSearchInput = textinput.New() + m.ultraSearchInput.Prompt = "ultra search: " m.filterInput = textinput.New() m.filterInput.Prompt = "filter: " |
