lockbox

password manager
Log | Files | Refs | README | LICENSE

commit 1e8c074b66f81509f9d4c4978aa77223f52591fb
parent e0c3f03e027b207ae4c218b6bda09358ad07c905
Author: Sean Enck <sean@ttypty.com>
Date:   Fri, 15 Jul 2022 18:26:02 -0400

cli cleanup

Diffstat:
Mcmd/lb/main.go | 8++++----
Ainternal/args.go | 23+++++++++++++++++++++++
2 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/cmd/lb/main.go b/cmd/lb/main.go @@ -93,15 +93,15 @@ func main() { case "version": fmt.Printf("version: %s\n", version) case "insert": - multi := false + options := internal.Arguments{} idx := 2 switch len(args) { case 2: internal.Die("insert missing required arguments", internal.NewLockboxError("entry required")) case 3: case 4: - multi = args[2] == "-m" || args[2] == "-multi" - if !multi { + options = internal.ParseArgs(args[2]) + if !options.Multi { internal.Die("multi-line insert must be after 'insert'", internal.NewLockboxError("invalid command")) } idx = 3 @@ -125,7 +125,7 @@ func main() { } } var password string - if !multi && !isPipe { + if !options.Multi && !isPipe { input, err := internal.ConfirmInput() if err != nil { internal.Die("password input failed", err) diff --git a/internal/args.go b/internal/args.go @@ -0,0 +1,23 @@ +package internal + +type ( + // Arguments options for operations. + Arguments struct { + Clip bool + Once bool + Short bool + List bool + Multi bool + } +) + +// ParseArgs parses CLI arguments. +func ParseArgs(arg string) Arguments { + args := Arguments{} + args.Clip = arg == "-clip" || arg == "-c" + args.Once = arg == "-once" + args.Short = arg == "-short" + args.List = arg == "-ls" || arg == "-list" + args.Multi = arg == "-m" || arg == "-multi" + return args +}