From 30fd4d1eb13a200ebcc852d3ce28f3cb30197957 Mon Sep 17 00:00:00 2001 From: William Giokas <1007380@gmail.com> Date: Wed, 31 Jul 2013 17:11:17 -0500 Subject: [PATCH] zsh_completion: Split out zsh _systemd-nspawn Also fix the random lack of completion --- Makefile.am | 1 + shell-completion/zsh/_systemd | 26 +------------------------- shell-completion/zsh/_systemd-nspawn | 24 ++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 25 deletions(-) create mode 100644 shell-completion/zsh/_systemd-nspawn diff --git a/Makefile.am b/Makefile.am index c96c8b1b7..24e4fa4bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -347,6 +347,7 @@ dist_zshcompletion_DATA = \ shell-completion/zsh/_systemctl \ shell-completion/zsh/_journalctl \ shell-completion/zsh/_udevadm \ + shell-completion/zsh/_systemd-nspawn \ shell-completion/zsh/_systemd dist_sysctl_DATA = \ diff --git a/shell-completion/zsh/_systemd b/shell-completion/zsh/_systemd index 78cb06118..bacf1795b 100644 --- a/shell-completion/zsh/_systemd +++ b/shell-completion/zsh/_systemd @@ -1,4 +1,4 @@ -#compdef systemd-analyze systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-inhibit systemd-machine-id-setup systemd-notify systemd-nspawn systemd-tmpfiles systemd-tty-ask-password-agent machinectl +#compdef systemd-analyze systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-inhibit systemd-machine-id-setup systemd-notify systemd-tmpfiles systemd-tty-ask-password-agent machinectl _ctls() { @@ -96,20 +96,6 @@ _ctls() '--booted[Returns 0 if the system was booted up with systemd]' \ '--readahead=[Controls disk read-ahead operations]:arguments:(cancel done noreply)' ;; - systemd-nspawn) - _arguments \ - {-h,--help}'[Show this help]' \ - {--directory=,-D}'[Directory to use as file system root for the namespace container. If omitted the current directory will be used.]:directories:_directories' \ - {--boot,-b}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \ - {--user=,-u}'[Run the command under specified user, create home directory and cd into it.]' \ - '--uuid=[Set the specified uuid for the container.]' \ - {--controllers=,-C}'[Makes the container appear in other hierarchies than the name=systemd:/ one. Takes a comma-separated list of controllers.]' \ - '--private-network[Turn off networking in the container. This makes all network interfaces unavailable in the container, with the exception of the loopback device.]' \ - '--read-only[Mount the root file system read only for the container.]' \ - '--capability=[List one or more additional capabilities to grant the container.]:capabilities:_systemd-nspawn' \ - "--link-journal=[Control whether the container's journal shall be made visible to the host system.]:options:(no, host, guest, auto)" \ - '-j[Equivalent to --link-journal=guest.]' - ;; systemd-tmpfiles) _arguments \ '--create[Create, set ownership/permissions based on the config files.]' \ @@ -150,16 +136,6 @@ _ctls() esac } -_systemd-nspawn(){ - local -a _caps - _caps=( CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH - CAP_FOWNER CAP_FSETID CAP_IPC_OWNER CAP_KILL CAP_LEASE CAP_LINUX_IMMUTABLE - CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETGID CAP_SETFCAP CAP_SETPCAP - CAP_SETUID CAP_SYS_ADMIN CAP_SYS_CHROOT CAP_SYS_NICE CAP_SYS_PTRACE CAP_SYS_TTY_CONFIG - CAP_SYS_RESOURCE CAP_SYS_BOOT ) - _values -s , 'capabilities' "$_caps[@]" -} - _systemd_inhibit_command(){ if (( CURRENT == 1 )); then compset -q diff --git a/shell-completion/zsh/_systemd-nspawn b/shell-completion/zsh/_systemd-nspawn new file mode 100644 index 000000000..a5f345ea2 --- /dev/null +++ b/shell-completion/zsh/_systemd-nspawn @@ -0,0 +1,24 @@ +#compdef systemd-nspawn + +_nspawn-caps(){ + local -a _caps + _caps=( CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH + CAP_FOWNER CAP_FSETID CAP_IPC_OWNER CAP_KILL CAP_LEASE CAP_LINUX_IMMUTABLE + CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW CAP_SETGID CAP_SETFCAP CAP_SETPCAP + CAP_SETUID CAP_SYS_ADMIN CAP_SYS_CHROOT CAP_SYS_NICE CAP_SYS_PTRACE CAP_SYS_TTY_CONFIG + CAP_SYS_RESOURCE CAP_SYS_BOOT ) + _values -s , 'capabilities' "$_caps[@]" +} + +_arguments \ + {-h,--help}'[Show this help]' \ + {--directory=,-D}'[Directory to use as file system root for the namespace container. If omitted the current directory will be used.]:directories:_directories' \ + {--boot,-b}'[Automatically search for an init binary and invoke it instead of a shell or a user supplied program.]' \ + {--user=,-u}'[Run the command under specified user, create home directory and cd into it.]' \ + '--uuid=[Set the specified uuid for the container.]' \ + {--controllers=,-C}'[Makes the container appear in other hierarchies than the name=systemd:/ one. Takes a comma-separated list of controllers.]' \ + '--private-network[Turn off networking in the container. This makes all network interfaces unavailable in the container, with the exception of the loopback device.]' \ + '--read-only[Mount the root file system read only for the container.]' \ + '--capability=[List one or more additional capabilities to grant the container.]:capabilities:_nspawn-caps' \ + "--link-journal=[Control whether the container's journal shall be made visible to the host system.]:options:(no, host, guest, auto)" \ + '-j[Equivalent to --link-journal=guest.]' -- 2.30.2