summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2014-03-25 20:28:31 +0100
committerDaniel Mack <zonque@gmail.com>2014-03-25 23:05:03 +0100
commit4433c995c77b66f42fe4a238aff6b53706628a2e (patch)
tree47eee2b994e2ecfbc1b82deec29d053ba579bf2e
parent10b17992ee59ac1d03d6fc210a976bc2b59f6d75 (diff)
completions: fix/augment zsh completions for systemd-nspawn, busctl, loginctl, hostnamectl, localectl, machinectl
-rw-r--r--TODO2
-rw-r--r--shell-completion/zsh/_busctl7
-rw-r--r--shell-completion/zsh/_hostnamectl1
-rw-r--r--shell-completion/zsh/_localectl5
-rw-r--r--shell-completion/zsh/_loginctl7
-rw-r--r--shell-completion/zsh/_machinectl3
-rw-r--r--shell-completion/zsh/_systemd-nspawn28
7 files changed, 44 insertions, 9 deletions
diff --git a/TODO b/TODO
index 580e0a4bfa..e2ca1e66fe 100644
--- a/TODO
+++ b/TODO
@@ -96,8 +96,6 @@ Features:
on screen, not unlike how job control works on the shell
* completions:
- - busctl zsh completion is outdated
- - systemd-nspawn -Z/-L/-q is missing for zsh
- manager property enumeration was broken when systemd moved to /usr/lib/
* cgroups:
diff --git a/shell-completion/zsh/_busctl b/shell-completion/zsh/_busctl
index 7c01564921..fb1841341e 100644
--- a/shell-completion/zsh/_busctl
+++ b/shell-completion/zsh/_busctl
@@ -43,12 +43,15 @@ _arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
'--no-pager[Do not pipe output into a pager]' \
+ '--no-legend[Do not show the headers and footers]' \
'--system[Connect to system manager]' \
'--user[Connect to user service manager]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
{-M+,--machine=}'[Operate on local container]:machines:_sd_machines' \
'--address=[Connect to the bus specified by address]:address' \
- '--no-unique[Only show well-known names]' \
- '--no-machine[Do not show machine IDs]' \
+ '--show-machine[Show machine ID column in list]' \
+ '--unique[Only show unique names]' \
+ '--acquired[Only show acquired names]' \
+ '--activatable[Only show activatable names]' \
'--match=[Only show matching messages]:match' \
'*::busctl command:_busctl_command'
diff --git a/shell-completion/zsh/_hostnamectl b/shell-completion/zsh/_hostnamectl
index 45b9597897..7effa0489e 100644
--- a/shell-completion/zsh/_hostnamectl
+++ b/shell-completion/zsh/_hostnamectl
@@ -6,6 +6,7 @@ _hostnamectl_command() {
"status:Show current hostname settings"
"set-hostname:Set system hostname"
"set-icon-name:Set icon name for host"
+ "set-chassis:Set chassis type for host"
)
if (( CURRENT == 1 )); then
_describe -t commands 'hostnamectl commands' _hostnamectl_cmds || compadd "$@"
diff --git a/shell-completion/zsh/_localectl b/shell-completion/zsh/_localectl
index c04f4f3109..87432da1dc 100644
--- a/shell-completion/zsh/_localectl
+++ b/shell-completion/zsh/_localectl
@@ -64,6 +64,10 @@ _localectl_command() {
'set-keymap:Set virtual console keyboard mapping'
'list-keymaps:Show known virtual console keyboard mappings'
'set-x11-keymap:Set X11 keyboard mapping'
+ 'list-x11-keymap-models:Show known X11 keyboard mapping models'
+ 'list-x11-keymap-layouts:Show known X11 keyboard mapping layouts'
+ 'list-x11-keymap-variants:Show known X11 keyboard mapping variants'
+ 'list-x11-keymap-options:Show known X11 keyboard mapping options'
)
if (( CURRENT == 1 )); then
_describe -t commands 'localectl command' _localectl_cmds
@@ -85,4 +89,5 @@ _arguments \
'--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not prompt for password]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
+ {-M+,--machine=}'[Operate on local container]:machine' \
'*::localectl commands:_localectl_command'
diff --git a/shell-completion/zsh/_loginctl b/shell-completion/zsh/_loginctl
index 740629d53d..0de66e191f 100644
--- a/shell-completion/zsh/_loginctl
+++ b/shell-completion/zsh/_loginctl
@@ -56,6 +56,8 @@ done
"activate:Activate a session"
"lock-session:Screen lock one or more sessions"
"unlock-session:Screen unlock one or more sessions"
+ "lock-sessions:Screen lock all current sessions"
+ "unlock-sessions:Screen unlock all current sessions"
"terminate-session:Terminate one or more sessions"
"kill-session:Send signal to processes of a session"
"list-users:List users"
@@ -99,8 +101,11 @@ _arguments -s \
{-a,--all}'[Show all properties, including empty ones]' \
'--kill-who=[Who to send signal to]:killwho:(main control all)' \
{-s+,--signal=}'[Which signal to send]:signal:_signals' \
- '--no-ask-password[Do not ask for system passwords]' \
{-H+,--host=}'[Operate on remote host]:userathost:_sd_hosts_or_user_at_host' \
+ {-M+,--machine=}'[Operate on local container]:machine' \
{-P,--privileged}'[Acquire privileges before execution]' \
+ {-l,--full}'[Do not ellipsize output]' \
'--no-pager[Do not pipe output into a pager]' \
+ '--no-legend[Do not show the headers and footers]' \
+ '--no-ask-password[Do not ask for system passwords]' \
'*::loginctl command:_loginctl_command'
diff --git a/shell-completion/zsh/_machinectl b/shell-completion/zsh/_machinectl
index 15c149ff92..c666b7eb43 100644
--- a/shell-completion/zsh/_machinectl
+++ b/shell-completion/zsh/_machinectl
@@ -7,6 +7,9 @@
"list:List currently running VMs/containers"
"status:Show VM/container status"
"show:Show properties of one or more VMs/containers"
+ "login:Get a login prompt on a VM/container"
+ "poweroff:Power off one or more VMs/containers"
+ "reboot:Reboot one or more VMs/containers"
"terminate:Terminate one or more VMs/containers"
"kill:Send signal to process or a VM/container"
)
diff --git a/shell-completion/zsh/_systemd-nspawn b/shell-completion/zsh/_systemd-nspawn
index a8c2411f2f..ceedb2c5a0 100644
--- a/shell-completion/zsh/_systemd-nspawn
+++ b/shell-completion/zsh/_systemd-nspawn
@@ -13,12 +13,32 @@ _nspawn-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.]' \
+ {--image=,-i+}'[Disk image to mount the root directory for the container from.]' \
+ {--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.]' \
+ {--machine=,-M+}'[Sets the machine name for this container.]' \
'--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.]' \
+ '--slice=[Make the container part of the specified slice, instead of the default machine.slice.]' \
'--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.]' \
+ '--private-network[Disconnect networking of the container from the host.]' \
+ '--network-interface=[Assign the specified network interface to the container.]' \
+ '--network-macvlan=[Create a "macvlan" interface of the specified Ethernet network interface and add it to the container.]' \
+ '--network-veth[Create a virtual Ethernet link (veth) between host and container.]' \
+ '--network-bridge=[Adds the host side of the Ethernet link created with --network-veth to the specified bridge.]' \
+ {--selinux-context=,-Z+}'[Sets the SELinux security context to be used to label processes in the container.]' \
+ {--selinux-apifs-context=,-L+}'[Sets the SELinux security context to be used to label files in the virtual API file systems in the container.]' \
'--capability=[List one or more additional capabilities to grant the container.]:capabilities:_nspawn-caps' \
+ '--drop-capability=[Specify one or more additional capabilities to drop for the container]' \
"--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.]'
+ '-j[Equivalent to --link-journal=guest.]' \
+ '--read-only[Mount the root file system read only for the container.]' \
+ '--bind=[Bind mount a file or directory from the host into the container.]' \
+ '--bind-ro=[Bind mount a file or directory from the host into the container (read-only).]' \
+ '--setenv=[Specifies an environment variable assignment to pass to the init process in the container, in the format "NAME=VALUE".]' \
+ '--share-system[Allows the container to share certain system facilities with the host.]' \
+ '--register=[Controls whether the container is registered with systemd-machined(8).]' \
+ '--keep-unit[Instead of creating a transient scope unit to run the container in, simply register the service or scope unit systemd-nspawn has been invoked in with systemd-machined(8).]' \
+ '--personality=[Control the architecture ("personality") reported by uname(2) in the container.]' \
+ {--quiet,-q}'[Turns off any status output by the tool itself.]' \
+ {--help,-h}'[Print a short help text and exit.]' \
+ '--version[Print a short version string and exit.]'