1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-10 14:34:24 +08:00
Files
kubo/cmd/ipfs/commands.go
Brian Tiger Chow 7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00

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'.
`