File tree Expand file tree Collapse file tree 14 files changed +54
-71
lines changed Expand file tree Collapse file tree 14 files changed +54
-71
lines changed Original file line number Diff line number Diff line change @@ -81,13 +81,15 @@ _comp_cmd_slackpkg()
81
81
_comp_compgen_filedir
82
82
_comp_compgen -a -- -W ' a ap d e f k kde kdei l n t tcl x xap xfce
83
83
y'
84
- COMPREPLY+=($( cut -f 6 -d\ " ${WORKDIR} /pkglist" 2> /dev/null |
85
- command grep " ^$cur " ) )
84
+ _comp_compgen -a split -l -- " $(
85
+ cut -f 6 -d\ " ${WORKDIR} /pkglist" 2> /dev/null
86
+ ) "
86
87
return
87
88
;;
88
89
info)
89
- COMPREPLY=($( cut -f 6 -d\ " ${WORKDIR} /pkglist" 2> /dev/null |
90
- command grep " ^$cur " ) )
90
+ _comp_compgen_split " $(
91
+ cut -f 6 -d\ " ${WORKDIR} /pkglist" 2> /dev/null
92
+ ) "
91
93
return
92
94
;;
93
95
update)
Original file line number Diff line number Diff line change @@ -8,13 +8,13 @@ _comp_cmd_yum__list()
8
8
if [[ $1 == all ]]; then
9
9
# Try to strip in between headings like "Available Packages"
10
10
# This will obviously only work for English :P
11
- COMPREPLY=( $( yum -d 0 -C list " $1 " " $cur *" 2> /dev/null |
11
+ _comp_split COMPREPLY " $( yum -d 0 -C list " $1 " " $cur *" 2> /dev/null |
12
12
command sed -ne ' /^Available /d' -e ' /^Installed /d' \
13
- -e ' /^Updated /d' -e ' s/[[:space:]].*//p' ) )
13
+ -e ' /^Updated /d' -e ' s/[[:space:]].*//p' ) "
14
14
else
15
15
# Drop first line (e.g. "Updated Packages")
16
- COMPREPLY=( $( yum -d 0 -C list " $1 " " $cur *" 2> /dev/null |
17
- command sed -ne 1d -e ' s/[[:space:]].*//p' ) )
16
+ _comp_split COMPREPLY " $( yum -d 0 -C list " $1 " " $cur *" 2> /dev/null |
17
+ command sed -ne 1d -e ' s/[[:space:]].*//p' ) "
18
18
fi
19
19
}
20
20
Original file line number Diff line number Diff line change @@ -52,9 +52,8 @@ _comp_cmd_aptitude()
52
52
return
53
53
;;
54
54
--target-release | --default-release | -${noargopts} t)
55
- COMPREPLY=($( apt-cache policy |
56
- command grep " release.o=Debian,a=$cur " |
57
- command sed -e " s/.*a=\([_[:alnum:]]*\).*/\1/" | uniq 2> /dev/null) )
55
+ _comp_compgen_split -l -- " $( apt-cache policy |
56
+ command sed -ne ' s/.*release.o=Debian,a=\([_[:alnum:]]*\).*/\1/p' ) "
58
57
return
59
58
;;
60
59
esac
Original file line number Diff line number Diff line change @@ -27,9 +27,9 @@ _comp_cmd_cpan2dist()
27
27
[[ -d $dir && -r " $dir /02packages.details.txt.gz" ]] &&
28
28
packagelist=" $dir /02packages.details.txt.gz"
29
29
done
30
- [[ $packagelist ]] && COMPREPLY=( $( zgrep " ^${cur// -/:: } " \
30
+ [[ $packagelist ]] && _comp_split COMPREPLY " $( zgrep " ^${cur// -/:: } " \
31
31
" $packagelist " 2> /dev/null | _comp_awk ' {print $1}' |
32
- command sed -e ' s/::/-/g' ) )
32
+ command sed -e ' s/::/-/g' ) "
33
33
fi
34
34
} &&
35
35
complete -F _comp_cmd_cpan2dist -o default cpan2dist
Original file line number Diff line number Diff line change @@ -7,7 +7,9 @@ _comp_cmd_isql()
7
7
_comp_initialize -- " $@ " || return
8
8
9
9
[[ -f ${ODBCINI-} ]] &&
10
- COMPREPLY=($( command grep " \[$cur " " $ODBCINI " | tr -d \[\] ) )
10
+ _comp_compgen_split -l -- " $(
11
+ command sed -n ' s/\]//g;s/^\[//gp' " $ODBCINI "
12
+ ) "
11
13
} &&
12
14
complete -F _comp_cmd_isql isql
13
15
Original file line number Diff line number Diff line change @@ -154,11 +154,10 @@ _comp_cmd_make()
154
154
# mode=-d # display-only mode
155
155
# fi
156
156
157
- local IFS=$' \t\n '
158
- COMPREPLY=($( LC_ALL=C \
157
+ _comp_split COMPREPLY " $( LC_ALL=C \
159
158
$1 -npq __BASH_MAKE_COMPLETION__=1 \
160
159
${makef+" ${makef[@]} " } " ${makef_dir[@]} " .DEFAULT 2> /dev/null |
161
- _comp_cmd_make__extract_targets " $mode " " $cur " ) )
160
+ _comp_cmd_make__extract_targets " $mode " " $cur " ) "
162
161
163
162
_comp_cmd_make__truncate_non_unique_paths
164
163
Original file line number Diff line number Diff line change @@ -22,13 +22,8 @@ _comp_cmd_postcat()
22
22
[[ $idx == -q ]] && qfile=set && break
23
23
done
24
24
if [[ $qfile ]]; then
25
- local len=${# cur} pval
26
- for pval in $( mailq 2> /dev/null |
27
- command sed -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//' ) ; do
28
- if [[ $cur == " ${pval: 0: len} " ]]; then
29
- COMPREPLY+=(" $pval " )
30
- fi
31
- done
25
+ _comp_compgen_split -- " $( mailq 2> /dev/null |
26
+ command sed -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//' ) "
32
27
return
33
28
fi
34
29
Original file line number Diff line number Diff line change @@ -5,42 +5,25 @@ _comp_cmd_postsuper()
5
5
local cur prev words cword comp_args
6
6
_comp_initialize -- " $@ " || return
7
7
8
- local pval len
9
-
10
8
case $prev in
11
9
-c)
12
10
_comp_compgen_filedir -d
13
11
return
14
12
;;
15
13
-[dr])
16
- len=${# cur}
17
- for pval in ALL $( mailq 2> /dev/null |
18
- command sed -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//' ) ; do
19
- if [[ $cur == " ${pval: 0: len} " ]]; then
20
- COMPREPLY+=($pval )
21
- fi
22
- done
14
+ _comp_compgen_split -- " ALL $( mailq 2> /dev/null |
15
+ command sed -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//' ) "
23
16
return
24
17
;;
25
18
-h)
26
- len=${# cur}
27
- for pval in ALL $( mailq 2> /dev/null |
19
+ _comp_compgen_split -- " ALL $( mailq 2> /dev/null |
28
20
command sed \
29
- -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* ].*$//; /!$/d' ) ; do
30
- if [[ $cur == " ${pval: 0: len} " ]]; then
31
- COMPREPLY+=($pval )
32
- fi
33
- done
21
+ -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* ].*$//; /!$/d' ) "
34
22
return
35
23
;;
36
24
-H)
37
- len=${# cur}
38
- for pval in ALL $( mailq 2> /dev/null | command sed -e \
39
- ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ) ; do
40
- if [[ $cur == " ${pval: 0: len} " ]]; then
41
- COMPREPLY+=($pval )
42
- fi
43
- done
25
+ _comp_compgen_split -- " ALL $( mailq 2> /dev/null | command sed \
26
+ -e ' 1d; $d; /^[^0-9A-Z]/d; /^$/d; /^[0-9A-Z]*[* ]/d; s/!.*$//' ) "
44
27
return
45
28
;;
46
29
esac
Original file line number Diff line number Diff line change @@ -48,10 +48,9 @@ _comp_cmd_povray()
48
48
cur=" ${povcur#* \[ } "
49
49
pfx=" ${povcur% \[ " $cur " } " # prefix == filename
50
50
[[ -f $pfx && -r $pfx ]] || return
51
- COMPREPLY=($( command sed -ne \
52
- ' s/^[[:space:]]*\[\(' " $cur " ' [^]]*\]\).*$/\1/p' -- " $pfx " ) )
53
- # to prevent [bar] expand to nothing. can be done more easily?
54
- (( ${# COMPREPLY[@]} )) &&
51
+ _comp_compgen_split -l -- " $( command sed -ne \
52
+ ' s/^[[:space:]]*\[\([^]]*\]\).*$/\1/p' -- " $pfx " ) " &&
53
+ # to prevent [bar] expand to nothing. can be done more easily?
55
54
_comp_compgen -Rv COMPREPLY -- -P " ${pfx} [" -W ' "${COMPREPLY[@]}"'
56
55
return
57
56
;;
Original file line number Diff line number Diff line change @@ -61,10 +61,8 @@ _comp_cmd_sbopkg()
61
61
local file=${REPO_ROOT-} /${REPO_NAME-} /${REPO_BRANCH-} /SLACKBUILDS.TXT
62
62
[[ -f $file && -r $file ]] || return
63
63
64
- COMPREPLY=($(
65
- command sed -ne " /^SLACKBUILD NAME: $cur /{s/^SLACKBUILD NAME: //;p;}" \
66
- " $file "
67
- ) )
64
+ _comp_compgen_split -l -- " $( command sed -ne " s/^SLACKBUILD NAME: //p" \
65
+ " $file " ) "
68
66
_comp_compgen -aC " $QUEUEDIR " -- -f -X " !*.sqf"
69
67
} &&
70
68
complete -F _comp_cmd_sbopkg sbopkg
Original file line number Diff line number Diff line change @@ -60,13 +60,17 @@ _comp_cmd_slapt_get()
60
60
# slapt-get will fail to search for "^name-version"
61
61
# it can search for names only
62
62
local name=${cur%% -* }
63
- COMPREPLY=($( LC_ALL=C " $1 " -c " $config " --search " ^$name " \
64
- 2> /dev/null | LC_ALL=C command sed -ne " /^$cur /{s/ .*$//;p;}" ) )
63
+ _comp_compgen_split -l -- " $(
64
+ LC_ALL=C " $1 " -c " $config " --search " ^$name " 2> /dev/null |
65
+ LC_ALL=C command sed -ne " /^$cur /{s/ .*$//;p;}"
66
+ ) "
65
67
return
66
68
;;
67
69
avl) # --install|-i|
68
- COMPREPLY=($( LC_ALL=C " $1 " -c " $config " --available \
69
- 2> /dev/null | LC_ALL=C command sed -ne " /^$cur /{s/ .*$//;p;}" ) )
70
+ _comp_compgen_split -l -- " $(
71
+ LC_ALL=C " $1 " -c " $config " --available 2> /dev/null |
72
+ LC_ALL=C command sed -ne " /^$cur /{s/ .*$//;p;}"
73
+ ) "
70
74
return
71
75
;;
72
76
ins) # --remove|--filelist
Original file line number Diff line number Diff line change @@ -56,12 +56,17 @@ _comp_cmd_slapt_src()
56
56
57
57
if [[ $cur == * :* ]]; then
58
58
local name=${cur%:* }
59
- COMPREPLY=($( LC_ALL=C " $1 " --config " $config " --search " ^$name " \
60
- 2> /dev/null | LC_ALL=C command sed -ne \
61
- " /^$cur /{s/^$name :\([^ ]*\) .*$/\1/;p;}" ) )
59
+ _comp_compgen_split -l -- " $(
60
+ LC_ALL=C
61
+ " $1 " --config " $config " --search " ^$name " 2> /dev/null |
62
+ command sed -ne " /^$cur /{s/^$name :\([^ ]*\) .*$/\1/;p;}"
63
+ ) "
62
64
else
63
- COMPREPLY=($( LC_ALL=C " $1 " --config " $config " --search " ^$cur " \
64
- 2> /dev/null | LC_ALL=C command sed -ne " /^$cur /{s/ .*$//;p;}" ) )
65
+ _comp_compgen_split -l -- " $(
66
+ LC_ALL=C
67
+ " $1 " --config " $config " --search " ^$cur " 2> /dev/null |
68
+ command sed -ne " /^$cur /{s/ .*$//;p;}"
69
+ ) "
65
70
fi
66
71
} &&
67
72
complete -F _comp_cmd_slapt_src slapt-src
Original file line number Diff line number Diff line change @@ -83,14 +83,13 @@ _comp_cmd_xvnc4viewer()
83
83
WMDecorationWidth ZlibLevel)
84
84
[[ $cur == --* ]] && dash=-- || dash=-
85
85
86
- local IFS=$' \t\n '
87
- COMPREPLY=($(
86
+ _comp_split COMPREPLY " $(
88
87
shopt -s nocasematch
89
88
local option
90
89
for option in " ${options[@]} " ; do
91
90
[[ $dash$option == " $cur " * ]] && printf ' %s\n' " $dash$option "
92
91
done
93
- ) )
92
+ ) "
94
93
else
95
94
_comp_compgen_known_hosts -- " $cur "
96
95
fi
Original file line number Diff line number Diff line change @@ -33,10 +33,8 @@ _comp_cmd_wvdial()
33
33
done
34
34
# parse config files for sections and
35
35
# remove default section
36
- COMPREPLY=($(
37
- command sed -ne " s|^\[Dialer \($cur .*\)\]$|\1|p" " $config " \
38
- 2> /dev/null | command grep -v ' ^Defaults$'
39
- ) )
36
+ _comp_compgen_split -l -X ' Defaults' -- " $( command sed -ne \
37
+ ' s/^\[Dialer \(.*\)\]$/\1/p' " $config " 2> /dev/null) "
40
38
# escape spaces
41
39
COMPREPLY=(" ${COMPREPLY[@]// / \\ } " )
42
40
;;
You can’t perform that action at this time.
0 commit comments