mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
shell-completion: update systemd-run bash completion
Many new options have been added since the bash completion was last updated.
This commit is contained in:
parent
edb75140b5
commit
20bde81923
@ -34,10 +34,16 @@ _systemd_run() {
|
|||||||
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
|
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
|
||||||
local OPTS='-h --help --version --user --system --scope --unit --description --slice
|
local OPTS='-h --help --version --user --system --scope --unit --description --slice
|
||||||
-r --remain-after-exit --send-sighup -H --host -M --machine --service-type
|
-r --remain-after-exit --send-sighup -H --host -M --machine --service-type
|
||||||
|
--on-active --on-boot --on-startup --on-unit-active --on-unit-inactive
|
||||||
|
--on-calendar --timer-property -t --pty -q --quiet --no-block
|
||||||
--uid --gid --nice --setenv -p --property'
|
--uid --gid --nice --setenv -p --property'
|
||||||
|
|
||||||
local mode=--system
|
local mode=--system
|
||||||
local i
|
local i
|
||||||
|
local opts_with_values=(
|
||||||
|
--unit --description --slice --service-type -H --host -M --machine -p --property --on-active
|
||||||
|
--on-boot --on-startup --on-unit-active --on-unit-inactive --on-calendar --timer-property
|
||||||
|
)
|
||||||
for (( i=1; i <= COMP_CWORD; i++ )); do
|
for (( i=1; i <= COMP_CWORD; i++ )); do
|
||||||
if [[ ${COMP_WORDS[i]} != -* ]]; then
|
if [[ ${COMP_WORDS[i]} != -* ]]; then
|
||||||
local root_command=${COMP_WORDS[i]}
|
local root_command=${COMP_WORDS[i]}
|
||||||
@ -47,11 +53,11 @@ _systemd_run() {
|
|||||||
|
|
||||||
[[ ${COMP_WORDS[i]} == "--user" ]] && mode=--user
|
[[ ${COMP_WORDS[i]} == "--user" ]] && mode=--user
|
||||||
|
|
||||||
[[ $i -lt $COMP_CWORD && ${COMP_WORDS[i]} == @(--unit|--description|--slice|--service-type|-H|--host|-M|--machine|-p|--property) ]] && ((i++))
|
[[ $i -lt $COMP_CWORD && " ${opts_with_values[@]} " =~ " ${COMP_WORDS[i]} " ]] && ((i++))
|
||||||
done
|
done
|
||||||
|
|
||||||
case "$prev" in
|
case "$prev" in
|
||||||
--unit|--description)
|
--unit|--description|--on-active|--on-boot|--on-startup|--on-unit-active|--on-unit-inactive|--on-calendar)
|
||||||
# argument required but no completions available
|
# argument required but no completions available
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
@ -89,6 +95,11 @@ _systemd_run() {
|
|||||||
-M|--machine)
|
-M|--machine)
|
||||||
local comps=$( __get_machines )
|
local comps=$( __get_machines )
|
||||||
|
|
||||||
|
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
--timer-property)
|
||||||
|
local comps='AccuracySec= WakeSystem='
|
||||||
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
|
COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user