Don't render suggestions when textinput is not focused.

This can look confusing in forms otherwise.
This commit is contained in:
Pierre Rossi
2025-01-28 09:24:43 -05:00
committed by Christian Rocha
parent 1bdd4c6fb3
commit 0f9e38c9a7
2 changed files with 7 additions and 1 deletions
+1 -1
View File
@@ -665,7 +665,7 @@ func (m Model) View() string {
v += styleText(m.echoTransform(string(value[pos+1:]))) // text after cursor
v += m.completionView(0) // suggested completion
} else {
if m.canAcceptSuggestion() {
if m.focus && m.canAcceptSuggestion() {
suggestion := m.matchedSuggestions[m.currentSuggestionIndex]
if len(value) < len(suggestion) {
m.Cursor.TextStyle = m.CompletionStyle
+6
View File
@@ -1,6 +1,7 @@
package textinput
import (
"strings"
"testing"
)
@@ -29,6 +30,11 @@ func Test_CurrentSuggestion(t *testing.T) {
if suggestion != expected {
t.Fatalf("Error: expected first suggestion but was %s", suggestion)
}
textinput.Blur()
if strings.HasSuffix(textinput.View(), "test2") {
t.Fatalf("Error: suggestions should not be rendered when input isn't focused. expected \"> test\" but got \"%s\"", textinput.View())
}
}
func Test_SlicingOutsideCap(t *testing.T) {