Skip to content

Commit acbb17a

Browse files
gitcoder89431claude
andcommitted
feat: ctrl+t cycles to next theme globally
Uses existing theme.Next() to rotate through all built-in themes. Shown in footer ShortHelp and documented in Help page. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2b9c0f6 commit acbb17a

3 files changed

Lines changed: 9 additions & 2 deletions

File tree

internal/app/keys.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type KeyMap struct {
1313
Quit key.Binding
1414
ForceQuit key.Binding
1515
Commands key.Binding
16+
NextTheme key.Binding
1617
Help key.Binding
1718
Cancel key.Binding
1819
Focus key.Binding
@@ -27,6 +28,7 @@ func DefaultKeyMap() KeyMap {
2728
Quit: key.NewBinding(key.WithKeys("q"), key.WithHelp("q", "quit")),
2829
ForceQuit: key.NewBinding(key.WithKeys("ctrl+c"), key.WithHelp("ctrl+c", "quit")),
2930
Commands: key.NewBinding(key.WithKeys("ctrl+k"), key.WithHelp("ctrl+k", "commands")),
31+
NextTheme: key.NewBinding(key.WithKeys("ctrl+t"), key.WithHelp("ctrl+t", "next theme")),
3032
Help: key.NewBinding(key.WithKeys("?"), key.WithHelp("?", "help")),
3133
Cancel: key.NewBinding(key.WithKeys("esc"), key.WithHelp("esc", "close")),
3234
Focus: key.NewBinding(key.WithKeys("tab"), key.WithHelp("tab", "focus")),
@@ -38,9 +40,9 @@ func DefaultKeyMap() KeyMap {
3840
}
3941

4042
func (k KeyMap) ShortHelp() []key.Binding {
41-
return []key.Binding{k.Help, k.Commands, k.Quit}
43+
return []key.Binding{k.Help, k.Commands, k.NextTheme, k.Quit}
4244
}
4345

4446
func (k KeyMap) FullHelp() [][]key.Binding {
45-
return [][]key.Binding{{k.Help, k.Commands, k.Focus, k.Cancel}, {k.Up, k.Down, k.Enter, k.ToggleSidebar, k.Quit, k.ForceQuit}}
47+
return [][]key.Binding{{k.Help, k.Commands, k.NextTheme, k.Focus, k.Cancel}, {k.Up, k.Down, k.Enter, k.ToggleSidebar, k.Quit, k.ForceQuit}}
4648
}

internal/app/update.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ func (m Model) handleKey(msg tea.KeyPressMsg) (tea.Model, tea.Cmd) {
164164
m.showCommandPalette = true
165165
m.commandPalette.Reset(m.theme.Name, m.paletteContext())
166166
return m, nil
167+
case key.Matches(msg, m.keys.NextTheme):
168+
m.theme = theme.Next(m.theme.Name)
169+
m.updateDerivedScreens()
170+
return m, nil
167171
case key.Matches(msg, m.keys.Help):
168172
m.showHelp = true
169173
return m, nil

internal/screens/help.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ func (h Help) View(width, height int) string {
5959

6060
b.WriteString("\n" + rule("Command Palette") + "\n\n")
6161
b.WriteString(binding("ctrl+k", "open palette"))
62+
b.WriteString(binding("ctrl+t", "cycle to next theme"))
6263
b.WriteString(binding("type", "filter commands"))
6364
b.WriteString(binding("enter", "run selected command"))
6465
b.WriteString(binding("esc", "close palette"))

0 commit comments

Comments
 (0)