util-linux/bash-completion/ipcrm
Ville Skyttä 0d5b9b8ab1 bash-completion: Don't offer short options where corresponding long one exists.
Users who know the short options can just hit the short option instead
of tab, and it's not likely that it would be helpful to present a list
of single character options to users who don't know them, doing so
just unnecessarily trashes the list of suggestions.

Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
2013-04-08 17:06:56 +02:00

63 lines
1.4 KiB
Plaintext

_ipcrm_module()
{
local cur prev OPTS KEYIDS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-m'|'--shmem-id')
KEYIDS="$(ipcs -m | awk '{if (3 < NR) {print $2}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-M'|'--shmem-key')
KEYIDS="$(ipcs -m | awk '{if (3 < NR) {print $1}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-q'|'--queue-id')
KEYIDS="$(ipcs -q | awk '{if (3 < NR) {print $2}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-Q'|'--queue-key')
KEYIDS="$(ipcs -q | awk '{if (3 < NR) {print $1}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-s'|'--semaphore-id')
KEYIDS="$(ipcs -s | awk '{if (3 < NR) {print $2}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-S'|'--semaphore-key')
KEYIDS="$(ipcs -s | awk '{if (3 < NR) {print $1}}')"
COMPREPLY=( $(compgen -W "$KEYIDS" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
'=')
cur=${cur#=}
COMPREPLY=( $(compgen -W "shm msg sem" -- $cur) )
return 0
;;
esac
OPTS=" --shmem-id
--shmem-key
--queue-id
--queue-key
--semaphore-id
--semaphore-key
--all=
--verbose
--help
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _ipcrm_module ipcrm