diff options
author | Ville Skyttä <[email protected]> | 2024-04-07 20:33:17 +0000 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-04-11 15:34:26 +0200 |
commit | a67650b6f764d201fde22b1bc3c06b923fdc5438 (patch) | |
tree | 698bdb49baf78317ad506fcf8642a0f6da883543 /commands/mod.go | |
parent | 2a060b37a32c3831ece2203b8b5451adb3c787af (diff) | |
download | hugo-a67650b6f764d201fde22b1bc3c06b923fdc5438.tar.gz hugo-a67650b6f764d201fde22b1bc3c06b923fdc5438.zip |
completion: Improve existing argument completions, add many more
Do not offer filenames to arguments not taking one, complete arguments
of options taking resource kinds, directory names, --logLevel, release
--step, config and new --format.
As an internal refactoring, use higher level functions to set flag
completions. SetAnnotation works, but is more verbose than
alternatives, and uses bash specific wording.
While at it, move setting completions next to flag definitions
consistently.
Remove superfluous --destination completer setting, which is already
set elsewhere.
Diffstat (limited to 'commands/mod.go')
-rw-r--r-- | commands/mod.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/commands/mod.go b/commands/mod.go index d64d2a983..7ff662944 100644 --- a/commands/mod.go +++ b/commands/mod.go @@ -62,6 +62,7 @@ removed from Hugo, but we need to test this out in "real life" to get a feel of so this may/will change in future versions of Hugo. `, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { @@ -89,6 +90,7 @@ so this may/will change in future versions of Hugo. inside a subfolder on GitHub, as one example. `, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { @@ -108,6 +110,7 @@ so this may/will change in future versions of Hugo. short: "Verify dependencies.", long: `Verify checks that the dependencies of the current module, which are stored in a local downloaded source cache, have not been modified since being downloaded.`, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) cmd.Flags().BoolVarP(&clean, "clean", "", false, "delete module cache for dependencies that fail verification") }, @@ -127,6 +130,7 @@ so this may/will change in future versions of Hugo. Note that for vendored modules, that is the version listed and not the one from go.mod. `, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) cmd.Flags().BoolVarP(&clean, "clean", "", false, "delete module cache for dependencies that fail verification") }, @@ -144,8 +148,10 @@ Note that for vendored modules, that is the version listed and not the one from short: "Delete the Hugo Module cache for the current project.", long: `Delete the Hugo Module cache for the current project.`, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) cmd.Flags().StringVarP(&pattern, "pattern", "", "", `pattern matching module paths to clean (all if not set), e.g. "**hugo*"`) + _ = cmd.RegisterFlagCompletionFunc("pattern", cobra.NoFileCompletions) cmd.Flags().BoolVarP(&all, "all", "", false, "clean entire module cache") }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { @@ -167,6 +173,7 @@ Note that for vendored modules, that is the version listed and not the one from name: "tidy", short: "Remove unused entries in go.mod and go.sum.", withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { @@ -184,6 +191,7 @@ Note that for vendored modules, that is the version listed and not the one from If a module is vendored, that is where Hugo will look for it's dependencies. `, withc: func(cmd *cobra.Command, r *rootCommand) { + cmd.ValidArgsFunction = cobra.NoFileCompletions applyLocalFlagsBuildConfig(cmd, r) }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { @@ -225,6 +233,7 @@ Run "go help get" for more information. All flags available for "go get" is also ` + commonUsageMod, withc: func(cmd *cobra.Command, r *rootCommand) { cmd.DisableFlagParsing = true + cmd.ValidArgsFunction = cobra.NoFileCompletions }, run: func(ctx context.Context, cd *simplecobra.Commandeer, r *rootCommand, args []string) error { // We currently just pass on the flags we get to Go and |