3
3
_comp_cmd_perl__helper ()
4
4
{
5
5
COMPREPLY=($( compgen -P " $prefix " -W \
6
- " $( " ${2 :- perl} " " ${BASH_SOURCE[0]%/* } /../helpers/perl" " $1 " " $cur " ) " \
6
+ " $( " ${1 :- perl} " " ${BASH_SOURCE[0]%/* } /../helpers/perl" " $2 " " $cur " ) " \
7
7
-- " $cur " ) )
8
8
[[ $1 == functions ]] || _comp_ltrim_colon_completions " $prefix$cur "
9
9
}
@@ -41,7 +41,7 @@ _comp_cmd_perl()
41
41
temp=" ${cur# -} "
42
42
prefix+=${cur% " $temp " }
43
43
cur=" $temp "
44
- _comp_cmd_perl__helper modules " $1 "
44
+ _comp_cmd_perl__helper " $1 " modules
45
45
return
46
46
;;
47
47
-* V)
@@ -61,7 +61,7 @@ _comp_cmd_perl()
61
61
temp=" ${cur#: } "
62
62
prefix=$prefix ${cur% " $temp " }
63
63
cur=" Devel::$temp "
64
- _comp_cmd_perl__helper modules " $1 "
64
+ _comp_cmd_perl__helper " $1 " modules
65
65
fi
66
66
;;
67
67
esac
@@ -106,8 +106,9 @@ _comp_cmd_perldoc()
106
106
prefix=$prev
107
107
fi
108
108
109
- local perl=" ${1% doc} "
110
- [[ $perl == " $1 " ]] || ! type " $perl " & > /dev/null && perl=
109
+ # Prefer `perl` in the same dir in utility functions
110
+ local pathcmd
111
+ pathcmd=$( type -P " $1 " ) && local PATH=${pathcmd%/* } :$PATH
111
112
112
113
case $prev in
113
114
-* [hVnoMwL])
@@ -118,7 +119,7 @@ _comp_cmd_perldoc()
118
119
return
119
120
;;
120
121
-* f)
121
- _comp_cmd_perl__helper functions " $perl "
122
+ _comp_cmd_perl__helper " " functions
122
123
return
123
124
;;
124
125
esac
@@ -128,7 +129,7 @@ _comp_cmd_perldoc()
128
129
else
129
130
# return available modules (unless it is clearly a file)
130
131
if [[ $cur != @ (* /| [.~])* ]]; then
131
- _comp_cmd_perl__helper perldocs " $perl "
132
+ _comp_cmd_perl__helper " " perldocs
132
133
if [[ $cur == p* ]]; then
133
134
COMPREPLY+=($( compgen -W \
134
135
' $(PERLDOC_PAGER=cat "$1" -u perl | \
0 commit comments