diff --git a/main.go b/main.go index dbe0166..6c99324 100644 --- a/main.go +++ b/main.go @@ -10,14 +10,20 @@ import ( ) func main() { - t, err := keyring.Get(constants.Name, "token") - if err != nil { - log.Println("token not found in keyring:", err) - } - - token := flag.String("token", t, "The authentication token.") + // Declare and parse all flags first + token := flag.String("token", "", "The authentication token.") flag.Parse() + // If no token was provided, look it up in the keyring + if *token == "" { + t, err := keyring.Get(constants.Name, "token") + if err != nil { + log.Println("Authentication token not found in keyring:", err) + } else { + *token = t + } + } + if err := cmd.Run(*token); err != nil { log.Fatal(err) }