code: func run(c *cobra.Command, args []string) {
  	// TODO: works with flags inbetween?
  	if len(args) == 0 {
  		rootCommands()
  		flags(root.Command)
  		return
  	}
  
  	// find command, on error assume it's in-complete
  	// or missing and all root commands are shown
  	cmd := find(args[0])
  	if cmd == nil {
  		rootCommands()
  		flags(root.Command)
  		return
  	}
  
  	// command flags
  	flags(cmd)
  
  	// always show root flags
  	flags(root.Command)
  
  	// command accepts functions
  	if ok := funcCommands[cmd.Name()]; ok {
  		functions(args)
  	}
  }
docs: // Run command.