ipfs/kubo

helptext for all commands

開放

#2,647 建立於 2016年5月10日

 (6 則留言) (0 個反應) (0 位負責人)Go (2,725 個分叉)batch import
exp/novicehelp wantedtopic/docs-ipfs

倉庫指標

星標
 (13,906 顆星)
PR 合併指標
 (平均合併 4天 2小時) (30 天內合併 28 個 PR)

描述

I would love to add a test like this to the codebase:

package commands

import (
    cmds "github.com/ipfs/go-ipfs/commands"
    "strings"
    "testing"
)

func checkHelptextRecursive(t *testing.T, name []string, c *cmds.Command) {
    if c.Helptext.Tagline == "" {
        t.Fatalf("%s has no tagline!", strings.Join(name, " "))
    }

    if c.Helptext.LongDescription == "" {
        t.Fatalf("%s has no long description!", strings.Join(name, " "))
    }

    if c.Helptext.ShortDescription == "" {
        t.Fatalf("%s has no short description!", strings.Join(name, " "))
    }

    if c.Helptext.Synopsis == "" {
        t.Fatalf("%s has no synopsis!", strings.Join(name, " "))
    }

    for subname, sub := range c.Subcommands {
        checkHelptextRecursive(t, append(name, subname), sub)
    }
}

func TestHelptexts(t *testing.T) {
    checkHelptextRecursive(t, []string{"ipfs"}, Root)
}

But right now it would just fail, lots of commands are missing various pieces of the helptext. Enforcing this would make our docs muuuuuch better i think. We would also be able to generate manpages easily from them.

貢獻者指南