From b9ebcea82c262dc834633c2c8f44a94fe8773a15 Mon Sep 17 00:00:00 2001 From: Ed Zynda Date: Fri, 23 May 2025 14:43:30 +0300 Subject: really disable history nav when completions dialog is open (#50) --- internal/tui/components/chat/editor.go | 6 +++--- internal/tui/page/chat.go | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'internal/tui') diff --git a/internal/tui/components/chat/editor.go b/internal/tui/components/chat/editor.go index 212ad5529..0858e22df 100644 --- a/internal/tui/components/chat/editor.go +++ b/internal/tui/components/chat/editor.go @@ -247,8 +247,8 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } // Handle history navigation with up/down arrow keys - // Only handle history navigation if the filepicker is not open - if m.textarea.Focused() && key.Matches(msg, editorMaps.HistoryUp) && !m.app.IsFilepickerOpen() { + // Only handle history navigation if the filepicker is not open and completion dialog is not open + if m.textarea.Focused() && key.Matches(msg, editorMaps.HistoryUp) && !m.app.IsFilepickerOpen() && !m.app.IsCompletionDialogOpen() { // Get the current line number currentLine := m.textarea.Line() @@ -268,7 +268,7 @@ func (m *editorCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } } - if m.textarea.Focused() && key.Matches(msg, editorMaps.HistoryDown) && !m.app.IsFilepickerOpen() { + if m.textarea.Focused() && key.Matches(msg, editorMaps.HistoryDown) && !m.app.IsFilepickerOpen() && !m.app.IsCompletionDialogOpen() { // Get the current line number and total lines currentLine := m.textarea.Line() value := m.textarea.Value() diff --git a/internal/tui/page/chat.go b/internal/tui/page/chat.go index 1b31c838c..e4fb62caf 100644 --- a/internal/tui/page/chat.go +++ b/internal/tui/page/chat.go @@ -123,10 +123,12 @@ func (p *chatPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return p, nil case dialog.CompletionDialogCloseMsg: p.showCompletionDialog = false + p.app.SetCompletionDialogOpen(false) case tea.KeyMsg: switch { case key.Matches(msg, keyMap.ShowCompletionDialog): p.showCompletionDialog = true + p.app.SetCompletionDialogOpen(true) // Continue sending keys to layout->chat case key.Matches(msg, keyMap.NewSession): p.app.CurrentSession = &session.Session{} -- cgit v1.2.3