diff options
Diffstat (limited to 'command.go')
| -rw-r--r-- | command.go | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -49,6 +49,14 @@ type Flags map[string]Predictor // Predict completion of flags names according to command line arguments func (f Flags) Predict(a Args) (prediction []string) { for flag := range f { + // If the flag starts with a hyphen, we avoid emitting the prediction + // unless the last typed arg contains a hyphen as well. + flagHyphenStart := len(flag) != 0 && flag[0] == '-' + lastHyphenStart := len(a.Last) != 0 && a.Last[0] == '-' + if flagHyphenStart && !lastHyphenStart { + continue + } + if match.Prefix(flag, a.Last) { prediction = append(prediction, flag) } |
