summaryrefslogtreecommitdiff
path: root/vendor/github.com/urfave/cli/v2/docs.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-12-07 13:31:39 +0100
committerLibravatar GitHub <noreply@github.com>2021-12-07 13:31:39 +0100
commit0884f89431cd26bcc9674b3b7ab628b090f5881e (patch)
treecdd3b3f77f780a8b59d075dbcc3d4d013811e405 /vendor/github.com/urfave/cli/v2/docs.go
parentUpdate dependencies (#333) (diff)
downloadgotosocial-0884f89431cd26bcc9674b3b7ab628b090f5881e.tar.xz
Implement Cobra CLI tooling, Viper config tooling (#336)
* start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma
Diffstat (limited to 'vendor/github.com/urfave/cli/v2/docs.go')
-rw-r--r--vendor/github.com/urfave/cli/v2/docs.go148
1 files changed, 0 insertions, 148 deletions
diff --git a/vendor/github.com/urfave/cli/v2/docs.go b/vendor/github.com/urfave/cli/v2/docs.go
deleted file mode 100644
index dc16fc82d..000000000
--- a/vendor/github.com/urfave/cli/v2/docs.go
+++ /dev/null
@@ -1,148 +0,0 @@
-package cli
-
-import (
- "bytes"
- "fmt"
- "io"
- "sort"
- "strings"
- "text/template"
-
- "github.com/cpuguy83/go-md2man/v2/md2man"
-)
-
-// ToMarkdown creates a markdown string for the `*App`
-// The function errors if either parsing or writing of the string fails.
-func (a *App) ToMarkdown() (string, error) {
- var w bytes.Buffer
- if err := a.writeDocTemplate(&w); err != nil {
- return "", err
- }
- return w.String(), nil
-}
-
-// ToMan creates a man page string for the `*App`
-// The function errors if either parsing or writing of the string fails.
-func (a *App) ToMan() (string, error) {
- var w bytes.Buffer
- if err := a.writeDocTemplate(&w); err != nil {
- return "", err
- }
- man := md2man.Render(w.Bytes())
- return string(man), nil
-}
-
-type cliTemplate struct {
- App *App
- Commands []string
- GlobalArgs []string
- SynopsisArgs []string
-}
-
-func (a *App) writeDocTemplate(w io.Writer) error {
- const name = "cli"
- t, err := template.New(name).Parse(MarkdownDocTemplate)
- if err != nil {
- return err
- }
- return t.ExecuteTemplate(w, name, &cliTemplate{
- App: a,
- Commands: prepareCommands(a.Commands, 0),
- GlobalArgs: prepareArgsWithValues(a.VisibleFlags()),
- SynopsisArgs: prepareArgsSynopsis(a.VisibleFlags()),
- })
-}
-
-func prepareCommands(commands []*Command, level int) []string {
- var coms []string
- for _, command := range commands {
- if command.Hidden {
- continue
- }
- usage := ""
- if command.Usage != "" {
- usage = command.Usage
- }
-
- prepared := fmt.Sprintf("%s %s\n\n%s\n",
- strings.Repeat("#", level+2),
- strings.Join(command.Names(), ", "),
- usage,
- )
-
- flags := prepareArgsWithValues(command.Flags)
- if len(flags) > 0 {
- prepared += fmt.Sprintf("\n%s", strings.Join(flags, "\n"))
- }
-
- coms = append(coms, prepared)
-
- // recursevly iterate subcommands
- if len(command.Subcommands) > 0 {
- coms = append(
- coms,
- prepareCommands(command.Subcommands, level+1)...,
- )
- }
- }
-
- return coms
-}
-
-func prepareArgsWithValues(flags []Flag) []string {
- return prepareFlags(flags, ", ", "**", "**", `""`, true)
-}
-
-func prepareArgsSynopsis(flags []Flag) []string {
- return prepareFlags(flags, "|", "[", "]", "[value]", false)
-}
-
-func prepareFlags(
- flags []Flag,
- sep, opener, closer, value string,
- addDetails bool,
-) []string {
- args := []string{}
- for _, f := range flags {
- flag, ok := f.(DocGenerationFlag)
- if !ok {
- continue
- }
- modifiedArg := opener
-
- for _, s := range flag.Names() {
- trimmed := strings.TrimSpace(s)
- if len(modifiedArg) > len(opener) {
- modifiedArg += sep
- }
- if len(trimmed) > 1 {
- modifiedArg += fmt.Sprintf("--%s", trimmed)
- } else {
- modifiedArg += fmt.Sprintf("-%s", trimmed)
- }
- }
- modifiedArg += closer
- if flag.TakesValue() {
- modifiedArg += fmt.Sprintf("=%s", value)
- }
-
- if addDetails {
- modifiedArg += flagDetails(flag)
- }
-
- args = append(args, modifiedArg+"\n")
-
- }
- sort.Strings(args)
- return args
-}
-
-// flagDetails returns a string containing the flags metadata
-func flagDetails(flag DocGenerationFlag) string {
- description := flag.GetUsage()
- value := flag.GetValue()
- if value != "" {
- description += " (default: " + value + ")"
- }
- return ": " + description
-}