github.com/WindomZ/go-commander@v1.2.2/commands.go (about) 1 package commander 2 3 // _Commands Command line commands implementation 4 type _Commands []*_Command 5 6 // OptionsString 7 func (c _Commands) OptionsString() (r map[string]string) { 8 r = make(map[string]string, len(c)) 9 for _, cmd := range c { 10 opts := cmd.OptionsString() 11 for k, v := range opts { 12 r[k] = v 13 } 14 } 15 return 16 } 17 18 // CommandsString 19 func (c _Commands) CommandsString(prefix string) (r []string) { 20 for _, cmd := range c { 21 r = append(r, cmd.CommandsString(prefix)...) 22 } 23 return 24 } 25 26 func (c _Commands) run(context Context) _Result { 27 for _, cmd := range c { 28 if r := cmd.run(context); r != nil { 29 return r 30 } 31 } 32 return nil 33 }