mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-05-18 00:47:48 +08:00

This adds an alias for `--check` that causes it to behave the same as `--call=check`. This is done using `BoolFunc` to call a function when the option is seen and to set it to the correct value. This should allow command line flags like `--check --call=targets` to work correctly (even though they conflict) by making it so the first invocation sets the print function to `check` and the second overwrites the first. This is the expected behavior for these types of boolean flags. `BoolFunc` itself is part of the standard library flags package, but never seems to have made it into pflag possibly because it was added in go 1.21. https://pkg.go.dev/flag#FlagSet.BoolFunc Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
12 lines
285 B
Go
12 lines
285 B
Go
package cobrautil
|
|
|
|
type BoolFuncValue func(string) error
|
|
|
|
func (f BoolFuncValue) Set(s string) error { return f(s) }
|
|
|
|
func (f BoolFuncValue) String() string { return "" }
|
|
|
|
func (f BoolFuncValue) Type() string { return "bool" }
|
|
|
|
func (f BoolFuncValue) IsBoolFlag() bool { return true }
|