diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2017-02-18 19:24:15 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2017-02-18 19:25:32 +0100 |
| commit | f6a7a62c9de6348532cdf608ef554bc78c433935 (patch) | |
| tree | 6dd7984011e06e724021fa482d20637be6cdac7f | |
| parent | 4e611c3d77496aa8ac7d08ec71fbc05abfffab32 (diff) | |
| download | goffel-f6a7a62c9de6348532cdf608ef554bc78c433935.tar.gz goffel-f6a7a62c9de6348532cdf608ef554bc78c433935.zip | |
cmd: improve error strings of ParseCmd
| -rw-r--r-- | logic/cmd.go | 11 |
1 files 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 |
