Skip to content

Commit e13c92d

Browse files
committed
refactor(param): extract creating cli param funcs
1 parent 09c621c commit e13c92d

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

src/param/cli.go

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import (
1010
"strings"
1111
)
1212

13-
var cliCmd *goNixArgParser.Command
13+
var cliCmd = NewCliCmd()
1414

15-
func init() {
16-
cliCmd = goNixArgParser.NewSimpleCommand(os.Args[0], "Simple command line based HTTP file server to share local file system")
17-
options := cliCmd.Options()
15+
func NewCliCmd() *goNixArgParser.Command {
16+
cmd := goNixArgParser.NewSimpleCommand(os.Args[0], "Simple command line based HTTP file server to share local file system")
17+
options := cmd.Options()
1818
var opt goNixArgParser.Option
1919

2020
// define option
@@ -193,11 +193,13 @@ func init() {
193193

194194
err = options.AddFlags("help", []string{"-h", "--help"}, "", "print this help")
195195
serverError.CheckFatal(err)
196+
197+
return cmd
196198
}
197199

198-
func ParseFromArgs(args []string) (params []*Param, printVersion, printHelp bool, errs []error) {
200+
func ArgsToCmdResults(cmd *goNixArgParser.Command, args []string) (results []*goNixArgParser.ParseResult, printVersion, printHelp bool, errs []error) {
199201
// parse option
200-
results := cliCmd.ParseGroups(args, nil)
202+
results = cmd.ParseGroups(args, nil)
201203

202204
// pre-check
203205
for _, result := range results {
@@ -273,6 +275,10 @@ func ParseFromArgs(args []string) (params []*Param, printVersion, printHelp bool
273275
}
274276
}
275277

278+
return
279+
}
280+
281+
func CmdResultsToParams(results []*goNixArgParser.ParseResult) (params []*Param, errs []error) {
276282
// init param data
277283
params = make([]*Param, 0, len(results))
278284
for _, result := range results {
@@ -413,7 +419,15 @@ func ParseFromArgs(args []string) (params []*Param, printVersion, printHelp bool
413419
}
414420

415421
func ParseFromCli() (params []*Param, printVersion, printHelp bool, errs []error) {
416-
return ParseFromArgs(os.Args)
422+
var cmdResults []*goNixArgParser.ParseResult
423+
424+
cmdResults, printVersion, printHelp, errs = ArgsToCmdResults(cliCmd, os.Args)
425+
if printVersion || printHelp || len(errs) > 0 {
426+
return
427+
}
428+
429+
params, errs = CmdResultsToParams(cmdResults)
430+
return
417431
}
418432

419433
func PrintHelp() {

0 commit comments

Comments
 (0)