mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-09 21:17:09 +08:00
commands: add an alias for --check to be the same as --call=check
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>
This commit is contained in:
11
util/cobrautil/boolfunc.go
Normal file
11
util/cobrautil/boolfunc.go
Normal file
@ -0,0 +1,11 @@
|
||||
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 }
|
Reference in New Issue
Block a user