]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
zsh-completion: _loginctl/_systemd/_systemd-inhibit improvements 324/head
authorEric Cook <llua@gmx.com>
Mon, 22 Jun 2015 22:07:32 +0000 (18:07 -0400)
committerEric Cook <llua@gmx.com>
Mon, 22 Jun 2015 22:07:32 +0000 (18:07 -0400)
_loginctl: respects the verbose style. which allows a user to get
the pre d5df0d950f8bc behavior of not showing a description for sessions
and users, by default they aren't shown.

zstyle ':completion:*' verbose true
or
zstyle ':completion:*:loginctl*:*' verbose true # or similar
Will show the descriptions.

zstyle ':completion:*' verbose true
and
zstyle ':completion:*:loginctl*:*' verbose false # or similar
Won't show descriptions for loginctl only

_systemd: complete pids for systemd-notify's --pid option.
display a message of the expected argument for other options.

_systemd-inhibit: complete block & delay for --mode
display a message of the expected argument for --who/--why

shell-completion/zsh/_loginctl
shell-completion/zsh/_systemd
shell-completion/zsh/_systemd-inhibit

index 1e2a4db2a0730d568f009a7ca7747b116ec58c96..6f6ff6e314a6ab458cbf574c10346839bf569c54 100644 (file)
@@ -37,7 +37,12 @@ for fun in session-status show-session activate lock-session unlock-session term
       _sys_all_sessions_descr[(i)$_ignore:*]=()
     done
 
-    _describe -t systemd-sessions session _sys_all_sessions_descr _sys_all_sessions "$@"
+    if zstyle -T ":completion:${curcontext}:systemd-sessions" verbose; then
+      _describe -t systemd-sessions session _sys_all_sessions_descr _sys_all_sessions "$@"
+    else
+      local expl
+      _wanted systemd-sessions expl session compadd "$@" -a _sys_all_sessions
+    fi
   }
 done
 
@@ -56,8 +61,14 @@ for fun in user-status show-user enable-linger disable-linger terminate-user kil
       _sys_all_users[(i)$_ignore]=()
       _sys_all_users_descr[(i)$_ignore:*]=()
     done
+
     # using the common tag `users' here, not rolling our own `systemd-users' tag
-    _describe -t users user ${_sys_all_users_descr:+_sys_all_users_descr} _sys_all_users "$@"
+    if zstyle -T ":completion:${curcontext}:users" verbose; then
+      _describe -t users user ${_sys_all_users_descr:+_sys_all_users_descr} _sys_all_users "$@"
+    else
+      local expl
+      _wanted users expl user compadd "$@" -a _sys_all_users
+    fi
   }
 done
 
@@ -72,7 +83,12 @@ done
     _sys_all_seats_descr[(i)$_ignore:*]=()
   done
 
-  _describe -t systemd-seats seat _sys_all_seats_descr _sys_all_seats "$@"
+  if zstyle -T ":completion:${curcontext}:systemd-seats" verbose; then
+    _describe -t systemd-seats seat _sys_all_seats_descr _sys_all_seats "$@"
+  else
+    local expl
+    _wanted systemd-seats expl seat compadd "$@" -a _sys_all_seats
+  fi
 }
 for fun in seat-status show-seat terminate-seat ; do
   (( $+functions[_loginctl_$fun] )) || _loginctl_$fun()
index 58b1c7b4e56b6e65069140f74bb75a23b2432df0..05459dc5f67f0126ee45a35fcb8b8e041888833c 100644 (file)
@@ -5,8 +5,8 @@ case "$service" in
     systemd-ask-password)
         _arguments \
             {-h,--help}'[Show this help]' \
-            '--icon=[Icon name]' \
-            '--timeout=[Timeout in sec]' \
+            '--icon=[Icon name]:icon name:' \
+            '--timeout=[Timeout in sec]:timeout (seconds):' \
             '--no-tty[Ask question via agent even on TTY]' \
             '--accept-cached[Accept cached passwords]' \
             '--multiple[List multiple passwords if available]'
@@ -15,7 +15,7 @@ case "$service" in
         _arguments \
             {-h,--help}'[Show this help]' \
             '--version[Show package version.]' \
-            {-t+,--identifier=}'[Set syslog identifier.]' \
+            {-t+,--identifier=}'[Set syslog identifier.]:syslog identifier:' \
             {-p+,--priority=}'[Set priority value.]:value:({0..7})' \
             '--level-prefix=[Control whether level prefix shall be parsed.]:boolean:(1 0)' \
             ':Message'
@@ -38,10 +38,10 @@ case "$service" in
             '(-m -p -i -t)-c[Order by CPU load]' \
             '(-c -p -i -t)-m[Order by memory load]' \
             '(-c -m -p -t)-i[Order by IO load]' \
-            {-d+,--delay=}'[Specify delay]' \
-            {-n+,--iterations=}'[Run for N iterations before exiting]' \
+            {-d+,--delay=}'[Specify delay]:delay:' \
+            {-n+,--iterations=}'[Run for N iterations before exiting]:number of iterations:' \
             {-b,--batch}'[Run in batch mode, accepting no input]' \
-            '--depth=[Maximum traversal depth]'
+            '--depth=[Maximum traversal depth]:maximum depth:'
     ;;
     systemd-detect-virt)
         _arguments \
@@ -61,8 +61,8 @@ case "$service" in
             {-h,--help}'[Show this help]' \
             '--version[Show package version]' \
             '--ready[Inform the init system about service start-up completion.]' \
-            '--pid=[Inform the init system about the main PID of the daemon]' \
-            '--status=[Send a free-form status string for the daemon to the init systemd]' \
+            '--pid=[Inform the init system about the main PID of the daemon]:daemon main PID:_pids' \
+            '--status=[Send a free-form status string for the daemon to the init systemd]:status string:' \
             '--booted[Returns 0 if the system was booted up with systemd]'
     ;;
     systemd-tty-ask-password-agent)
index 1ecb6dc7ee9a22a9d99fb94e42b3bc74a39ff763..1b3247b2cd98a6d73c7d68e805c42577713654ae 100644 (file)
@@ -26,8 +26,8 @@ _arguments \
     {-h,--help}'[Show this help]' \
     '--version[Show package version]' \
     '--what=[Operations to inhibit]:options:_inhibit_what' \
-    '--who=[A descriptive string who is inhibiting]' \
-    '--why=[A descriptive string why is being inhibited]' \
-    '--mode=[One of block or delay]' \
+    '--who=[A descriptive string who is inhibiting]:who is inhibiting:' \
+    '--why=[A descriptive string why is being inhibited]:reason for the lock:' \
+    '--mode=[One of block or delay]:lock mode:( block delay )' \
     '--list[List active inhibitors]' \
     '*:commands:_systemd_inhibit_command'