Add help modal and refine modal close behavior

This commit is contained in:
vrubelroman 2026-04-23 14:22:16 +03:00
parent 874a5ed678
commit 544511f00e
2 changed files with 175 additions and 6 deletions

View file

@ -3,6 +3,7 @@ package ui
import "github.com/charmbracelet/bubbles/key"
type KeyMap struct {
Help key.Binding
View key.Binding
Edit key.Binding
Info key.Binding
@ -31,6 +32,7 @@ type KeyMap struct {
func DefaultKeyMap() KeyMap {
return KeyMap{
Help: key.NewBinding(key.WithKeys("f1", "?"), key.WithHelp("F1/?", "help")),
View: key.NewBinding(key.WithKeys("f3", "v"), key.WithHelp("F3/v", "view")),
Edit: key.NewBinding(key.WithKeys("f4", "e"), key.WithHelp("F4/e", "edit")),
Info: key.NewBinding(key.WithKeys("i"), key.WithHelp("i", "info")),
@ -59,12 +61,12 @@ func DefaultKeyMap() KeyMap {
}
func (k KeyMap) ShortHelp() []key.Binding {
return []key.Binding{k.Info, k.SelectText, k.Copy, k.Move, k.Delete, k.Quit}
return []key.Binding{k.Help, k.Copy, k.Move, k.Delete, k.Quit}
}
func (k KeyMap) FullHelp() [][]key.Binding {
return [][]key.Binding{
{k.Up, k.Down, k.Open, k.Back, k.Switch, k.Info},
{k.Help, k.Up, k.Down, k.Open, k.Back, k.Switch, k.Info},
{k.View, k.Edit, k.Copy, k.Move, k.Mkdir, k.Delete},
{k.SelectText, k.DirSize, k.Refresh, k.ToggleHidden, k.CycleSort, k.CycleTheme, k.Quit},
}