From be2a7ff2209c2880504d52f73b2e5272801d6693 Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Thu, 25 Oct 2018 19:38:01 +0300 Subject: [PATCH] protect line slicing from index out of range --- complete.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/complete.go b/complete.go index 168657e..725c4de 100644 --- a/complete.go +++ b/complete.go @@ -64,10 +64,12 @@ func (c *Complete) Complete() bool { return c.CLI.Run() } - completePhrase := line[:point] + if point >= 0 && point < len(line) { + line = line[:point] + } - Log("Completing phrase: %s", completePhrase) - a := newArgs(completePhrase) + Log("Completing phrase: %s", line) + a := newArgs(line) Log("Completing last field: %s", a.Last) options := c.Command.Predict(a) Log("Options: %s", options)