diff options
Diffstat (limited to 'multi_string_flag.go')
-rw-r--r-- | multi_string_flag.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/multi_string_flag.go b/multi_string_flag.go new file mode 100644 index 00000000..ba6d92ea --- /dev/null +++ b/multi_string_flag.go @@ -0,0 +1,22 @@ +package main + +import ( + "strings" +) + +// MultiStringFlag implements the flag.Value interface and allows a string flag +// to be specified multiple times on the command line. +// +// e.g.: -listen-http 127.0.0.1:80 -listen-http [::1]:80 +type MultiStringFlag []string + +// String returns the list of parameters joined with a commas (",") +func (s *MultiStringFlag) String() string { + return strings.Join(*s, ",") +} + +// Set appends the value to the list of parameters +func (s *MultiStringFlag) Set(value string) error { + *s = append(*s, value) + return nil +} |