@@ -17,6 +17,7 @@ type Flag struct {
1717 Help string
1818 IsRequired bool
1919 AlwaysPrompt bool
20+ AlsoKnownAs []string
2021}
2122
2223func (f Flag ) GetName () string {
@@ -36,7 +37,16 @@ func (f Flag) GetIsRequired() bool {
3637}
3738
3839func (f * Flag ) IsSet (cmd * cobra.Command ) bool {
39- return cmd .Flags ().Changed (f .LongForm )
40+ if cmd .Flags ().Changed (f .LongForm ) {
41+ return true
42+ }
43+ // Check if any alias is set.
44+ for _ , alias := range f .AlsoKnownAs {
45+ if cmd .Flags ().Changed (alias ) {
46+ return true
47+ }
48+ }
49+ return false
4050}
4151
4252func (f * Flag ) Ask (cmd * cobra.Command , value interface {}, defaultValue * string ) error {
@@ -254,6 +264,16 @@ func openEditorFlag(cmd *cobra.Command, f *Flag, value *string, defaultValue str
254264func registerString (cmd * cobra.Command , f * Flag , value * string , defaultValue string , isUpdate bool ) {
255265 cmd .Flags ().StringVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
256266
267+ // Set up flag aliases if specified.
268+ if len (f .AlsoKnownAs ) > 0 {
269+ flag := cmd .Flags ().Lookup (f .LongForm )
270+ if flag != nil {
271+ for _ , alias := range f .AlsoKnownAs {
272+ cmd .Flags ().StringVar (value , alias , defaultValue , f .Help )
273+ }
274+ }
275+ }
276+
257277 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
258278 panic (auth0 .Error (err , "failed to register string flag" ))
259279 }
@@ -262,6 +282,16 @@ func registerString(cmd *cobra.Command, f *Flag, value *string, defaultValue str
262282func registerStringSlice (cmd * cobra.Command , f * Flag , value * []string , defaultValue []string , isUpdate bool ) {
263283 cmd .Flags ().StringSliceVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
264284
285+ // Set up flag aliases if specified.
286+ if len (f .AlsoKnownAs ) > 0 {
287+ flag := cmd .Flags ().Lookup (f .LongForm )
288+ if flag != nil {
289+ for _ , alias := range f .AlsoKnownAs {
290+ cmd .Flags ().StringSliceVar (value , alias , defaultValue , f .Help )
291+ }
292+ }
293+ }
294+
265295 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
266296 panic (auth0 .Error (err , "failed to register string slice flag" ))
267297 }
@@ -270,6 +300,16 @@ func registerStringSlice(cmd *cobra.Command, f *Flag, value *[]string, defaultVa
270300func registerStringMap (cmd * cobra.Command , f * Flag , value * map [string ]string , defaultValue map [string ]string , isUpdate bool ) {
271301 cmd .Flags ().StringToStringVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
272302
303+ // Set up flag aliases if specified.
304+ if len (f .AlsoKnownAs ) > 0 {
305+ flag := cmd .Flags ().Lookup (f .LongForm )
306+ if flag != nil {
307+ for _ , alias := range f .AlsoKnownAs {
308+ cmd .Flags ().StringToStringVar (value , alias , defaultValue , f .Help )
309+ }
310+ }
311+ }
312+
273313 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
274314 panic (auth0 .Error (err , "failed to register string map flag" ))
275315 }
@@ -278,6 +318,16 @@ func registerStringMap(cmd *cobra.Command, f *Flag, value *map[string]string, de
278318func registerInt (cmd * cobra.Command , f * Flag , value * int , defaultValue int , isUpdate bool ) {
279319 cmd .Flags ().IntVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
280320
321+ // Set up flag aliases if specified.
322+ if len (f .AlsoKnownAs ) > 0 {
323+ flag := cmd .Flags ().Lookup (f .LongForm )
324+ if flag != nil {
325+ for _ , alias := range f .AlsoKnownAs {
326+ cmd .Flags ().IntVar (value , alias , defaultValue , f .Help )
327+ }
328+ }
329+ }
330+
281331 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
282332 panic (auth0 .Error (err , "failed to register int flag" ))
283333 }
@@ -286,6 +336,16 @@ func registerInt(cmd *cobra.Command, f *Flag, value *int, defaultValue int, isUp
286336func registerIntSlice (cmd * cobra.Command , f * Flag , value * []int , defaultValue []int , isUpdate bool ) {
287337 cmd .Flags ().IntSliceVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
288338
339+ // Set up flag aliases if specified.
340+ if len (f .AlsoKnownAs ) > 0 {
341+ flag := cmd .Flags ().Lookup (f .LongForm )
342+ if flag != nil {
343+ for _ , alias := range f .AlsoKnownAs {
344+ cmd .Flags ().IntSliceVar (value , alias , defaultValue , f .Help )
345+ }
346+ }
347+ }
348+
289349 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
290350 panic (auth0 .Error (err , "failed to register int slice flag" ))
291351 }
@@ -330,6 +390,16 @@ func askIntSlice(i commandInput, value *[]int, defaultValue *[]int) error {
330390func registerBool (cmd * cobra.Command , f * Flag , value * bool , defaultValue bool , isUpdate bool ) {
331391 cmd .Flags ().BoolVarP (value , f .LongForm , f .ShortForm , defaultValue , f .Help )
332392
393+ // Set up flag aliases if specified.
394+ if len (f .AlsoKnownAs ) > 0 {
395+ flag := cmd .Flags ().Lookup (f .LongForm )
396+ if flag != nil {
397+ for _ , alias := range f .AlsoKnownAs {
398+ cmd .Flags ().BoolVar (value , alias , defaultValue , f .Help )
399+ }
400+ }
401+ }
402+
333403 if err := markFlagRequired (cmd , f , isUpdate ); err != nil {
334404 panic (auth0 .Error (err , "failed to register bool flag" ))
335405 }
0 commit comments