Files
Transmute/cli/internal/tui/keys.go
T
noah cf489c4f02 feat: add preview/delete-output to TUI, replace how-it-works with tutorial gif
CLI:
- p key opens file with system viewer (input in file list, output in results)
- x key deletes converted output file from disk in results state
- New 'deleted' status shown in red in the status column
- Updated help overlay and bottom bar keybindings

Web:
- Replace three-step timeline in 'How it works' with Tuturial.gif
- GIF shown in browser-style window frame matching site design
2026-03-10 10:35:41 +01:00

89 lines
2.0 KiB
Go

package tui
import "github.com/charmbracelet/bubbles/key"
// KeyMap defines key bindings for the TUI.
type KeyMap struct {
Up key.Binding
Down key.Binding
Left key.Binding
Right key.Binding
Enter key.Binding
Space key.Binding
Tab key.Binding
Delete key.Binding
SelectAll key.Binding
Convert key.Binding
Quit key.Binding
Help key.Binding
Back key.Binding
Preview key.Binding
DeleteOutput key.Binding
}
// DefaultKeyMap returns the default key bindings.
func DefaultKeyMap() KeyMap {
return KeyMap{
Up: key.NewBinding(
key.WithKeys("up", "k"),
key.WithHelp("↑/k", "up"),
),
Down: key.NewBinding(
key.WithKeys("down", "j"),
key.WithHelp("↓/j", "down"),
),
Left: key.NewBinding(
key.WithKeys("left", "h"),
key.WithHelp("←/h", "prev format"),
),
Right: key.NewBinding(
key.WithKeys("right", "l"),
key.WithHelp("→/l", "next format"),
),
Enter: key.NewBinding(
key.WithKeys("enter"),
key.WithHelp("enter", "confirm"),
),
Space: key.NewBinding(
key.WithKeys(" "),
key.WithHelp("space", "toggle select"),
),
Tab: key.NewBinding(
key.WithKeys("tab"),
key.WithHelp("tab", "cycle format"),
),
Delete: key.NewBinding(
key.WithKeys("d", "delete", "backspace"),
key.WithHelp("d", "remove file"),
),
SelectAll: key.NewBinding(
key.WithKeys("a"),
key.WithHelp("a", "select all"),
),
Convert: key.NewBinding(
key.WithKeys("c"),
key.WithHelp("c", "convert"),
),
Quit: key.NewBinding(
key.WithKeys("q", "ctrl+c"),
key.WithHelp("q", "quit"),
),
Help: key.NewBinding(
key.WithKeys("?"),
key.WithHelp("?", "help"),
),
Back: key.NewBinding(
key.WithKeys("esc"),
key.WithHelp("esc", "back"),
),
Preview: key.NewBinding(
key.WithKeys("p"),
key.WithHelp("p", "preview file"),
),
DeleteOutput: key.NewBinding(
key.WithKeys("x"),
key.WithHelp("x", "delete output"),
),
}
}