aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go
diff options
context:
space:
mode:
authorBas van Kervel <bas@ethdev.com>2016-06-09 17:44:42 +0800
committerBas van Kervel <bas@ethdev.com>2016-06-09 21:37:13 +0800
commit861add3d72bcfc6c6a8976eb82dc3e7b5288883e (patch)
tree88b062eafe5acc8ed8028d04638ed8bf2e7acfaf /Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go
parentc75d3b0ede005afc30aaa61f27bb5bbe2cf6a3f1 (diff)
downloadgo-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar.gz
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar.bz2
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar.lz
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar.xz
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.tar.zst
go-tangerine-861add3d72bcfc6c6a8976eb82dc3e7b5288883e.zip
cmd/geth: codegansta/cli package renamed to urfave/cli
Diffstat (limited to 'Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go')
-rw-r--r--Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go b/Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go
new file mode 100644
index 000000000..1a6055023
--- /dev/null
+++ b/Godeps/_workspace/src/gopkg.in/urfave/cli.v1/category.go
@@ -0,0 +1,44 @@
+package cli
+
+// CommandCategories is a slice of *CommandCategory.
+type CommandCategories []*CommandCategory
+
+// CommandCategory is a category containing commands.
+type CommandCategory struct {
+ Name string
+ Commands Commands
+}
+
+func (c CommandCategories) Less(i, j int) bool {
+ return c[i].Name < c[j].Name
+}
+
+func (c CommandCategories) Len() int {
+ return len(c)
+}
+
+func (c CommandCategories) Swap(i, j int) {
+ c[i], c[j] = c[j], c[i]
+}
+
+// AddCommand adds a command to a category.
+func (c CommandCategories) AddCommand(category string, command Command) CommandCategories {
+ for _, commandCategory := range c {
+ if commandCategory.Name == category {
+ commandCategory.Commands = append(commandCategory.Commands, command)
+ return c
+ }
+ }
+ return append(c, &CommandCategory{Name: category, Commands: []Command{command}})
+}
+
+// VisibleCommands returns a slice of the Commands with Hidden=false
+func (c *CommandCategory) VisibleCommands() []Command {
+ ret := []Command{}
+ for _, command := range c.Commands {
+ if !command.Hidden {
+ ret = append(ret, command)
+ }
+ }
+ return ret
+}