summaryrefslogtreecommitdiff
path: root/internal/hexaiaction/tui.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
committerPaul Buetow <paul@buetow.org>2026-06-18 07:45:37 +0300
commit4ffb22e7f69f1c9c79b095d4e60bad3d97aac55b (patch)
tree2dc708cbb95975d34084eb5afd376871caa13e27 /internal/hexaiaction/tui.go
parentece7dcfd232b780f5650326c8ac2379ca70387d4 (diff)
ik0 replace test seams with dependency injection
Diffstat (limited to 'internal/hexaiaction/tui.go')
-rw-r--r--internal/hexaiaction/tui.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/internal/hexaiaction/tui.go b/internal/hexaiaction/tui.go
index 9155cfe..7506cdc 100644
--- a/internal/hexaiaction/tui.go
+++ b/internal/hexaiaction/tui.go
@@ -124,7 +124,11 @@ func (m model) View() string {
// RunTUI returns the chosen ActionKind from the default hardcoded menu.
func RunTUI() (ActionKind, error) {
- p := tea.NewProgram(newModel())
+ return tuiRunner{}.RunTUI()
+}
+
+func (r tuiRunner) RunTUI() (ActionKind, error) {
+ p := r.program(newModel())
md, err := p.Run()
if err != nil {
return ActionSkip, err
@@ -142,8 +146,12 @@ func RunTUI() (ActionKind, error) {
// Custom entries are resolved by ID against customs. Falls back to ActionSkip
// if the program returns an unexpected model type.
func RunTUIFromConfig(entries []appconfig.TmuxActionMenuEntry, customs []appconfig.CustomAction) (ActionKind, *appconfig.CustomAction, error) {
+ return tuiRunner{}.RunTUIFromConfig(entries, customs)
+}
+
+func (r tuiRunner) RunTUIFromConfig(entries []appconfig.TmuxActionMenuEntry, customs []appconfig.CustomAction) (ActionKind, *appconfig.CustomAction, error) {
m := newModelFromMenuEntries(entries, customs)
- p := teaNewProgram(m)
+ p := r.program(m)
md, err := p.Run()
if err != nil {
return ActionSkip, nil, err