lncli: add fish-completion

This is a new, hidden command that generates completions for Fish shell.
This can be piped into `source` or saved in a file to activate (almost)
perfect tab completion.
This commit is contained in:
Torkel Rogstad
2020-04-26 17:13:06 +02:00
parent c64e9c5286
commit 55617f153f
3 changed files with 44 additions and 21 deletions

View File

@@ -2127,6 +2127,22 @@ func updateChannelPolicy(ctx *cli.Context) error {
return nil
}
var fishCompletionCommand = cli.Command{
Name: "fish-completion",
Hidden: true,
Action: func(c *cli.Context) error {
completion, err := c.App.ToFishCompletion()
if err != nil {
return err
}
// We don't want to suggest files, so we add this
// first line to the completions.
_, err = fmt.Printf("complete -c %q -f \n%s", c.App.Name, completion)
return err
},
}
var exportChanBackupCommand = cli.Command{
Name: "exportchanbackup",
Category: "Channels",

View File

@@ -390,6 +390,7 @@ func main() {
deletePaymentsCommand,
sendCustomCommand,
subscribeCustomCommand,
fishCompletionCommand,
}
// Add any extra commands determined by build flags.