aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2017-02-18 19:24:15 +0100
committerFlorian Fischer <florian.fl.fischer@fau.de>2017-02-18 19:25:32 +0100
commitf6a7a62c9de6348532cdf608ef554bc78c433935 (patch)
tree6dd7984011e06e724021fa482d20637be6cdac7f
parent4e611c3d77496aa8ac7d08ec71fbc05abfffab32 (diff)
downloadgoffel-f6a7a62c9de6348532cdf608ef554bc78c433935.tar.gz
goffel-f6a7a62c9de6348532cdf608ef554bc78c433935.zip
cmd: improve error strings of ParseCmd
-rw-r--r--logic/cmd.go11
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