author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Wed, 29 Mar 2023 23:42:06 +0300 | |
changeset 1018 | 831e2c1bf980 |
parent 1017 | 0d77f5f13675 |
child 1038 | 79c56b8fb8e0 |
permissions | -rw-r--r-- |
318
68363fe03ae4
Add setting for Emacs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
317
diff
changeset
|
1 |
# -*- mode: shell-script -*- |
150 | 2 |
|
885
bfbd7fdc89f8
https://superuser.com/questions/1247541/make-bash-completion-to-ignore-exe-extention-in-cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
770
diff
changeset
|
3 |
[[ "$OSTYPE" = cygwin ]] && shopt -s completion_strip_exe |
bfbd7fdc89f8
https://superuser.com/questions/1247541/make-bash-completion-to-ignore-exe-extention-in-cygwin
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
770
diff
changeset
|
4 |
|
150 | 5 |
# user commands see only users |
6 |
complete -u su passwd write chfn groups slay w sux |
|
7 |
||
8 |
# bg completes with stopped jobs |
|
9 |
complete -A stopped -P '"%' -S '"' bg |
|
10 |
||
11 |
# other job commands |
|
12 |
complete -j -P '"%' -S '"' fg jobs disown |
|
13 |
||
14 |
# readonly and unset complete with shell variables |
|
15 |
complete -v readonly unset |
|
16 |
||
17 |
# set completes with set options |
|
18 |
complete -A setopt set |
|
19 |
||
20 |
# shopt completes with shopt options |
|
21 |
complete -A shopt shopt |
|
22 |
||
23 |
# helptopics |
|
24 |
complete -A helptopic help |
|
25 |
||
26 |
# unalias completes with aliases |
|
27 |
complete -a unalias |
|
28 |
||
29 |
# bind completes with readline bindings (make this more intelligent) |
|
30 |
complete -A binding bind |
|
31 |
||
32 |
# type and which complete on commands |
|
33 |
complete -c command type which |
|
34 |
||
35 |
# builtin completes on builtins |
|
36 |
complete -b builtin |
|
37 |
||
1007
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
38 |
_hgsync() { |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
39 |
local cur=${COMP_WORDS[COMP_CWORD]} |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
40 |
case $COMP_CWORD in |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
41 |
0|1) |
1017
0d77f5f13675
Added completion for "hgsync status".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
1011
diff
changeset
|
42 |
COMPREPLY=( $(compgen -W "local remote pull push info status help --help" -- $cur) ) |
1007
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
43 |
compopt +o nospace |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
44 |
return ;; |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
45 |
2) |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
46 |
COMPREPLY=( $(compgen -d -S / -- "$cur") ) |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
47 |
return ;; |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
48 |
*) |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
49 |
COMPREPLY=( ) |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
50 |
return ;; |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
51 |
esac |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
52 |
} |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
53 |
complete -F _hgsync -o nospace hgsync |
0077617b0deb
Added completion for hgsync.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
972
diff
changeset
|
54 |
|
236
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
55 |
_pathsearch() { |
239
8f3d4826aec2
Remove '$' sign from arithmetic contexts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
237
diff
changeset
|
56 |
local prev cur=${COMP_WORDS[COMP_CWORD]} |
8f3d4826aec2
Remove '$' sign from arithmetic contexts.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
237
diff
changeset
|
57 |
[[ $COMP_CWORD > 0 ]] && prev=${COMP_WORDS[COMP_CWORD-1]} |
236
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
58 |
if [[ $prev = -d ]]; then |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
59 |
COMPREPLY=() |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
60 |
return 0 |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
61 |
fi |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
62 |
case "$cur" in |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
63 |
-*) COMPREPLY=( $(compgen -W "-d --delimiter= -h --help" -- $cur ) ) ;; |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
64 |
*) COMPREPLY=() ;; |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
65 |
esac |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
66 |
return 0 |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
67 |
} |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
68 |
complete -F _pathsearch -o nospace pathsearch |
8469af3b5d40
Add completion for 'pathsearch'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
235
diff
changeset
|
69 |
|
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
70 |
_mycd() { |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
71 |
local cur |
972
27754771cbb6
Fixed handling of spaces in path for completion for Bash command "cd".
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
885
diff
changeset
|
72 |
local IFS=$'\n' |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
73 |
cur=${COMP_WORDS[COMP_CWORD]} |
577
50e17493c476
Fix condition syntax and add special case of '~/' path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
553
diff
changeset
|
74 |
if [[ -z "${CDPATH:-}" ]] || [[ $cur == ?(.)?(.)/* ]] || [[ $cur == '~'/* ]]; then |
736
73748dd9a563
Fallback to Readline built-in dir completion implementation to handle
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
638
diff
changeset
|
75 |
compopt -o dirnames; COMPREPLY=() |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
76 |
return 0 |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
77 |
fi |
253
70b18b0b9e53
Mark variable as local to avoid overwriting global values.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
252
diff
changeset
|
78 |
local i j k |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
79 |
for i in ${CDPATH//:/$'\n'}; do |
255
dc8e50b55c7e
Small command usage improvement.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
254
diff
changeset
|
80 |
for j in $( compgen -d -- $i/$cur ); do |
638
19faaf3d9d32
Use compound assignment to array instead of manual index updating.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
637
diff
changeset
|
81 |
COMPREPLY+=(${j#$i/}/) |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
82 |
done |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
83 |
done |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
84 |
return 0 |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
85 |
} |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
86 |
complete -F _mycd -o nospace cd |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
87 |
|
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
88 |
_man() { |
266
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
89 |
local p |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
90 |
local cur=${COMP_WORDS[COMP_CWORD]} |
267
180d2b4f3253
Proper handle absolute and local path to man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
266
diff
changeset
|
91 |
if [[ $cur = /* || $cur = ./* ]]; then |
180d2b4f3253
Proper handle absolute and local path to man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
266
diff
changeset
|
92 |
COMPREPLY=( $(compgen -f -- $cur) ) |
180d2b4f3253
Proper handle absolute and local path to man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
266
diff
changeset
|
93 |
fi |
266
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
94 |
local IFS=': |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
95 |
' |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
96 |
for p in /usr/share/man $MANPATH; do |
268
445d013283e6
Proper handle '::' sequences in MANPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
267
diff
changeset
|
97 |
[[ -n $p ]] || continue |
266
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
98 |
p=( $p/man*/* ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
99 |
p=( ${p[@]##*/} ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
100 |
p=( ${p[@]%.gz} ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
101 |
p=( ${p[@]%.*} ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
102 |
p=( $(compgen -W '${p[@]}' -- $cur ) ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
103 |
COMPREPLY=( ${COMPREPLY[@]} ${p[@]} ) |
c3dc97f8c1d2
Look in all dirs from $MANPATH when complete man page.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
265
diff
changeset
|
104 |
done |
241
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
105 |
} |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
106 |
complete -F _man man |
e1e0eeee8d51
Enable completion for man pages and CDPATH.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
240
diff
changeset
|
107 |
|
242
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
108 |
_make() { |
253
70b18b0b9e53
Mark variable as local to avoid overwriting global values.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
252
diff
changeset
|
109 |
local i mk |
263
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
110 |
local dir=. |
242
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
111 |
local cur=${COMP_WORDS[COMP_CWORD]} |
263
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
112 |
if [[ $cur = -* ]]; then |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
113 |
COMPREPLY=( $(compgen -W "-C -f" -- "$cur") ) |
242
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
114 |
return 0 |
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
115 |
fi |
263
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
116 |
[[ $COMP_CWORD > 0 ]] && prev=${COMP_WORDS[COMP_CWORD-1]} |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
117 |
for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
118 |
case ${COMP_WORDS[i]} in |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
119 |
-f) mk=${COMP_WORDS[i+1]} ;; |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
120 |
-C) dir=${COMP_WORDS[i+1]} ;; |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
121 |
esac |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
122 |
done |
262
fd0adcd27f18
Complete dirs for '-C' for make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
258
diff
changeset
|
123 |
if [[ $prev = -C ]]; then |
fd0adcd27f18
Complete dirs for '-C' for make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
258
diff
changeset
|
124 |
COMPREPLY=( $(compgen -d -- "$cur") ) |
fd0adcd27f18
Complete dirs for '-C' for make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
258
diff
changeset
|
125 |
return 0 |
fd0adcd27f18
Complete dirs for '-C' for make.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
258
diff
changeset
|
126 |
fi |
263
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
127 |
if [[ $prev = -f ]]; then |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
128 |
COMPREPLY=( $(cd $dir >/dev/null 2>&1; compgen -f -- "$cur") ) |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
129 |
return 0 |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
130 |
fi |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
131 |
mk=$dir/$mk |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
132 |
[[ -f $mk ]] || mk=$(eval echo $dir/[Mm]akefile) |
9a0fc755c9f9
Make '-C' and '-f' option work together.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
262
diff
changeset
|
133 |
[[ -f $mk ]] || return 1 |
242
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
134 |
COMPREPLY=( $(compgen -W "$(sed -n -e '/^[[:alnum:]_-]*:/{s=^\([^:]*\):.*=\1=;p;}' $mk)" -- $cur) ) |
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
135 |
return 0 |
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
136 |
} |
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
137 |
complete -F _make make gmake pmake |
a13e9cd16022
Add completion for 'make'.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
241
diff
changeset
|
138 |
|
264
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
139 |
_cygcheck() { |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
140 |
local opt |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
141 |
local cur=${COMP_WORDS[COMP_CWORD]} |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
142 |
case $COMP_CWORD in |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
143 |
1) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
144 |
case $cur in |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
145 |
-*) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
146 |
COMPREPLY=( $(compgen -W "-v --verbose -h --help -V --version -c --check-setup -s --sysinfo |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
147 |
-k --keycheck -f --find-package -l --list-package -p --package-query" -- "$cur") ) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
148 |
return 0 ;; |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
149 |
*) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
150 |
COMPREPLY=( $(compgen -c -- "$cur") ) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
151 |
return 0 ;; |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
152 |
esac |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
153 |
;; |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
154 |
2) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
155 |
opt=${COMP_WORDS[1]} |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
156 |
case $opt in |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
157 |
-c|--check-setup|-l|--list-package) |
552 | 158 |
local pkgs=( /etc/setup/*.lst.gz ) |
264
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
159 |
pkgs=( ${pkgs[@]##*/} ) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
160 |
pkgs=( ${pkgs[@]%.lst.gz} ) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
161 |
COMPREPLY=( $(compgen -W '${pkgs[@]}' -- $cur ) ) |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
162 |
return 0;; |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
163 |
esac |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
164 |
return 0;; |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
165 |
esac |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
166 |
return 0 |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
167 |
} |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
168 |
complete -F _cygcheck cygcheck.exe cygcheck |
ba2b44143421
Add completion for cygcheck.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
263
diff
changeset
|
169 |
|
553
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
170 |
_lighty() { |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
171 |
local cur=${COMP_WORDS[COMP_CWORD]} |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
172 |
local mods=( /etc/lighttpd/conf-available/*.conf ) |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
173 |
mods=( ${mods[@]##*/} ) |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
174 |
mods=( ${mods[@]#??-} ) |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
175 |
mods=( ${mods[@]%.conf} ) |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
176 |
|
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
177 |
COMPREPLY=( $(compgen -W '${mods[@]}' -- $cur) ) |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
178 |
return 0 |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
179 |
} |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
180 |
|
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
181 |
complete -F _lighty lighty-disable-mod |
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
182 |
complete -F _lighty lighty-enable-mod |
587
b0807924930d
Add command aliases.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
577
diff
changeset
|
183 |
complete -F _lighty lighttpd-disable-mod |
b0807924930d
Add command aliases.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
577
diff
changeset
|
184 |
complete -F _lighty lighttpd-enable-mod |
553
50b46df6ca28
Add lighty-*-mod completion.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
552
diff
changeset
|
185 |