next : use new flags logic, tags as slice of Arg
This commit is contained in:
parent
d89b48adc3
commit
109591f938
4 changed files with 41 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
||||||
um
|
um
|
||||||
|
go
|
||||||
|
|
|
||||||
BIN
go
BIN
go
Binary file not shown.
41
next/next.go
41
next/next.go
|
|
@ -1,8 +1,45 @@
|
||||||
package next
|
package next
|
||||||
|
|
||||||
import "fmt"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/brtholomy/um/go/flags"
|
||||||
|
)
|
||||||
|
|
||||||
|
type options struct {
|
||||||
|
descriptor flags.Arg
|
||||||
|
tags []flags.Arg
|
||||||
|
}
|
||||||
|
|
||||||
|
func InitOpts() options {
|
||||||
|
return options{
|
||||||
|
flags.Arg{"", "midfix file descriptor"},
|
||||||
|
[]flags.Arg{},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func ParseArgs(args []string) options {
|
||||||
|
opts := InitOpts()
|
||||||
|
for i, arg := range args {
|
||||||
|
switch {
|
||||||
|
case i == 0 && !flags.HasDashPrefix(arg):
|
||||||
|
opts.descriptor.Val = args[0]
|
||||||
|
case i == 1 && !flags.HasDashPrefix(arg):
|
||||||
|
for _, t := range strings.Split(args[1], ",") {
|
||||||
|
opts.tags = append(opts.tags, flags.Arg{t, "tag"})
|
||||||
|
}
|
||||||
|
case i >= 2:
|
||||||
|
fmt.Println("um next : too many args")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return opts
|
||||||
|
}
|
||||||
|
|
||||||
func Next(args []string) {
|
func Next(args []string) {
|
||||||
fmt.Println("next")
|
fmt.Println("next")
|
||||||
fmt.Println(args)
|
opts := ParseArgs(args)
|
||||||
|
fmt.Println(opts)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -46,5 +46,5 @@ func ParseArgs(args []string) options {
|
||||||
func Tag(args []string) {
|
func Tag(args []string) {
|
||||||
fmt.Printf("args: %#v\n", args)
|
fmt.Printf("args: %#v\n", args)
|
||||||
opts := ParseArgs(args)
|
opts := ParseArgs(args)
|
||||||
fmt.Printf("opts: %#v\n", opts)
|
fmt.Println(opts)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue