summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRonan Pigott <rpigott@berkeley.edu>2019-09-12 10:13:13 -0700
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-09-21 22:58:07 +0200
commit8c0c30a820fa90fcbf4deeb283ffaffbf136a142 (patch)
tree9a609dc96de5a1941b526926f6a6277e11466ff6
parent0556c247a24027f10b23445741e75ca913e29f06 (diff)
downloadsystemd-8c0c30a820fa90fcbf4deeb283ffaffbf136a142.tar.gz
zsh: udpate bootctl completions
(cherry picked from commit 4f6c7276372a458e81402ba38bfae2e3ba3f1154)
-rw-r--r--shell-completion/zsh/_bootctl33
1 files changed, 32 insertions, 1 deletions
diff --git a/shell-completion/zsh/_bootctl b/shell-completion/zsh/_bootctl
index f0ac892521..a84601ae65 100644
--- a/shell-completion/zsh/_bootctl
+++ b/shell-completion/zsh/_bootctl
@@ -1,6 +1,29 @@
#compdef bootctl -*- shell-script -*-
# SPDX-License-Identifier: LGPL-2.1+
+__bootctl() {
+ bootctl --no-pager $@ 2>/dev/null
+}
+
+_bootctl_comp_ids() {
+ local expl
+ local -a ids
+ __bootctl list | while read a b; do
+ if [[ "$a" == "id:" ]]; then
+ ids+="$b"
+ fi
+ done
+ _wanted id expl 'boot id' compadd "$@" -a ids
+}
+
+_bootctl_set-default() {
+ _bootctl_comp_ids
+}
+
+_bootctl_set-oneshot() {
+ _bootctl_comp_ids
+}
+
(( $+functions[_bootctl_commands] )) || _bootctl_commands()
{
local -a _bootctl_cmds
@@ -9,6 +32,10 @@
"install:Install systemd-boot to the ESP and EFI variables"
"update:Update systemd-boot in the ESP and EFI variables"
"remove:Remove systemd-boot from the ESP and EFI variables"
+ "random-seed:Initialize random seed in ESP and EFI variables"
+ "is-installed:Test whether systemd-boot is installed in the ESP"
+ "set-default:Set the default boot loader entry"
+ "set-oneshot:Set the default boot loader entry only for the next boot"
)
if (( CURRENT == 1 )); then
_describe -t commands 'bootctl command' _bootctl_cmds || compadd "$@"
@@ -26,6 +53,10 @@
_arguments \
{-h,--help}'[Prints a short help text and exits.]' \
'--version[Prints a short version string and exits.]' \
- '--path=[Path to the EFI System Partition (ESP)]:path:_directories' \
+ '--esp-path=[Path to the EFI System Partition (ESP)]:path:_directories' \
+ '--boot-path=[Path to the $BOOT partition]:path:_directories' \
+ {-p,--print-esp-path}'[Print path to the EFI system partition]' \
+ {-x,--print-boot-path}'[Print path to the $BOOT partition]' \
'--no-variables[Do not touch EFI variables]' \
+ '--no-pager[Do not pipe output into a pager]' \
'*::bootctl command:_bootctl_commands'