mirror of
https://github.com/spf13/cobra
synced 2024-11-24 14:47:12 +00:00
add error check to RemoveGroup command
This commit is contained in:
parent
08be2cb981
commit
02094ac5c5
1 changed files with 7 additions and 1 deletions
|
@ -1325,18 +1325,23 @@ func (c *Command) AddGroup(groups ...*Group) {
|
|||
}
|
||||
|
||||
// RemoveGroup removes one or more command groups to this parent command.
|
||||
func (c *Command) RemoveGroup(groupIDs ...string) {
|
||||
func (c *Command) RemoveGroup(groupIDs ...string) error {
|
||||
// remove groups from commandgroups
|
||||
groups := []*Group{}
|
||||
hasRemoved := false
|
||||
main:
|
||||
for _, group := range c.commandgroups {
|
||||
for _, groupID := range groupIDs {
|
||||
if group.ID == groupID {
|
||||
hasRemoved = true
|
||||
continue main
|
||||
}
|
||||
}
|
||||
groups = append(groups, group)
|
||||
}
|
||||
if !hasRemoved {
|
||||
return fmt.Errorf("following group ID does not exist; %s", strings.Join(groupIDs, ", "))
|
||||
}
|
||||
c.commandgroups = groups
|
||||
// remove the groupID from the target commands
|
||||
for _, command := range c.commands {
|
||||
|
@ -1357,6 +1362,7 @@ main:
|
|||
c.resetCompletionCommandGroupID()
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// RemoveCommand removes one or more commands from a parent command.
|
||||
|
|
Loading…
Reference in a new issue