autocompletion: fix regression

Commit 27425c15c4 ("autocompletion: fix slice out of bounds access")
introduced a regression in the autocompletion that messes up the order
of last entered chars when autocompletion runs.

The ranges for a slice a[low:high] are 0 <= low <= high <= len(a) [0]

To reproduce with the ":cf" command:

1) enter ":c"
2) wait for autocompleteion
3) enter "f"
4) the prompt will now be ":fc"

[0]: https://go.dev/ref/spec#Slice_expressions

Fixes: 27425c15c4 ("autocompletion: fix slice out of bounds access")
Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
Koni Marti 2022-07-31 22:37:59 +02:00 committed by Robin Jarry
parent 687c4777b5
commit 5cf81f1cb1

View file

@ -70,8 +70,8 @@ func (ti *TextInput) String() string {
} }
func (ti *TextInput) StringLeft() string { func (ti *TextInput) StringLeft() string {
for ti.index >= len(ti.text) { for ti.index > len(ti.text) {
ti.index = len(ti.text) - 1 ti.index = len(ti.text)
} }
return string(ti.text[:ti.index]) return string(ti.text[:ti.index])
} }