diff --git a/flag.go b/flag.go index 60c2038c..e02abfee 100644 --- a/flag.go +++ b/flag.go @@ -190,9 +190,15 @@ type Value interface { Type() string } +// SliceValue is a secondary interface to all flags which hold a list +// of values. This allows full control over the value of list flags, +// and avoids complicated marshalling and unmarshalling to csv. type SliceValue interface { + // Append adds the specified value to the end of the flag value list. Append(string) error + // Replace will fully overwrite any data currently in the flag value list. Replace([]string) error + // GetSlice returns the flag value list as an array of strings. GetSlice() []string }