From f6a7a62c9de6348532cdf608ef554bc78c433935 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sat, 18 Feb 2017 19:24:15 +0100 Subject: cmd: improve error strings of ParseCmd --- logic/cmd.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/logic/cmd.go b/logic/cmd.go index dac6aad..dd65a1b 100644 --- a/logic/cmd.go +++ b/logic/cmd.go @@ -50,13 +50,16 @@ func ParseCmd(s string) (Cmd, error) { if i, exists := cmdTable[split[1]]; exists { argv = append(argv, i) argc++ + } else { + return Cmd{}, fmt.Errorf("Invalid help topic \"%s\"", split[1]) } } if argc < 1 { argv = append(argv, 0) argc++ } - case "i", "insert": fallthrough + case "i", "insert": + fallthrough case "c", "cancel": if len(split) < 2 { return Cmd{}, errors.New(split[0] + ": missing argument") @@ -66,7 +69,7 @@ func ParseCmd(s string) (Cmd, error) { } else if i, err := strconv.Atoi(split[1]); err != nil { return Cmd{}, err } else if i < 1 || i > 13 { - return Cmd{}, errors.New(split[0] + ": position out of range") + return Cmd{}, fmt.Errorf("%s: %d out of range", split[0], i) } else { argv = append(argv, i-1) } @@ -78,7 +81,7 @@ func ParseCmd(s string) (Cmd, error) { return Cmd{}, err } if i < 1 || i > 5 { - return Cmd{}, errors.New("r: dice index out of range") + return Cmd{}, fmt.Errorf("r: %d out of range", i) } argv = append(argv, i) argc++ @@ -92,7 +95,7 @@ func ParseCmd(s string) (Cmd, error) { argv = append(argv, cmdTable["pos"]) argc++ default: - return Cmd{}, errors.New("Invalid command") + return Cmd{}, fmt.Errorf("Invalid command \"%v\"", split[0]) } return Cmd{split[0], argv[0:argc], argc}, nil -- cgit v1.2.3