X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=shell-completion%2Fbash%2Fsystemd-run;fp=shell-completion%2Fbash%2Fsystemd-run;h=0000000000000000000000000000000000000000;hb=4e46791a9f00ca29537a3ee554841dfa1488ad79;hp=712655caf498c3988127a5668c79a551b35f0190;hpb=313733493e610bb3b027796a1595e353e6c6f3d7;p=elogind.git diff --git a/shell-completion/bash/systemd-run b/shell-completion/bash/systemd-run deleted file mode 100644 index 712655caf..000000000 --- a/shell-completion/bash/systemd-run +++ /dev/null @@ -1,101 +0,0 @@ -# systemd-run(1) completion -*- shell-script -*- -# -# This file is part of systemd. -# -# Copyright 2013 Zbigniew Jędrzejewski-Szmek -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. -# -# systemd is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with systemd; If not, see . - -__systemctl() { - local mode=$1; shift 1 - systemctl $mode --full --no-legend "$@" -} - -__get_slice_units () { __systemctl $1 list-units --all -t slice \ - | { while read -r a b c d; do echo " $a"; done; }; } - -__get_machines() { - local a b - machinectl list --no-legend --no-pager | { while read a b; do echo " $a"; done; }; -} - -_systemd_run() { - local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} - local OPTS='-h --help --version --user --system --scope --unit --description --slice - -r --remain-after-exit --send-sighup -H --host -M --machine --service-type - --uid --gid --nice --setenv -p --property' - - local mode=--system - local i - for (( i=1; i <= COMP_CWORD; i++ )); do - if [[ ${COMP_WORDS[i]} != -* ]]; then - local root_command=${COMP_WORDS[i]} - _command_offset $i - return - fi - - [[ ${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++)) - done - - case "$prev" in - --unit|--description) - # argument required but no completions available - return - ;; - --slice) - local comps=$(__get_slice_units $mode) - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - ;; - --service-type) - local comps='simple forking oneshot dbus notify idle' - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - ;; - -p|--property) - local comps='CPUAccounting= MemoryAccounting= BlockIOAccounting= SendSIGHUP= - SendSIGKILL= MemoryLimit= CPUShares= BlockIOWeight= User= Group= - DevicePolicy= KillMode= DeviceAllow= BlockIOReadBandwidth= - BlockIOWriteBandwidth= BlockIODeviceWeight= Nice= Environment= - KillSignal= LimitCPU= LimitFSIZE= LimitDATA= LimitSTACK= - LimitCORE= LimitRSS= LimitNOFILE= LimitAS= LimitNPROC= - LimitMEMLOCK= LimitLOCKS= LimitSIGPENDING= LimitMSGQUEUE= - LimitNICE= LimitRTPRIO= LimitRTTIME=' - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - ;; - -H|--host) - local comps=$(compgen -A hostname) - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - ;; - -M|--machine) - local comps=$( __get_machines ) - - COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) - return 0 - ;; - esac - - COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") ) - return 0 -} - -complete -F _systemd_run systemd-run