mirror of
https://github.com/ipfs/kubo.git
synced 2025-09-10 14:34:24 +08:00

dependencies are vendored into Godeps/_workspace and commit versions are recorded in Godeps.json update datastore to e89f0511 update go.crypto
75 lines
1.8 KiB
Go
75 lines
1.8 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/commander"
|
|
u "github.com/jbenet/go-ipfs/util"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
var cmdIpfsCommands = &commander.Command{
|
|
UsageLine: "commands",
|
|
Short: "List all available commands.",
|
|
Long: `ipfs commands - List all available commands.
|
|
|
|
Lists all available commands (and sub-commands) and exits.
|
|
`,
|
|
Run: commandsCmd,
|
|
Subcommands: []*commander.Command{
|
|
cmdIpfsCommandsHelp,
|
|
},
|
|
}
|
|
|
|
func commandsCmd(c *commander.Command, args []string) error {
|
|
var listCmds func(c *commander.Command)
|
|
listCmds = func(c *commander.Command) {
|
|
u.POut("%s\n", c.FullSpacedName())
|
|
for _, sc := range c.Subcommands {
|
|
listCmds(sc)
|
|
}
|
|
}
|
|
|
|
listCmds(c.Parent)
|
|
return nil
|
|
}
|
|
|
|
var cmdIpfsCommandsHelp = &commander.Command{
|
|
UsageLine: "help",
|
|
Short: "List all available commands' help pages.",
|
|
Long: `ipfs commands help - List all available commands's help pages.
|
|
|
|
Shows the pages of all available commands (and sub-commands) and exits.
|
|
Outputs a markdown document.
|
|
`,
|
|
Run: commandsHelpCmd,
|
|
}
|
|
|
|
func commandsHelpCmd(c *commander.Command, args []string) error {
|
|
u.POut(referenceHeaderMsg)
|
|
u.POut("Generated on %s.\n\n", time.Now().UTC().Format("2006-01-02"))
|
|
|
|
var printCmds func(*commander.Command, int)
|
|
printCmds = func(c *commander.Command, level int) {
|
|
u.POut("%s ", strings.Repeat("#", level))
|
|
u.POut("%s\n\n", c.FullSpacedName())
|
|
u.POut("```\n")
|
|
u.POut("%s\n", c.Long)
|
|
u.POut("```\n\n")
|
|
|
|
for _, sc := range c.Subcommands {
|
|
printCmds(sc, level+1)
|
|
}
|
|
}
|
|
|
|
printCmds(c.Parent.Parent, 1)
|
|
return nil
|
|
}
|
|
|
|
const referenceHeaderMsg = `
|
|
# ipfs command reference
|
|
|
|
This document lists every ipfs command (including subcommands), along with
|
|
its help page. It can be viewed by running 'ipfs commands help'.
|
|
|
|
`
|