github.com/tomwright/dasel@v1.27.3/internal/oflag/flags.go (about) 1 package oflag 2 3 import ( 4 "fmt" 5 ) 6 7 // StringList is a flag that can collect multiple strings. 8 type StringList struct { 9 Strings []string 10 } 11 12 // NewStringList returns a new string list flag. 13 func NewStringList() *StringList { 14 return &StringList{ 15 Strings: []string{}, 16 } 17 } 18 19 // Type returns the type of flag. 20 func (o *StringList) Type() string { 21 return "Pass multiple times to add multiple values." 22 } 23 24 // String returns a string representation of all Override's within the OverrideFlag. 25 func (o *StringList) String() string { 26 return fmt.Sprint(o.Strings) 27 } 28 29 // Set is used to add a new value to the OverrideFlag. 30 func (o *StringList) Set(value string) error { 31 o.Strings = append(o.Strings, value) 32 return nil 33 }