chiark / gitweb /
completions: fix/augment zsh completions for systemd-nspawn, busctl, loginctl, hostna...
authorDaniel Mack <zonque@gmail.com>
Tue, 25 Mar 2014 19:28:31 +0000 (20:28 +0100)
committerDaniel Mack <zonque@gmail.com>
Tue, 25 Mar 2014 22:05:03 +0000 (23:05 +0100)
TODO
shell-completion/zsh/_busctl
shell-completion/zsh/_hostnamectl
shell-completion/zsh/_localectl
shell-completion/zsh/_loginctl
shell-completion/zsh/_machinectl
shell-completion/zsh/_systemd-nspawn

diff --git a/TODO b/TODO
index 580e0a4..e2ca1e6 100644 (file)
--- 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:
index 7c01564..fb18413 100644 (file)
@@ -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'
index 45b9597..7effa04 100644 (file)
@@ -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 "$@"
index c04f4f3..87432da 100644 (file)
@@ -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'
index 740629d..0de66e1 100644 (file)
@@ -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'
index 15c149f..c666b7e 100644 (file)
@@ -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"
   )
index a8c2411..ceedb2c 100644 (file)
@@ -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.]'