Skip to content

Commit 10005c1

Browse files
committed
chore: update goNixArgParser
- refactor(optionSet): use value parameter to get copied argument - feat(optionSet): remove default option delimiter
1 parent 0e022af commit 10005c1

File tree

4 files changed

+24
-30
lines changed

4 files changed

+24
-30
lines changed

src/goNixArgParser/optionSet.go

+8-14
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"strings"
88
)
99

10-
var defaultOptionDelimiters = []rune{',', ' ', '\t', '\v', '\r', '\n'}
11-
1210
func StringToSlice(input string) []string {
1311
if len(input) == 0 {
1412
return nil
@@ -90,7 +88,7 @@ func (s *OptionSet) isUdefFlag(input string) bool {
9088
return false
9189
}
9290

93-
func (s *OptionSet) Append(opt *Option) error {
91+
func (s *OptionSet) Append(opt Option) error {
9492
// verify
9593
if len(opt.Key) == 0 {
9694
return errors.New("key is empty")
@@ -109,9 +107,7 @@ func (s *OptionSet) Append(opt *Option) error {
109107
}
110108
}
111109

112-
// copy
113-
optCopied := *opt
114-
option := &optCopied
110+
option := &opt
115111

116112
// append
117113
s.options = append(s.options, option)
@@ -161,7 +157,7 @@ func (s *OptionSet) Append(opt *Option) error {
161157
}
162158

163159
func (s *OptionSet) AddFlag(key, flag, envVar, summary string) error {
164-
return s.Append(&Option{
160+
return s.Append(Option{
165161
Key: key,
166162
Flags: []*Flag{NewSimpleFlag(flag)},
167163
EnvVars: StringToSlice(envVar),
@@ -170,7 +166,7 @@ func (s *OptionSet) AddFlag(key, flag, envVar, summary string) error {
170166
}
171167

172168
func (s *OptionSet) AddFlags(key string, flags []string, envVar, summary string) error {
173-
return s.Append(&Option{
169+
return s.Append(Option{
174170
Key: key,
175171
Flags: NewSimpleFlags(flags),
176172
EnvVars: StringToSlice(envVar),
@@ -179,7 +175,7 @@ func (s *OptionSet) AddFlags(key string, flags []string, envVar, summary string)
179175
}
180176

181177
func (s *OptionSet) AddFlagValue(key, flag, envVar, defaultValue, summary string) error {
182-
return s.Append(&Option{
178+
return s.Append(Option{
183179
Key: key,
184180
Flags: []*Flag{NewSimpleFlag(flag)},
185181
AcceptValue: true,
@@ -191,12 +187,11 @@ func (s *OptionSet) AddFlagValue(key, flag, envVar, defaultValue, summary string
191187
}
192188

193189
func (s *OptionSet) AddFlagValues(key, flag, envVar string, defaultValues []string, summary string) error {
194-
return s.Append(&Option{
190+
return s.Append(Option{
195191
Key: key,
196192
Flags: []*Flag{NewSimpleFlag(flag)},
197193
AcceptValue: true,
198194
MultiValues: true,
199-
Delimiters: defaultOptionDelimiters,
200195
UniqueValues: true,
201196
EnvVars: StringToSlice(envVar),
202197
DefaultValues: defaultValues,
@@ -205,7 +200,7 @@ func (s *OptionSet) AddFlagValues(key, flag, envVar string, defaultValues []stri
205200
}
206201

207202
func (s *OptionSet) AddFlagsValue(key string, flags []string, envVar, defaultValue, summary string) error {
208-
return s.Append(&Option{
203+
return s.Append(Option{
209204
Key: key,
210205
Flags: NewSimpleFlags(flags),
211206
AcceptValue: true,
@@ -217,12 +212,11 @@ func (s *OptionSet) AddFlagsValue(key string, flags []string, envVar, defaultVal
217212
}
218213

219214
func (s *OptionSet) AddFlagsValues(key string, flags []string, envVar string, defaultValues []string, summary string) error {
220-
return s.Append(&Option{
215+
return s.Append(Option{
221216
Key: key,
222217
Flags: NewSimpleFlags(flags),
223218
AcceptValue: true,
224219
MultiValues: true,
225-
Delimiters: defaultOptionDelimiters,
226220
UniqueValues: true,
227221
EnvVars: StringToSlice(envVar),
228222
DefaultValues: defaultValues,

src/goNixArgParser/optionSetParse1_test.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ func TestParse1(t *testing.T) {
99
var err error
1010

1111
s := NewOptionSet("-", []string{"--"}, []string{",,"}, []string{"-"})
12-
err = s.Append(&Option{
12+
err = s.Append(Option{
1313
Key: "tag",
1414
Summary: "tag summary",
1515
Description: "tag description",
@@ -20,7 +20,7 @@ func TestParse1(t *testing.T) {
2020
t.Error(err)
2121
}
2222

23-
err = s.Append(&Option{
23+
err = s.Append(Option{
2424
Key: "single",
2525
Summary: "single summary",
2626
Description: "single description",
@@ -31,7 +31,7 @@ func TestParse1(t *testing.T) {
3131
t.Error(err)
3232
}
3333

34-
err = s.Append(&Option{
34+
err = s.Append(Option{
3535
Key: "multi",
3636
Flags: NewSimpleFlags([]string{"-m", "--multi"}),
3737
AcceptValue: true,
@@ -42,7 +42,7 @@ func TestParse1(t *testing.T) {
4242
t.Error(err)
4343
}
4444

45-
err = s.Append(&Option{
45+
err = s.Append(Option{
4646
Key: "deft",
4747
Flags: NewSimpleFlags([]string{"-df", "--default"}),
4848
AcceptValue: true,
@@ -52,7 +52,7 @@ func TestParse1(t *testing.T) {
5252
t.Error(err)
5353
}
5454

55-
err = s.Append(&Option{
55+
err = s.Append(Option{
5656
Key: "singleMissingValue",
5757
Flags: NewSimpleFlags([]string{"-sm", "--single-missing"}),
5858
AcceptValue: true,
@@ -61,7 +61,7 @@ func TestParse1(t *testing.T) {
6161
t.Error(err)
6262
}
6363

64-
err = s.Append(&Option{
64+
err = s.Append(Option{
6565
Key: "flagX",
6666
Flags: NewSimpleFlags([]string{"-x"}),
6767
AcceptValue: true,
@@ -70,7 +70,7 @@ func TestParse1(t *testing.T) {
7070
t.Error(err)
7171
}
7272

73-
err = s.Append(&Option{
73+
err = s.Append(Option{
7474
Key: "flagY",
7575
Flags: NewSimpleFlags([]string{"-y"}),
7676
AcceptValue: true,
@@ -79,7 +79,7 @@ func TestParse1(t *testing.T) {
7979
t.Error(err)
8080
}
8181

82-
err = s.Append(&Option{
82+
err = s.Append(Option{
8383
Key: "withEqual",
8484
Flags: []*Flag{
8585
{Name: "--with-equal", assignSigns: []string{"="}},
@@ -90,7 +90,7 @@ func TestParse1(t *testing.T) {
9090
t.Error(err)
9191
}
9292

93-
err = s.Append(&Option{
93+
err = s.Append(Option{
9494
Key: "withConcat",
9595
Flags: []*Flag{
9696
{Name: "-w", canConcatAssign: true},
@@ -101,7 +101,7 @@ func TestParse1(t *testing.T) {
101101
t.Error(err)
102102
}
103103

104-
err = s.Append(&Option{
104+
err = s.Append(Option{
105105
Key: "fromenv",
106106
Flags: []*Flag{
107107
{Name: "--from-env", assignSigns: []string{"="}},

src/goNixArgParser/optionSetParse2_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88
func TestParse2(t *testing.T) {
99
var err error
1010

11-
s := NewOptionSet("", nil, nil,nil)
11+
s := NewOptionSet("", nil, nil, nil)
1212

13-
err = s.Append(&Option{
13+
err = s.Append(Option{
1414
Key: "deft",
1515
Flags: []*Flag{{Name: "-df"}, {Name: "--default"}},
1616
AcceptValue: true,
@@ -55,7 +55,7 @@ func TestParse2(t *testing.T) {
5555
t.Error(err)
5656
}
5757

58-
err = s.Append(&Option{
58+
err = s.Append(Option{
5959
Key: "props",
6060
Summary: "properties",
6161
Description: "single description",

src/goNixArgParser/optionSetParse3_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ func TestParse3(t *testing.T) {
99

1010
s := NewOptionSet("-", nil, []string{",,"}, []string{"-"})
1111

12-
err = s.Append(&Option{
12+
err = s.Append(Option{
1313
Key: "bool",
1414
Flags: []*Flag{{Name: "-b", canMerge: true}, {Name: "--bool"}},
1515
AcceptValue: false,
@@ -18,7 +18,7 @@ func TestParse3(t *testing.T) {
1818
t.Error(err)
1919
}
2020

21-
err = s.Append(&Option{
21+
err = s.Append(Option{
2222
Key: "port",
2323
Flags: []*Flag{{Name: "-p", canMerge: true, canFollowAssign: true, assignSigns: []string{"="}}, {Name: "--port", canFollowAssign: true}},
2424
AcceptValue: true,
@@ -27,7 +27,7 @@ func TestParse3(t *testing.T) {
2727
t.Error(err)
2828
}
2929

30-
err = s.Append(&Option{
30+
err = s.Append(Option{
3131
Key: "root",
3232
Flags: []*Flag{{Name: "-r"}, {Name: "--root", canFollowAssign: true}},
3333
AcceptValue: true,

0 commit comments

Comments
 (0)