This commit cleans up the package structure, to make two new top-level packages `internal` (for internal-use packages) and `pkg` (for general shared utility code).
26 lines
821 B
Go
26 lines
821 B
Go
package core
|
|
|
|
import (
|
|
"github.com/tkw1536/goprogram"
|
|
"github.com/tkw1536/goprogram/meta"
|
|
)
|
|
|
|
// Requirements are requirements for the WissKI Distillery
|
|
type Requirements struct {
|
|
// Do we need an installed distillery?
|
|
NeedsDistillery bool
|
|
}
|
|
|
|
// AllowsFlag checks if the provided flag may be passed to fullfill this requirement
|
|
// By default it is used only for help page generation, and may be inaccurate.
|
|
func (r Requirements) AllowsFlag(flag meta.Flag) bool {
|
|
return r.NeedsDistillery
|
|
}
|
|
|
|
// Validate validates if this requirement is fullfilled for the provided global flags.
|
|
// It should return either nil, or an error of type exit.Error.
|
|
//
|
|
// Validate does not take into account AllowsOption, see ValidateAllowedOptions.
|
|
func (r Requirements) Validate(arguments goprogram.Arguments[Flags]) error {
|
|
return nil
|
|
}
|