Skip to content

Commit

Permalink
commands: Add PowerShell completion support
Browse files Browse the repository at this point in the history
Revert "Refactor: Remove powershell support" with fixes

Thanks to Ben Mezger (@benmezger) for the original code.
See #8122

This reverts commit a7c515e.
  • Loading branch information
anthonyfok committed Feb 9, 2021
1 parent 7118f89 commit 5f621df
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions commands/genautocomplete.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ var _ cmder = (*genautocompleteCmd)(nil)

type genautocompleteCmd struct {
autocompleteTarget string
// bash, zsh or fish

// bash, zsh, fish or powershell
autocompleteType string

*baseCmd
}

Expand All @@ -46,7 +48,7 @@ for convenience, and the command may need superuser rights, e.g.:
Add ` + "`--completionfile=/path/to/file`" + ` flag to set alternative
file-path and name.
Add ` + "`--type={bash, zsh or fish}`" + ` flag to set alternative
Add ` + "`--type={bash, zsh, fish or powershell}`" + ` flag to set alternative
shell type.
Logout and in again to reload the completion scripts,
Expand All @@ -65,12 +67,14 @@ or just source them in directly:
}

switch cc.autocompleteType {
case "zsh":
err = cmd.Root().GenZshCompletion(target)
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")
}
Expand All @@ -87,7 +91,7 @@ or just source them in directly:
})

cc.cmd.PersistentFlags().StringVarP(&cc.autocompleteTarget, "completionfile", "f", "", "autocompletion file, defaults to stdout")
cc.cmd.PersistentFlags().StringVarP(&cc.autocompleteType, "type", "t", "bash", "autocompletion type (zsh, bash or fish)")
cc.cmd.PersistentFlags().StringVarP(&cc.autocompleteType, "type", "t", "bash", "autocompletion type (bash, zsh, fish, or powershell)")

return cc
}

0 comments on commit 5f621df

Please sign in to comment.