1
0
mirror of https://github.com/rclone/rclone.git synced 2025-12-15 15:53:41 +00:00

support for zsh auto-completion - #983

This commit is contained in:
bpicode
2017-08-31 15:52:51 +01:00
committed by Nick Craig-Wood
parent 7e93567b18
commit f1f7e0e6f9
9 changed files with 422 additions and 52 deletions

View File

@@ -1,44 +1,19 @@
package genautocomplete
import (
"log"
"github.com/ncw/rclone/cmd"
"github.com/spf13/cobra"
)
func init() {
cmd.Root.AddCommand(commandDefintion)
cmd.Root.AddCommand(completionDefinition)
}
var commandDefintion = &cobra.Command{
Use: "genautocomplete [output_file]",
Short: `Output bash completion script for rclone.`,
var completionDefinition = &cobra.Command{
Use: "genautocomplete [shell]",
Short: `Output completion script for a given shell.`,
Long: `
Generates a bash shell autocompletion script for rclone.
This writes to /etc/bash_completion.d/rclone by default so will
probably need to be run with sudo or as root, eg
sudo rclone genautocomplete
Logout and login again to use the autocompletion scripts, or source
them directly
. /etc/bash_completion
If you supply a command line argument the script will be written
there.
Generates a shell completion script for rclone.
Run with --help to list the supported shells.
`,
Run: func(command *cobra.Command, args []string) {
cmd.CheckArgs(0, 1, command, args)
out := "/etc/bash_completion.d/rclone"
if len(args) > 0 {
out = args[0]
}
err := cmd.Root.GenBashCompletionFile(out)
if err != nil {
log.Fatal(err)
}
},
}