From f9772480869c8001bc8623a3676da5ec3ec8d671 Mon Sep 17 00:00:00 2001 From: Gibson Fahnestock Date: Wed, 29 Jan 2020 10:07:10 +0000 Subject: [PATCH] Re-add zsh completion script and remove fish completion script Looks like the zsh completion script was removed by mistake. Fixes: https://github.com/rbenv/rbenv/issues/1215 Refs: https://github.com/rbenv/rbenv/commit/569d464d361ba02ed77f20cff3399adf70953a58 --- completions/rbenv.fish | 23 ----------------------- completions/rbenv.zsh | 18 ++++++++++++++++++ 2 files changed, 18 insertions(+), 23 deletions(-) delete mode 100644 completions/rbenv.fish create mode 100644 completions/rbenv.zsh diff --git a/completions/rbenv.fish b/completions/rbenv.fish deleted file mode 100644 index d3474105..00000000 --- a/completions/rbenv.fish +++ /dev/null @@ -1,23 +0,0 @@ -function __fish_rbenv_needs_command - set cmd (commandline -opc) - if [ (count $cmd) -eq 1 -a $cmd[1] = 'rbenv' ] - return 0 - end - return 1 -end - -function __fish_rbenv_using_command - set cmd (commandline -opc) - if [ (count $cmd) -gt 1 ] - if [ $argv[1] = $cmd[2] ] - return 0 - end - end - return 1 -end - -complete -f -c rbenv -n '__fish_rbenv_needs_command' -a '(rbenv commands)' -for cmd in (rbenv commands) - complete -f -c rbenv -n "__fish_rbenv_using_command $cmd" -a \ - "(rbenv completions (commandline -opc)[2..-1])" -end diff --git a/completions/rbenv.zsh b/completions/rbenv.zsh new file mode 100644 index 00000000..5b23d42f --- /dev/null +++ b/completions/rbenv.zsh @@ -0,0 +1,18 @@ +if [[ ! -o interactive ]]; then + return +fi + +compctl -K _rbenv rbenv + +_rbenv() { + local words completions + read -cA words + + if [ "${#words}" -eq 2 ]; then + completions="$(rbenv commands)" + else + completions="$(rbenv completions ${words[2,-2]})" + fi + + reply=("${(ps:\n:)completions}") +}