diff options
| author | Aiden Cline <[email protected]> | 2025-08-19 22:39:59 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-19 22:39:59 -0500 |
| commit | 574be9febf74e9571c0400bfc6de33f5deede977 (patch) | |
| tree | a5f0a538d1e54fec9d06ac50d2181074688946d3 /packages | |
| parent | 5b05ede748095865d3dc3a69790b01da92f1e6dd (diff) | |
| download | opencode-574be9febf74e9571c0400bfc6de33f5deede977.tar.gz opencode-574be9febf74e9571c0400bfc6de33f5deede977.zip | |
fix: keybind panic (#2092)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/tui/internal/app/app.go | 3 | ||||
| -rw-r--r-- | packages/tui/internal/components/chat/message.go | 20 |
2 files changed, 19 insertions, 4 deletions
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go index af8157adc..0c703c959 100644 --- a/packages/tui/internal/app/app.go +++ b/packages/tui/internal/app/app.go @@ -207,6 +207,9 @@ func New( func (a *App) Keybind(commandName commands.CommandName) string { command := a.Commands[commandName] + if len(command.Keybindings) == 0 { + return "" + } kb := command.Keybindings[0] key := kb.Key if kb.RequiresLeader { diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go index 9a1531fb0..a19d15fd7 100644 --- a/packages/tui/internal/components/chat/message.go +++ b/packages/tui/internal/components/chat/message.go @@ -671,10 +671,22 @@ func renderToolDetails( body = strings.Join(steps, "\n") body += "\n\n" - body += baseStyle(app.Keybind(commands.SessionChildCycleCommand)) + - mutedStyle(", ") + - baseStyle(app.Keybind(commands.SessionChildCycleReverseCommand)) + - mutedStyle(" navigate child sessions") + + // Build navigation hint with proper spacing + cycleKeybind := app.Keybind(commands.SessionChildCycleCommand) + cycleReverseKeybind := app.Keybind(commands.SessionChildCycleReverseCommand) + + var navParts []string + if cycleKeybind != "" { + navParts = append(navParts, baseStyle(cycleKeybind)) + } + if cycleReverseKeybind != "" { + navParts = append(navParts, baseStyle(cycleReverseKeybind)) + } + + if len(navParts) > 0 { + body += strings.Join(navParts, mutedStyle(", ")) + mutedStyle(" navigate child sessions") + } } body = defaultStyle(body) default: |
