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>
__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();