in cli/completer.go [30:61]
func buildAPICacheMap(apiMap map[string][]*config.API) map[string][]*config.API {
for _, cmd := range cmd.AllCommands() {
verb := cmd.Name
if cmd.SubCommands != nil && len(cmd.SubCommands) > 0 {
for command, opts := range cmd.SubCommands {
var args []*config.APIArg
options := opts
if command == "profile" {
options = config.GetProfiles()
}
for _, opt := range options {
args = append(args, &config.APIArg{
Name: opt,
})
}
apiMap[verb] = append(apiMap[verb], &config.API{
Name: command,
Verb: verb,
Noun: command,
Args: args,
})
}
} else {
dummyAPI := &config.API{
Name: "",
Verb: verb,
}
apiMap[verb] = append(apiMap[verb], dummyAPI)
}
}
return apiMap
}