diff --git a/flags/flags.go b/flags/flags.go index 169a8e1..761d63d 100644 --- a/flags/flags.go +++ b/flags/flags.go @@ -19,7 +19,9 @@ type Val interface { } // with generic Val field, instantiate like Flag[string] -// TODO: probably struct inheritance would be cleaner, but Flag[bool] is cooler than FlagBool. +// NOTE: struct inheritance would be easier, but Flag[bool] is much cooler than FlagBool. +// and actually more readable for the initOpts function, which serves as documentation. +// so the complexity seems to be all paid up front here in this pkg. type Flag[T Val] struct { Long string Short string diff --git a/next/next.go b/next/next.go index 2936c87..8490787 100644 --- a/next/next.go +++ b/next/next.go @@ -13,7 +13,7 @@ type options struct { Help flags.Flag[bool] } -func InitOpts() options { +func initOpts() options { return options{ flags.Arg{"", "midfix file descriptor"}, flags.Arg{"", "tags to add to new file"}, @@ -21,8 +21,8 @@ func InitOpts() options { } } -func ParseArgs(args []string) options { - opts := InitOpts() +func parseArgs(args []string) options { + opts := initOpts() for i, arg := range args { switch { case i == 0 && !flags.HasDashPrefix(arg): @@ -41,6 +41,6 @@ func ParseArgs(args []string) options { } func Next(args []string) { - opts := ParseArgs(args) + opts := parseArgs(args) fmt.Println(opts) } diff --git a/tag/tag.go b/tag/tag.go index 0c2fd15..e37d6a6 100644 --- a/tag/tag.go +++ b/tag/tag.go @@ -13,7 +13,7 @@ type options struct { Help flags.Flag[bool] } -func InitOpts() options { +func initOpts() options { return options{ flags.Arg{"", "tag query"}, flags.Flag[string]{"--date", "-d", "", "date range"}, @@ -22,8 +22,8 @@ func InitOpts() options { } } -func ParseArgs(args []string) options { - opts := InitOpts() +func parseArgs(args []string) options { + opts := initOpts() for i, arg := range args { switch { case i == 0 && !flags.HasDashPrefix(arg): @@ -45,6 +45,6 @@ func ParseArgs(args []string) options { } func Tag(args []string) { - opts := ParseArgs(args) + opts := parseArgs(args) fmt.Println(opts) }