From 9db5c7fbbabad605e763925eeb9e24ec836616db Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Thu, 25 Jul 2024 15:45:13 -0400 Subject: [PATCH] fix: select all keybinding (#639) * fix: select all keybinding Signed-off-by: Carlos Alexandro Becker * chore(deps): update gum Signed-off-by: Carlos Alexandro Becker --------- Signed-off-by: Carlos Alexandro Becker --- choose/command.go | 13 ++++++++----- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/choose/command.go b/choose/command.go index 89c25bd..c78b473 100644 --- a/choose/command.go +++ b/choose/command.go @@ -44,6 +44,9 @@ func (o Options) Run() error { theme.Focused.SelectedPrefix = o.SelectedItemStyle.ToLipgloss().SetString(o.SelectedPrefix) theme.Focused.UnselectedPrefix = o.ItemStyle.ToLipgloss().SetString(o.UnselectedPrefix) + keymap := huh.NewDefaultKeyMap() + keymap.MultiSelect.ToggleAll.SetKeys("a", "ctrl+a") + for _, s := range o.Selected { for i, opt := range options { if s == opt.Key || s == opt.Value { @@ -52,15 +55,15 @@ func (o Options) Run() error { } } - if o.NoLimit { - o.Limit = len(o.Options) - } - width := max(widest(o.Options)+ max(lipgloss.Width(o.SelectedPrefix)+lipgloss.Width(o.UnselectedPrefix))+ lipgloss.Width(o.Cursor)+1, lipgloss.Width(o.Header)+widthBuffer) - if o.Limit > 1 { + if o.NoLimit { + o.Limit = 0 + } + + if o.Limit > 1 || o.NoLimit { var choices []string field := huh.NewMultiSelect[string](). diff --git a/go.mod b/go.mod index f720d71..c4d8927 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/charmbracelet/bubbles v0.18.0 github.com/charmbracelet/bubbletea v0.26.7-0.20240716165615-7d708384a105 github.com/charmbracelet/glamour v0.7.0 - github.com/charmbracelet/huh v0.5.2 + github.com/charmbracelet/huh v0.5.3-0.20240725170654-1926040ccf04 github.com/charmbracelet/lipgloss v0.12.1 github.com/charmbracelet/log v0.4.0 github.com/charmbracelet/x/ansi v0.1.4 diff --git a/go.sum b/go.sum index 4c66da0..46ef293 100644 --- a/go.sum +++ b/go.sum @@ -22,8 +22,8 @@ github.com/charmbracelet/bubbletea v0.26.7-0.20240716165615-7d708384a105 h1:ye4X github.com/charmbracelet/bubbletea v0.26.7-0.20240716165615-7d708384a105/go.mod h1:gw7FxN8J9u7IAlwc1ab1GnbfOMGExC9iI0e1t2SHs6I= github.com/charmbracelet/glamour v0.7.0 h1:2BtKGZ4iVJCDfMF229EzbeR1QRKLWztO9dMtjmqZSng= github.com/charmbracelet/glamour v0.7.0/go.mod h1:jUMh5MeihljJPQbJ/wf4ldw2+yBP59+ctV36jASy7ps= -github.com/charmbracelet/huh v0.5.2 h1:ofeNkJ4iaFnzv46Njhx896DzLUe/j0L2QAf8znwzX4c= -github.com/charmbracelet/huh v0.5.2/go.mod h1:Sf7dY0oAn6N/e3sXJFtFX9hdQLrUdO3z7AYollG9bAM= +github.com/charmbracelet/huh v0.5.3-0.20240725170654-1926040ccf04 h1:4gl2RNDqRh0x5vGO0EPKOLXH+iEyHwq+36KNeuQ1/YI= +github.com/charmbracelet/huh v0.5.3-0.20240725170654-1926040ccf04/go.mod h1:Sf7dY0oAn6N/e3sXJFtFX9hdQLrUdO3z7AYollG9bAM= github.com/charmbracelet/lipgloss v0.12.1 h1:/gmzszl+pedQpjCOH+wFkZr/N90Snz40J/NR7A0zQcs= github.com/charmbracelet/lipgloss v0.12.1/go.mod h1:V2CiwIuhx9S1S1ZlADfOj9HmxeMAORuz5izHb0zGbB8= github.com/charmbracelet/log v0.4.0 h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM=