Change summary
internal/tui/components/chat/editor/editor.go | 7 ++++++-
internal/tui/page/chat/chat.go | 3 +++
2 files changed, 9 insertions(+), 1 deletion(-)
Detailed changes
@@ -42,6 +42,7 @@ type Editor interface {
SetSession(session session.Session) tea.Cmd
IsCompletionsOpen() bool
HasAttachments() bool
+ IsEmpty() bool
Cursor() *tea.Cursor
}
@@ -265,7 +266,7 @@ func (m *editorCmp) Update(msg tea.Msg) (util.Model, tea.Cmd) {
curIdx := m.textarea.Width()*cur.Y + cur.X
switch {
// Open command palette when "/" is pressed on empty prompt
- case msg.String() == "/" && len(strings.TrimSpace(m.textarea.Value())) == 0:
+ case msg.String() == "/" && m.IsEmpty():
return m, util.CmdHandler(dialogs.OpenDialogMsg{
Model: commands.NewCommandDialog(m.session.ID),
})
@@ -546,6 +547,10 @@ func (c *editorCmp) HasAttachments() bool {
return len(c.attachments) > 0
}
+func (c *editorCmp) IsEmpty() bool {
+ return strings.TrimSpace(c.textarea.Value()) == ""
+}
+
func normalPromptFunc(info textarea.PromptInfo) string {
t := styles.CurrentTheme()
if info.LineNumber == 0 {
@@ -942,6 +942,9 @@ func (p *chatPage) Help() help.KeyMap {
key.WithKeys("ctrl+p"),
key.WithHelp("ctrl+p", "commands"),
)
+ if p.focusedPane == PanelTypeEditor && p.editor.IsEmpty() {
+ commandsBinding.SetHelp("/ or ctrl+p", "commands")
+ }
modelsBinding := key.NewBinding(
key.WithKeys("ctrl+m", "ctrl+l"),
key.WithHelp("ctrl+l", "models"),