um/flags/flags.go

24 lines
451 B
Go

package flags
import (
"fmt"
"strings"
)
type Flag string
func (f Flag) Dash() string {
return fmt.Sprintf("--%s", f)
}
// prepend --flag to args if a flag isn't there:
// allows trailing flags:
// um tag foo --invert
// becomes:
// um tag --query foo --invert
func PrependFlagToArgs(args []string, flag Flag) []string {
if len(args) >= 1 && !strings.HasPrefix(args[0], "-") {
args = append([]string{flag.Dash()}, args...)
}
return args
}