diff options
| author | Jakob Unterwurzacher | 2018-08-11 23:25:17 +0200 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2018-08-11 23:25:17 +0200 | 
| commit | eaa5aecd422bc4f6b01b6257383521ad512e08f7 (patch) | |
| tree | 486d98da0b415cb602f87b444b789b2de18cb497 | |
| parent | 06f1ea951b03b4a0e8f6090c6657b8e0238da271 (diff) | |
cli: add multipleStrings type
Will be used for --exclude.
| -rw-r--r-- | cli_args.go | 12 | ||||
| -rw-r--r-- | cli_args_test.go | 11 | 
2 files changed, 23 insertions, 0 deletions
| diff --git a/cli_args.go b/cli_args.go index 69e8bdf..1314ed7 100644 --- a/cli_args.go +++ b/cli_args.go @@ -39,6 +39,18 @@ type argContainer struct {  	_forceOwner *fuse.Owner  } +type multipleStrings []string + +func (s *multipleStrings) String() string { +	s2 := []string(*s) +	return fmt.Sprint(s2) +} + +func (s *multipleStrings) Set(val string) error { +	*s = append(*s, val) +	return nil +} +  var flagSet *flag.FlagSet  // prefixOArgs transform options passed via "-o foo,bar" into regular options diff --git a/cli_args_test.go b/cli_args_test.go index dd5dcd1..8e5ae3d 100644 --- a/cli_args_test.go +++ b/cli_args_test.go @@ -77,3 +77,14 @@ func TestPrefixOArgs(t *testing.T) {  		}  	}  } + +func TestStringSlice(t *testing.T) { +	var s multipleStrings +	s.Set("foo") +	s.Set("bar") +	want := "[foo bar]" +	have := s.String() +	if want != have { +		t.Errorf("Wrong string representation: want=%q have=%q", want, have) +	} +} | 
