24 lines
451 B
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
|
|
}
|