summaryrefslogtreecommitdiffstats
path: root/help.go
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2015-07-10 20:18:20 +0000
committerBrian Cully <bjc@kublai.com>2015-07-10 20:18:20 +0000
commit17d71eaa18bfeb07fab78ac13b1c4fca8379a6d0 (patch)
tree8563961a34994e5862d4680dbd897d5955a3b70c /help.go
parent16815048d2f7f770a454597a39838e63014132f2 (diff)
downloadgoctl-17d71eaa18bfeb07fab78ac13b1c4fca8379a6d0.tar.gz
goctl-17d71eaa18bfeb07fab78ac13b1c4fca8379a6d0.zip
Rename cmd modules.
Diffstat (limited to 'help.go')
-rw-r--r--help.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/help.go b/help.go
new file mode 100644
index 0000000..b14471c
--- /dev/null
+++ b/help.go
@@ -0,0 +1,32 @@
+package goctl
+
+import (
+ "fmt"
+ "sort"
+ "strings"
+)
+
+type cmdHelp struct{}
+
+func (cmd cmdHelp) Name() string {
+ return "help"
+}
+
+func (cmd cmdHelp) Help() string {
+ return "show this message"
+}
+
+func (cmd cmdHelp) Run(gc *Goctl, args []string) string {
+ rc := []string{"Available commands:", ""}
+ cmds := []string{}
+ for _, h := range gc.handlers {
+ cmds = append(cmds, fmt.Sprintf("\t%s\t%s", h.Name(), h.Help()))
+ }
+ sort.Strings(cmds)
+ rc = append(rc, cmds...)
+ return strings.Join(rc, "\n")
+}
+
+func init() {
+ builtinHandlers = append(builtinHandlers, cmdHelp{})
+}