summaryrefslogtreecommitdiff
path: root/predict.go
diff options
context:
space:
mode:
authorEyal Posener <[email protected]>2019-11-14 06:51:44 +0200
committerEyal Posener <[email protected]>2019-11-18 01:05:47 +0200
commit8724aaf18312e54750540a9578e00d61b1c545d8 (patch)
treed3e736b4fb279975bbcc017ae1bad53e454c5773 /predict.go
parent05b68ffc813dd10c420993cb1cf927b346c057b8 (diff)
V2
Diffstat (limited to 'predict.go')
-rw-r--r--predict.go41
1 files changed, 0 insertions, 41 deletions
diff --git a/predict.go b/predict.go
deleted file mode 100644
index 8207063..0000000
--- a/predict.go
+++ /dev/null
@@ -1,41 +0,0 @@
-package complete
-
-// Predictor implements a predict method, in which given
-// command line arguments returns a list of options it predicts.
-type Predictor interface {
- Predict(Args) []string
-}
-
-// PredictOr unions two predicate functions, so that the result predicate
-// returns the union of their predication
-func PredictOr(predictors ...Predictor) Predictor {
- return PredictFunc(func(a Args) (prediction []string) {
- for _, p := range predictors {
- if p == nil {
- continue
- }
- prediction = append(prediction, p.Predict(a)...)
- }
- return
- })
-}
-
-// PredictFunc determines what terms can follow a command or a flag
-// It is used for auto completion, given last - the last word in the already
-// in the command line, what words can complete it.
-type PredictFunc func(Args) []string
-
-// Predict invokes the predict function and implements the Predictor interface
-func (p PredictFunc) Predict(a Args) []string {
- if p == nil {
- return nil
- }
- return p(a)
-}
-
-// PredictNothing does not expect anything after.
-var PredictNothing Predictor
-
-// PredictAnything expects something, but nothing particular, such as a number
-// or arbitrary name.
-var PredictAnything = PredictFunc(func(Args) []string { return nil })