From f7fc1ea0faa809cfd0c36d1d359432bcb6dbdf87 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Sat, 29 Mar 2025 01:25:57 -0400 Subject: [PATCH] refactor: remove picker package --- internal/picker/item.go | 23 ---------------- internal/picker/picker.go | 57 --------------------------------------- 2 files changed, 80 deletions(-) delete mode 100644 internal/picker/item.go delete mode 100644 internal/picker/picker.go diff --git a/internal/picker/item.go b/internal/picker/item.go deleted file mode 100644 index 1da895a..0000000 --- a/internal/picker/item.go +++ /dev/null @@ -1,23 +0,0 @@ -package picker - -type Item struct { - text string - selected func() -} - -func NewItem(text string, selected func()) *Item { - return &Item{ - text: text, - selected: selected, - } -} - -type Items []*Item - -func (is Items) String(i int) string { - return is[i].text -} - -func (is Items) Len() int { - return len(is) -} diff --git a/internal/picker/picker.go b/internal/picker/picker.go deleted file mode 100644 index ecdc3ab..0000000 --- a/internal/picker/picker.go +++ /dev/null @@ -1,57 +0,0 @@ -package picker - -import ( - "github.com/rivo/tview" - "github.com/sahilm/fuzzy" -) - -type Picker struct { - *tview.Flex - Input *tview.InputField - List *tview.List - - app *tview.Application - items Items -} - -func New(app *tview.Application, items Items) *Picker { - p := &Picker{ - Flex: tview.NewFlex(), - Input: tview.NewInputField(), - List: tview.NewList(), - - app: app, - items: items, - } - - // Render all of the items initially. - p.changed("") - - p.Input.SetChangedFunc(p.changed) - p.List.ShowSecondaryText(false).SetFocusFunc(func() { - app.SetFocus(p.Input) - }) - p.Flex. - SetDirection(tview.FlexRow). - AddItem(p.Input, 3, 1, true). - AddItem(p.List, 0, 1, false) - return p -} - -func (p *Picker) changed(text string) { - var fuzzied Items - if text == "" { - fuzzied = append(fuzzied, p.items...) - } else { - matches := fuzzy.FindFrom(text, p.items) - for _, match := range matches { - fuzzied = append(fuzzied, p.items[match.Index]) - } - } - - p.List.Clear() - - for _, item := range fuzzied { - p.List.AddItem(item.text, "", 0, item.selected) - } -}