diff --git a/internal/cli/app.go b/internal/cli/app.go index 8b20913..92b1234 100644 --- a/internal/cli/app.go +++ b/internal/cli/app.go @@ -104,7 +104,12 @@ func (cmd *cmdEnv) subCmdFrom(args []string) error { // There should be no extra arguments. extraArgs := fs.Args() if len(extraArgs) != 0 { - return fmt.Errorf("unrecognized arguments: %+v", extraArgs) + cmd.exitVal = exitFailure + var s string + if len(extraArgs) > 1 { + s = "s" + } + return fmt.Errorf("unrecognized argument%s: %+v", s, extraArgs) } return nil @@ -119,7 +124,7 @@ func (cmd *cmdEnv) subCmdUsage(subCmdName string) { case "sync": fmt.Print(syncUsage) default: - fmt.Printf("%s %s: unrecognized subcommand %q\n", cmd.name, cmd.subCmdName, subCmdName) + fmt.Fprintf(os.Stderr, "%s %s: unrecognized subcommand %q\n", cmd.name, cmd.subCmdName, subCmdName) } } diff --git a/internal/cli/clone.go b/internal/cli/clone.go index 0c1efd7..a513078 100644 --- a/internal/cli/clone.go +++ b/internal/cli/clone.go @@ -9,7 +9,7 @@ import ( func subCmdClone(cmd *cmdEnv) { if err := cmd.subCmdFrom(cmd.subCmdArgs); err != nil { - fmt.Fprintf(os.Stderr, "%s %s: %s", cmd.name, cmd.subCmdName, err) + fmt.Fprintf(os.Stderr, "%s %s: %s\n", cmd.name, cmd.subCmdName, err) return } rs := cmd.repos()