blob: a40fe428603f8d2b39e8654e125f73deea3df53e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
_lsipc_module()
{
local cur prev OPTS ARG
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-i'|'--id')
COMPREPLY=( $(compgen -W "id" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
'--time-format')
COMPREPLY=( $(compgen -W "short full iso" -- $cur) )
return 0
;;
'-o'|'--output')
local prefix realcur OUTPUT_ALL OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
OUTPUT_ALL="
KEY ID OWNER PERMS CUID CUSER CGID
CGROUP UID USER GID GROUP CTIME
SIZE NATTCH STATUS ATTACH DETACH
COMMAND CPID LPID
USEDBYTES MSGS SEND RECV LSPID LRPID
NSEMS OTIME
RESOURCE DESCRIPTION LIMIT USED USE%
"
for WORD in $OUTPUT_ALL; do
if ! [[ $prefix == *"$WORD"* ]]; then
OUTPUT="$WORD ${OUTPUT:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
return 0
;;
esac
OPTS="
--shmems
--queues
--semaphores
--global
--id
--noheadings
--notruncate
--time-format
--bytes
--creator
--export
--json
--newline
--list
--output
--numeric-perms
--raw
--time
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _lsipc_module lsipc
|