ParseFlagsWithoutArgumentsWithEnv is like [ParseFlagsWithoutArguments] but also sets flag values from environment variables using [SetFlagsFromEnv]. CLI flags take precedence over environment variables, which take precedence over default values.
(f *flag.FlagSet, prefix string)
| 48 | // CLI flags take precedence over environment variables, which take precedence |
| 49 | // over default values. |
| 50 | func ParseFlagsWithoutArgumentsWithEnv(f *flag.FlagSet, prefix string) error { |
| 51 | if err := f.Parse(os.Args[1:]); err != nil { |
| 52 | return err |
| 53 | } |
| 54 | |
| 55 | if err := SetFlagsFromEnv(f, prefix); err != nil { |
| 56 | return err |
| 57 | } |
| 58 | |
| 59 | if f.NArg() > 0 { |
| 60 | return fmt.Errorf("the command does not support any argument, but some were provided: %s", strings.Join(f.Args(), " ")) |
| 61 | } |
| 62 | |
| 63 | return nil |
| 64 | } |