From 8724aaf18312e54750540a9578e00d61b1c545d8 Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Thu, 14 Nov 2019 06:51:44 +0200 Subject: V2 --- predict.go | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 predict.go (limited to 'predict.go') 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 }) -- cgit v1.2.3