local -A OPTS=(
[STANDALONE]='--all -a --defaults --fail --ignore-dependencies --failed --force -f --full --global
- --help -h --no-ask-password --no-block --no-reload --no-wall
- --order --require --quiet -q --system --user --version'
- [ARG]='--kill-mode --kill-who --property -p --signal -s --type -t'
+ --help -h --no-ask-password --no-block --no-pager --no-reload --no-wall
+ --order --require --quiet -q --privileged -P --system --user --version'
+ [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t'
)
if __contains_word "$prev" ${OPTS[ARG]}; then
--kill-mode)
comps='control-group process'
;;
- --property|-p)
+ --property|-p|--host|-H)
comps=''
;;
esac
local -A VERBS=(
[ALL_UNITS]='enable disable is-active is-enabled status show'
[FAILED_UNITS]='reset-failed'
- [STARTABLE_UNITS]='start restart reload-or-restart'
+ [STARTABLE_UNITS]='start'
[STOPPABLE_UNITS]='stop kill try-restart condrestart'
- [ISOLATEBLE_UNITS]='isolate'
+ [ISOLATABLE_UNITS]='isolate'
[RELOADABLE_UNITS]='reload reload-or-try-restart force-reload'
+ [RESTARTABLE_UNITS]='restart reload-or-restart'
[JOBS]='cancel'
[SNAPSHOTS]='delete'
[ENVS]='set-environment unset-environment'
comps=$( __filter_units_by_property CanStart yes \
$( __get_inactive_units | grep -Ev '\.(device|snapshot)$' ))
+ elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then
+ comps=$( __filter_units_by_property CanStart yes \
+ $( __get_all_units | grep -Ev '\.(device|snapshot|socket|timer)$' ))
+
elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then
comps=$( __filter_units_by_property CanStop yes \
$( __get_active_units ) )