chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journalctl: add --list-boots to show boot IDs and times
[elogind.git]
/
shell-completion
/
bash
/
systemctl
diff --git
a/shell-completion/bash/systemctl
b/shell-completion/bash/systemctl
index 3bdf4dc956bdf790418a8cd7653929b652c9fc2b..eea4b6dbf95317150e6daa9e13124c801f209f64 100644
(file)
--- a/
shell-completion/bash/systemctl
+++ b/
shell-completion/bash/systemctl
@@
-24,7
+24,7
@@
__systemctl() {
__systemd_properties() {
local mode=$1
__systemd_properties() {
local mode=$1
- { __systemctl $mode show;
+ { __systemctl
-a
$mode show;
systemd --dump-configuration-items; } |
while IFS='=' read -r key value; do
[[ $value ]] && echo "$key"
systemd --dump-configuration-items; } |
while IFS='=' read -r key value; do
[[ $value ]] && echo "$key"
@@
-32,9
+32,10
@@
__systemd_properties() {
}
__contains_word () {
}
__contains_word () {
- local word=$1; shift
- for w in $*; do [[ $w = $word ]] && return 0; done
- return 1
+ local w word=$1; shift
+ for w in "$@"; do
+ [[ $w = "$word" ]] && return
+ done
}
__filter_units_by_property () {
}
__filter_units_by_property () {
@@
-70,10
+71,10
@@
_systemctl () {
local i verb comps mode
local -A OPTS=(
local i verb comps mode
local -A OPTS=(
- [STANDALONE]='--all -a --
defaults --fail --ignore-dependencies --failed --force -f --ful
l --global
+ [STANDALONE]='--all -a --
reverse --after --before --defaults --fail --ignore-dependencies --failed --force -f --full -
l --global
--help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
--quiet -q --privileged -P --system --user --version --runtime'
--help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
--quiet -q --privileged -P --system --user --version --runtime'
- [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --root'
+ [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --
state --
root'
)
if __contains_word "--user" ${COMP_WORDS[*]}; then
)
if __contains_word "--user" ${COMP_WORDS[*]}; then
@@
-90,6
+91,11
@@
_systemctl () {
--type|-t)
comps='automount device mount path service snapshot socket swap target timer'
;;
--type|-t)
comps='automount device mount path service snapshot socket swap target timer'
;;
+ --state)
+ comps='loaded not-found stub
+ active inactive
+ dead elapsed exited listening mounted plugged running waiting'
+ ;;
--kill-who)
comps='all control main'
;;
--kill-who)
comps='all control main'
;;
@@
-117,7
+123,7
@@
_systemctl () {
fi
local -A VERBS=(
fi
local -A VERBS=(
- [ALL_UNITS]='is-active is-failed is-enabled status show mask preset'
+ [ALL_UNITS]='is-active is-failed is-enabled status show mask preset
help list-dependencies
'
[ENABLED_UNITS]='disable'
[DISABLED_UNITS]='enable'
[REENABLABLE_UNITS]='reenable'
[ENABLED_UNITS]='disable'
[DISABLED_UNITS]='enable'
[REENABLABLE_UNITS]='reenable'
@@
-131,12
+137,13
@@
_systemctl () {
[JOBS]='cancel'
[SNAPSHOTS]='delete'
[ENVS]='set-environment unset-environment'
[JOBS]='cancel'
[SNAPSHOTS]='delete'
[ENVS]='set-environment unset-environment'
- [STANDALONE]='daemon-reexec daemon-reload default
dump
+ [STANDALONE]='daemon-reexec daemon-reload default
emergency exit halt hibernate hybrid-sleep kexec list-jobs
emergency exit halt hibernate hybrid-sleep kexec list-jobs
- list-units list-unit-files poweroff reboot rescue
- show-environment suspend'
+ list-
sockets list-
units list-unit-files poweroff reboot rescue
+ show-environment suspend
get-default
'
[NAME]='snapshot load'
[FILE]='link'
[NAME]='snapshot load'
[FILE]='link'
+ [TARGETS]='set-default'
)
for ((i=0; $i <= $COMP_CWORD; i++)); do
)
for ((i=0; $i <= $COMP_CWORD; i++)); do
@@
-210,6
+217,9
@@
_systemctl () {
elif __contains_word "$verb" ${VERBS[FILE]}; then
comps=$( compgen -A file -- "$cur" )
compopt -o filenames
elif __contains_word "$verb" ${VERBS[FILE]}; then
comps=$( compgen -A file -- "$cur" )
compopt -o filenames
+ elif __contains_word "$verb" ${VERBS[TARGETS]}; then
+ comps=$( __systemctl $mode list-unit-files --type target --full --all \
+ | { while read -r a b; do echo " $a"; done; } )
fi
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
fi
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )