cobra icon indicating copy to clipboard operation
cobra copied to clipboard

feat: Multiple Required/Persistent Flags

Open SeanPino opened this issue 1 year ago • 1 comments

This adds the ability to call MarkFlagsRequired and MarkPersistentFlagsRequired for n flags instead of one by one.

Flags:

rootCmd.Flags().StringVarP(&Region, "region", "r", "", "AWS region (required)")
rootCmd.Flags().StringVarP(&Failover, "failoverRegion", "f", "", "AWS failover region (required)")
rootCmd.MarkFlagsRequired("region", "failoverRegion")

Persistent Flags:

rootCmd.PersistentFlags().StringVarP(&Region, "region", "r", "", "AWS region (required)")
rootCmd.PersistentFlags().StringVarP(&Failover, "failoverRegion", "f", "", "AWS failover region (required)")
rootCmd.MarkPersistentFlagsRequired("region", "failoverRegion")

This is similar to grouping but doesn't have the drawback of needing any members of the group to be set just all are required.

SeanPino avatar Feb 20 '24 16:02 SeanPino

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Feb 20 '24 16:02 CLAassistant