...
1 package utilities
2
3 import (
4 "flag"
5 "strings"
6 )
7
8
9 type flagInterface interface {
10 Var(value flag.Value, name string, usage string)
11 }
12
13
14
15 func StringArrayFlag(f flagInterface, name string, usage string) *StringArrayFlags {
16 value := &StringArrayFlags{}
17 f.Var(value, name, usage)
18 return value
19 }
20
21
22 type StringArrayFlags []string
23
24
25 func (i *StringArrayFlags) String() string {
26 return strings.Join(*i, ",")
27 }
28
29
30 func (i *StringArrayFlags) Set(value string) error {
31 *i = append(*i, value)
32 return nil
33 }
34
View as plain text