diff --git a/src/constants.go b/src/constants.go index 04b10903..acb3b4cc 100644 --- a/src/constants.go +++ b/src/constants.go @@ -19,9 +19,10 @@ const ( readerBufferSize = 64 * 1024 // Terminal - initialDelay = 20 * time.Millisecond - initialDelayTac = 100 * time.Millisecond - spinnerDuration = 200 * time.Millisecond + initialDelay = 20 * time.Millisecond + initialDelayTac = 100 * time.Millisecond + spinnerDuration = 200 * time.Millisecond + maxPatternLength = 100 // Matcher numPartitionsMultiplier = 8 diff --git a/src/terminal.go b/src/terminal.go index 5b26eebe..fa758e93 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -1337,6 +1337,11 @@ func (t *Terminal) Loop() { if !doAction(action, mapkey) { continue } + // Truncate the query if it's too long + if len(t.input) > maxPatternLength { + t.input = t.input[:maxPatternLength] + t.cx = util.Constrain(t.cx, 0, maxPatternLength) + } changed = string(previousInput) != string(t.input) } else { if mapkey == C.Rune {