You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bonzai/comp/comp.go

24 lines
706 B
Go

// Copyright 2022 Robert S. Muhlestein.
// SPDX-License-Identifier: Apache-2.0
package comp
// Completer defines a function to complete the given leaf Command with
// the provided arguments, if any. Completer functions must never be
// passed a nil Command or nil as the args slice. See comp.Standard.
type Completer func(leaf Command, args ...string) []string
// Command interface is only here to break cyclical package imports.
// This enables Completers of any kind to be create and managed
// independently.
type Command interface {
GetName() string
GetCommands() []string
GetHidden() []string
GetParams() []string
GetOther() map[string]string
GetCompleter() Completer
GetCaller() Command
}