From 3336762939d8600f9af943128e7072c8789a6ae3 Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Sun, 30 Jan 2022 15:33:15 -0800 Subject: [PATCH] Remove hugo gen autocomplete Closes #8862 --- commands/commands_test.go | 5 +- commands/gen.go | 1 - commands/genautocomplete.go | 93 ------------------- docs/content/en/commands/hugo.md | 1 - docs/content/en/commands/hugo_gen.md | 1 - .../en/commands/hugo_gen_autocomplete.md | 58 ------------ snap/snapcraft.yaml | 2 +- 7 files changed, 5 insertions(+), 156 deletions(-) delete mode 100644 commands/genautocomplete.go delete mode 100644 docs/content/en/commands/hugo_gen_autocomplete.md diff --git a/commands/commands_test.go b/commands/commands_test.go index 9966cd93787..beb81752773 100644 --- a/commands/commands_test.go +++ b/commands/commands_test.go @@ -274,11 +274,14 @@ func TestCommandsExecute(t *testing.T) { // no args = hugo build {nil, []string{sourceFlag}, ""}, {nil, []string{sourceFlag, "--renderToMemory"}, ""}, + {[]string{"completion", "bash"}, nil, ""}, + {[]string{"completion", "fish"}, nil, ""}, + {[]string{"completion", "powershell"}, nil, ""}, + {[]string{"completion", "zsh"}, nil, ""}, {[]string{"config"}, []string{sourceFlag}, ""}, {[]string{"convert", "toTOML"}, []string{sourceFlag, "-o=" + filepath.Join(dirOut, "toml")}, ""}, {[]string{"convert", "toYAML"}, []string{sourceFlag, "-o=" + filepath.Join(dirOut, "yaml")}, ""}, {[]string{"convert", "toJSON"}, []string{sourceFlag, "-o=" + filepath.Join(dirOut, "json")}, ""}, - {[]string{"gen", "autocomplete"}, []string{"--completionfile=" + filepath.Join(dirOut, "autocomplete.txt")}, ""}, {[]string{"gen", "chromastyles"}, []string{"--style=manni"}, ""}, {[]string{"gen", "doc"}, []string{"--dir=" + filepath.Join(dirOut, "doc")}, ""}, {[]string{"gen", "man"}, []string{"--dir=" + filepath.Join(dirOut, "man")}, ""}, diff --git a/commands/gen.go b/commands/gen.go index 6878cfe70e2..c44eba36c49 100644 --- a/commands/gen.go +++ b/commands/gen.go @@ -31,7 +31,6 @@ func newGenCmd() *genCmd { }) cc.cmd.AddCommand( - newGenautocompleteCmd().getCommand(), newGenDocCmd().getCommand(), newGenManCmd().getCommand(), createGenDocsHelper().getCommand(), diff --git a/commands/genautocomplete.go b/commands/genautocomplete.go deleted file mode 100644 index 5cdb7b688ae..00000000000 --- a/commands/genautocomplete.go +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2015 The Hugo Authors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package commands - -import ( - "io" - "os" - - "github.com/spf13/cobra" - jww "github.com/spf13/jwalterweatherman" -) - -var _ cmder = (*genautocompleteCmd)(nil) - -type genautocompleteCmd struct { - autocompleteTarget string - - // bash, zsh, fish or powershell - autocompleteType string - - *baseCmd -} - -func newGenautocompleteCmd() *genautocompleteCmd { - cc := &genautocompleteCmd{} - - cc.baseCmd = newBaseCmd(&cobra.Command{ - Use: "autocomplete", - Short: "Generate shell autocompletion script for Hugo", - Long: `Generates a shell autocompletion script for Hugo. - -The script is written to the console (stdout). - -To write to file, add the ` + "`--completionfile=/path/to/file`" + ` flag. - -Add ` + "`--type={bash, zsh, fish or powershell}`" + ` flag to set alternative -shell type. - -Logout and in again to reload the completion scripts, -or just source them in directly: - - $ . /etc/bash_completion or /path/to/file`, - - RunE: func(cmd *cobra.Command, args []string) error { - var err error - var target io.Writer - - if cc.autocompleteTarget == "" { - target = os.Stdout - } else { - target, _ = os.OpenFile(cc.autocompleteTarget, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) - } - - switch cc.autocompleteType { - case "bash": - err = cmd.Root().GenBashCompletion(target) - case "zsh": - err = cmd.Root().GenZshCompletion(target) - case "fish": - err = cmd.Root().GenFishCompletion(target, true) - case "powershell": - err = cmd.Root().GenPowerShellCompletion(target) - default: - return newUserError("Unsupported completion type") - } - - if err != nil { - return err - } - - if cc.autocompleteTarget != "" { - jww.FEEDBACK.Println(cc.autocompleteType+" completion file for Hugo saved to", cc.autocompleteTarget) - } - return nil - }, - }) - - cc.cmd.PersistentFlags().StringVarP(&cc.autocompleteTarget, "completionfile", "f", "", "autocompletion file, defaults to stdout") - cc.cmd.PersistentFlags().StringVarP(&cc.autocompleteType, "type", "t", "bash", "autocompletion type (bash, zsh, fish, or powershell)") - - return cc -} diff --git a/docs/content/en/commands/hugo.md b/docs/content/en/commands/hugo.md index 94d933c8aae..827bb89e6cb 100644 --- a/docs/content/en/commands/hugo.md +++ b/docs/content/en/commands/hugo.md @@ -68,7 +68,6 @@ hugo [flags] ### SEE ALSO -* [hugo check](/commands/hugo_check/) - Contains some verification checks * [hugo completion](/commands/hugo_completion/) - generate the autocompletion script for the specified shell * [hugo config](/commands/hugo_config/) - Print the site configuration * [hugo convert](/commands/hugo_convert/) - Convert your content to different formats diff --git a/docs/content/en/commands/hugo_gen.md b/docs/content/en/commands/hugo_gen.md index fc321a9e96b..55fb1f2bbb9 100644 --- a/docs/content/en/commands/hugo_gen.md +++ b/docs/content/en/commands/hugo_gen.md @@ -33,7 +33,6 @@ A collection of several useful generators. ### SEE ALSO * [hugo](/commands/hugo/) - hugo builds your site -* [hugo gen autocomplete](/commands/hugo_gen_autocomplete/) - Generate shell autocompletion script for Hugo * [hugo gen chromastyles](/commands/hugo_gen_chromastyles/) - Generate CSS stylesheet for the Chroma code highlighter * [hugo gen doc](/commands/hugo_gen_doc/) - Generate Markdown documentation for the Hugo CLI. * [hugo gen man](/commands/hugo_gen_man/) - Generate man pages for the Hugo CLI diff --git a/docs/content/en/commands/hugo_gen_autocomplete.md b/docs/content/en/commands/hugo_gen_autocomplete.md deleted file mode 100644 index 77f2fa07611..00000000000 --- a/docs/content/en/commands/hugo_gen_autocomplete.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "hugo gen autocomplete" -slug: hugo_gen_autocomplete -url: /commands/hugo_gen_autocomplete/ ---- -## hugo gen autocomplete - -Generate shell autocompletion script for Hugo - -### Synopsis - -Generates a shell autocompletion script for Hugo. - -The script is written to the console (stdout). - -To write to file, add the `--completionfile=/path/to/file` flag. - -Add `--type={bash, zsh, fish or powershell}` flag to set alternative -shell type. - -Logout and in again to reload the completion scripts, -or just source them in directly: - - $ . /etc/bash_completion or /path/to/file - -``` -hugo gen autocomplete [flags] -``` - -### Options - -``` - -f, --completionfile string autocompletion file, defaults to stdout - -h, --help help for autocomplete - -t, --type string autocompletion type (bash, zsh, fish, or powershell) (default "bash") -``` - -### Options inherited from parent commands - -``` - --config string config file (default is path/config.yaml|json|toml) - --configDir string config dir (default "config") - --debug debug output - -e, --environment string build environment - --ignoreVendorPaths string ignores any _vendor for module paths matching the given Glob pattern - --log enable Logging - --logFile string log File path (if set, logging enabled automatically) - --quiet build in quiet mode - -s, --source string filesystem path to read files relative from - --themesDir string filesystem path to themes directory - -v, --verbose verbose output - --verboseLog verbose logging -``` - -### SEE ALSO - -* [hugo gen](/commands/hugo_gen/) - A collection of several useful generators. - diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index fa9605949fe..bb11afc7233 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -65,7 +65,7 @@ parts: ldd hugo || : echo " * Building shell completion..." - ./hugo gen autocomplete --completionfile=hugo-completion + ./hugo completion bash > hugo-completion echo " * Installing to ${SNAPCRAFT_PART_INSTALL}..." install -d $SNAPCRAFT_PART_INSTALL/bin