blob: c3457db31da2254d6aa1b2aabf8f330ac3515043 (
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
72
73
74
75
|
# Gentoo Linux Layman Command Completion
#
# $Id$
#
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2 or later
#
# Originally licensed as 'public-domain'
# Originally written by: Peter "Link" Sterk <link@penguindevelopment.org>
have layman && {
_layman()
{
local cur prev opts r_overlays l_overlays
opts="-a --add -d --delete -s --sync -i --info -S --sync-all -L --list \
-l --list-local -f --fetch -n --nofetch -p --priority -c --config \
-o --overlays -v --verbose -q --quiet -N --nocolor -Q --quietness \
-k --nocheck --debug --debug-level --debug-verbose --debug-methods \
--debug-classes --debug-variables --debug-class-vars --debug-nocolor"
r_overlays="$(layman -LkN 2>/dev/null | grep '(source' | awk '{print $2}')"
l_overlays="$(layman -lkN 2>/dev/null | grep '(source' | awk '{print $2}')"
ls_overlays="${l_overlays} ALL"
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]]
then
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
fi
case "${prev}" in
-a|--add)
COMPREPLY=($(compgen -W "${r_overlays}" -- ${cur}))
return 0
;;
-d|--delete)
COMPREPLY=($(compgen -W "${l_overlays}" -- "${cur}"))
return 0
;;
-s|--sync)
COMPREPLY=($(compgen -W "${ls_overlays}" -- "${cur}"))
return 0
;;
-i|--info)
COMPREPLY=($(compgen -W "${r_overlays}" -- "${cur}"))
return 0
;;
-p|--priority)
COMPREPLY=($(compgen -W "$(seq 0 100)" -- "${cur}"))
return 0
;;
-Q|--quietness)
COMPREPLY=($(compgen -W "$(seq 0 4)" -- "${cur}"))
return 0
;;
--debug-level)
COMPREPLY=($(compgen -W "$(seq 0 10)" -- "${cur}"))
return 0
;;
--debug-verbose)
COMPREPLY=($(compgen -W "$(seq 1 3)" -- "${cur}"))
return 0
;;
esac
}
complete -F _layman layman
}
# vim: set ft=sh tw=80 sw=4 et :
|