summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/tui/internal/app/app.go3
-rw-r--r--packages/tui/internal/components/chat/message.go20
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: