Repository navigation
v2.4.0
What's New
Custom Flag Validation
Flags now support an optional Validate func(string) error field on FlagOptions. The validation function runs after Value.Set succeeds, giving you control over accepted values for any flag — named, positional, or prompted.
cmd.Flags.StringVar(clix.StringVarOptions{
FlagOptions: clix.FlagOptions{
Name: "repository",
Required: true,
Positional: true,
Validate: func(s string) error {
if !strings.Contains(s, "/") {
return fmt.Errorf("repository must be in OWNER/REPO format")
}
return nil
},
},
Value: &repository,
})Validation runs in all three input paths:
- Named flags (
--flag value) - Positional arguments (
cmd value) - Interactive prompts (when required flags are missing)
A WithFlagValidate(fn) functional option is also available for the functional options API.
What's Changed
- Add VHS demo GIF generation by @SCKelemen in #18
Full Changelog: v0.2.0...v2.4.0