diff options
| author | Chris Walz <[email protected]> | 2020-11-08 11:56:26 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-11-08 18:56:26 +0200 |
| commit | 246bd25c47871a148cf3eec2ba4b1ba0ec5809ad (patch) | |
| tree | 68b43f47fe803d8fe21de68169c83385d30842a3 /complete.go | |
| parent | 5c05e978ea43e9992b04d9542bcab5f0b323a985 (diff) | |
fix crash when COMP_POINT is greater than COMP_LINE size (#128)
Some shells (inexplicably) occasionally have a COMP_POINT that is greater than the COMP_LINE size. When that happens completion should be based on length of the COMP_LINE to avoid an out of bounds error.
See the original hack fix here: https://github.com/chriswalz/bit/blob/master/cmd/bitcomplete.go on line 39
Diffstat (limited to 'complete.go')
| -rw-r--r-- | complete.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/complete.go b/complete.go index 9ddfee2..2a4c905 100644 --- a/complete.go +++ b/complete.go @@ -78,6 +78,9 @@ func Complete(name string, cmd Completer) { if err != nil { panic("COMP_POINT env should be integer, got: " + point) } + if i > len(line) { + i = len(line) + } // Parse the command line up to the completion point. args := arg.Parse(line[:i]) |
