1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-26 15:42:21 +08:00

core/commands2: Added function to generate a 'commands' command for a root

This commit is contained in:
Matt Bell
2014-11-12 16:55:08 -08:00
committed by Juan Batiz-Benet
parent fd8b1930af
commit f797d13579
2 changed files with 20 additions and 16 deletions

View File

@ -11,13 +11,16 @@ type Command struct {
Subcommands []Command Subcommands []Command
} }
var commandsCmd = &cmds.Command{ // CommandsCmd takes in a root command,
// and returns a command that lists the subcommands in that root
func CommandsCmd(root *cmds.Command) *cmds.Command {
return &cmds.Command{
Description: "List all available commands.", Description: "List all available commands.",
Help: `Lists all available commands (and subcommands) and exits. Help: `Lists all available commands (and subcommands) and exits.
`, `,
Run: func(req cmds.Request) (interface{}, error) { Run: func(req cmds.Request) (interface{}, error) {
root := outputCommand("ipfs", Root) root := outputCommand("ipfs", root)
return &root, nil return &root, nil
}, },
Marshallers: map[cmds.EncodingType]cmds.Marshaller{ Marshallers: map[cmds.EncodingType]cmds.Marshaller{
@ -28,6 +31,7 @@ var commandsCmd = &cmds.Command{
}, },
}, },
Type: &Command{}, Type: &Command{},
}
} }
func outputCommand(name string, cmd *cmds.Command) Command { func outputCommand(name string, cmd *cmds.Command) Command {

View File

@ -52,7 +52,7 @@ Plumbing commands:
var rootSubcommands = map[string]*cmds.Command{ var rootSubcommands = map[string]*cmds.Command{
"cat": catCmd, "cat": catCmd,
"ls": lsCmd, "ls": lsCmd,
"commands": commandsCmd, "commands": CommandsCmd(Root),
"name": nameCmd, "name": nameCmd,
"add": addCmd, "add": addCmd,
"log": logCmd, "log": logCmd,