5
0
mirror of git://git.proxmox.com/git/pve-common.git synced 2025-01-08 01:17:37 +03:00

Fix 1891: Add zsh command completion generator

This adds the function needed to generate the zsh autocompletion scripts.
Using the bash completion code path, this generates the list of possible
completions and adds them to the zsh completion by compadd.
For the autocompletion scripts to be loaded automatically, the following two
lines have to be placed in the .zshrc:

autoload -U compinit
compinit

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This commit is contained in:
Christian Ebner 2019-02-20 11:59:14 +01:00 committed by Thomas Lamprecht
parent 3b3ae60e09
commit ad2cc59995

View File

@ -490,6 +490,30 @@ complete -o default -C '$exename bashcomplete' $exename
__EOD__
}
sub generate_zsh_completions {
my ($class) = @_;
# generate zsh completion config
$exename = &$get_exe_name($class);
print <<__EOD__;
#compdef _$exename $exename
function _$exename() {
local cwords line point cmd curr prev
cwords=\${#words[@]}
line=\$words
point=\${#line}
cmd=\${words[1]}
curr=\${words[cwords]}
prev=\${words[cwords-1]}
compadd \$(COMP_CWORD="\$cwords" COMP_LINE="\$line" COMP_POINT="\$point" \\
$exename bashcomplete "\$cmd" "\$curr" "\$prev")
}
__EOD__
}
sub generate_asciidoc_synopsys {
my ($class) = @_;
$class->generate_asciidoc_synopsis();