lncli+makefile: generate man pages automatically for lncli and lnd

This commit is contained in:
Mohamed Awnallah
2024-03-06 17:25:58 +02:00
parent dfd1636f18
commit 158b802f49
3 changed files with 50 additions and 2 deletions

View File

@@ -18,6 +18,8 @@ import (
"github.com/btcsuite/btcd/chaincfg/chainhash"
"github.com/btcsuite/btcd/wire"
"github.com/jessevdk/go-flags"
"github.com/lightningnetwork/lnd"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/routing"
"github.com/lightningnetwork/lnd/routing/route"
@@ -1410,6 +1412,41 @@ func channelBalance(ctx *cli.Context) error {
return nil
}
var generateManPageCommand = cli.Command{
Name: "generatemanpage",
Usage: "Generates a man page for lncli and lnd as " +
"lncli.1 and lnd.1 respectively.",
Hidden: true,
Action: actionDecorator(generateManPage),
}
func generateManPage(ctx *cli.Context) error {
// Generate the man pages for lncli as lncli.1.
manpages, err := ctx.App.ToMan()
if err != nil {
return err
}
err = os.WriteFile("lncli.1", []byte(manpages), 0644)
if err != nil {
return err
}
// Generate the man pages for lnd as lnd.1.
config := lnd.DefaultConfig()
fileParser := flags.NewParser(&config, flags.Default)
fileParser.Name = "lnd"
var buf bytes.Buffer
fileParser.WriteManPage(&buf)
err = os.WriteFile("lnd.1", buf.Bytes(), 0644)
if err != nil {
return err
}
return nil
}
var getInfoCommand = cli.Command{
Name: "getinfo",
Usage: "Returns basic information related to the active daemon.",

View File

@@ -508,6 +508,7 @@ func main() {
fishCompletionCommand,
listAliasesCommand,
estimateRouteFeeCommand,
generateManPageCommand,
}
// Add any extra commands determined by build flags.