1891 Add zsh command completion for qm and qmrestore
authorChristian Ebner <c.ebner@proxmox.com>
Thu, 21 Feb 2019 13:25:04 +0000 (14:25 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 22 Feb 2019 10:52:29 +0000 (11:52 +0100)
This adds the zsh command completion for qm and qmrestore.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Makefile

index 369e660..bdad719 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@ MAN1DIR=${MANDIR}/man1/
 MAN5DIR=${MANDIR}/man5/
 MAN8DIR=${MANDIR}/man8/
 BASHCOMPLDIR=${PREFIX}/share/bash-completion/completions/
+ZSHCOMPLDIR=${PREFIX}/share/zsh/vendor-completions/
 export PERLDIR=${PREFIX}/share/perl5
 PERLINCDIR=${PERLDIR}/asm-x86_64
 
@@ -54,7 +55,16 @@ qmrestore.bash-completion:
        PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_bash_completions();" >$@.tmp
        mv $@.tmp $@
 
-PKGSOURCES=qm qm.1 qmrestore qmrestore.1 qmextract qm.conf.5 qm.bash-completion qmrestore.bash-completion qmeventd qmeventd.8
+qm.zsh-completion:
+       PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qm; PVE::CLI::qm->generate_zsh_completions();" >$@.tmp
+       mv $@.tmp $@
+
+qmrestore.zsh-completion:
+       PVE_GENERATING_DOCS=1 perl -I. -T -e "use PVE::CLI::qmrestore; PVE::CLI::qmrestore->generate_zsh_completions();" >$@.tmp
+       mv $@.tmp $@
+
+PKGSOURCES=qm qm.1 qmrestore qmrestore.1 qmextract qm.conf.5 qm.bash-completion qmrestore.bash-completion \
+           qm.zsh-completion qmrestore.zsh-completion qmeventd qmeventd.8
 
 .PHONY: install
 install: ${PKGSOURCES}
@@ -71,6 +81,8 @@ install: ${PKGSOURCES}
        install -m 0644 pve-q35.cfg ${DESTDIR}/usr/share/${PACKAGE}
        install -m 0644 -D qm.bash-completion ${DESTDIR}/${BASHCOMPLDIR}/qm
        install -m 0644 -D qmrestore.bash-completion ${DESTDIR}/${BASHCOMPLDIR}/qmrestore
+       install -m 0644 -D qm.zsh-completion ${DESTDIR}/${ZSHCOMPLDIR}/_qm
+       install -m 0644 -D qmrestore.zsh-completion ${DESTDIR}/${ZSHCOMPLDIR}/_qmrestore
        install -m 0644 -D bootsplash.jpg ${DESTDIR}/usr/share/${PACKAGE}
        make -C PVE install
        install -m 0755 qm ${DESTDIR}${SBINDIR}