Use _init_completion() in completions/p*.
This commit is contained in:
parent
aef53c1160
commit
e3ca91b986
@ -4,10 +4,10 @@ have p4 || return
|
||||
|
||||
_p4()
|
||||
{
|
||||
local cur prev words cword p4commands p4filetypes
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev words cword
|
||||
local p4commands p4filetypes
|
||||
|
||||
# rename isn't really a command
|
||||
p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )"
|
||||
|
@ -19,12 +19,10 @@ _perlfunctions()
|
||||
|
||||
_perl()
|
||||
{
|
||||
local cur prev prefix temp
|
||||
local optPrefix optSuffix
|
||||
local cur prev words cword
|
||||
_init_completion -n : || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -n : cur prev
|
||||
prefix=""
|
||||
local prefix="" temp optPrefix optSuffix
|
||||
|
||||
# If option not followed by whitespace, reassign prev and cur
|
||||
if [[ "$cur" == -?* ]]; then
|
||||
@ -87,11 +85,10 @@ complete -F _perl perl
|
||||
|
||||
_perldoc()
|
||||
{
|
||||
local cur prev prefix temp
|
||||
local cur prev words cword
|
||||
_init_completion -n : || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -n : cur prev
|
||||
prefix=""
|
||||
local prefix="" temp
|
||||
|
||||
# completing an option (may or may not be separated by a space)
|
||||
if [[ "$cur" == -?* ]]; then
|
||||
|
@ -4,10 +4,8 @@ have pine || have alpine || return
|
||||
|
||||
_pineaddr()
|
||||
{
|
||||
local cur
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=( $( compgen -W '$( awk "{print \$1}" ~/.addressbook \
|
||||
2>/dev/null)' -- "$cur" ) )
|
||||
|
@ -4,11 +4,10 @@ have pkg-config || return
|
||||
|
||||
_pkg_config()
|
||||
{
|
||||
local cur prev split=false
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local split=false
|
||||
_split_longopt && split=true
|
||||
|
||||
case $prev in
|
||||
|
@ -4,10 +4,10 @@
|
||||
|
||||
_pkg_delete()
|
||||
{
|
||||
local cur pkgdir prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
pkgdir=${PKG_DBDIR:-/var/db/pkg}/
|
||||
_get_comp_words_by_ref cur prev
|
||||
local pkgdir=${PKG_DBDIR:-/var/db/pkg}/
|
||||
|
||||
[[ "$prev" == -o || "$prev" == -p || "$prev" == -W ]] && return 0
|
||||
|
||||
|
@ -4,10 +4,8 @@
|
||||
|
||||
_removepkg()
|
||||
{
|
||||
local packages cur
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
|
||||
} &&
|
||||
|
@ -3,8 +3,9 @@
|
||||
have pm-is-supported &&
|
||||
_pm_is_supported()
|
||||
{
|
||||
local cur
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=( $( compgen -W '--help --suspend --hibernate --suspend-hybrid' \
|
||||
-- "$cur" ) )
|
||||
} &&
|
||||
@ -13,8 +14,9 @@ complete -F _pm_is_supported pm-is-supported
|
||||
have pm-hibernate || have pm-suspend || have pm-suspend-hybrid &&
|
||||
_pm_action()
|
||||
{
|
||||
local cur
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=( $( compgen -W "--help $( _parse_help "$1" )" -- "$cur" ) )
|
||||
} &&
|
||||
complete -F _pm_action pm-hibernate pm-suspend pm-suspend-hybrid
|
||||
@ -22,8 +24,9 @@ complete -F _pm_action pm-hibernate pm-suspend pm-suspend-hybrid
|
||||
have pm-powersave &&
|
||||
_pm_powersave()
|
||||
{
|
||||
local cur
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
|
||||
} &&
|
||||
complete -F _pm_powersave pm-powersave
|
||||
|
@ -3,13 +3,13 @@
|
||||
have portupgrade &&
|
||||
_portupgrade()
|
||||
{
|
||||
local cur pkgdir prev
|
||||
|
||||
pkgdir=${PKG_DBDIR:-/var/db/pkg}/
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
[[ "$prev" == -l || "$prev" == -L || "$prev" == -o ]] && return 0
|
||||
|
||||
local pkgdir=${PKG_DBDIR:-/var/db/pkg}/
|
||||
|
||||
COMPREPLY=( $( compgen -d "$pkgdir$cur" ) )
|
||||
COMPREPLY=( ${COMPREPLY[@]#$pkgdir} )
|
||||
COMPREPLY=( ${COMPREPLY[@]%-*} )
|
||||
@ -21,7 +21,10 @@ complete -F _portupgrade -o dirnames portupgrade
|
||||
have portinstall &&
|
||||
_portinstall()
|
||||
{
|
||||
local cur portsdir prev indexfile
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local portsdir indexfile
|
||||
local -a COMPREPLY2
|
||||
|
||||
portsdir=${PORTSDIR:-/usr/ports}/
|
||||
|
@ -6,10 +6,8 @@ have postfix || return
|
||||
#
|
||||
_postfix()
|
||||
{
|
||||
local cur prev
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
-c)
|
||||
@ -36,10 +34,8 @@ complete -F _postfix postfix
|
||||
#
|
||||
_postmap()
|
||||
{
|
||||
local cur prev len idx
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
-c)
|
||||
@ -61,8 +57,7 @@ _postmap()
|
||||
_compopt_o_filenames
|
||||
COMPREPLY=( $( compgen -f -- "${cur#*:}" ) )
|
||||
else
|
||||
len=${#cur}
|
||||
idx=0
|
||||
local len=${#cur} idx=0 pval
|
||||
for pval in $( /usr/sbin/postconf -m ); do
|
||||
if [[ "$cur" == "${pval:0:$len}" ]]; then
|
||||
COMPREPLY[$idx]="$pval:"
|
||||
@ -82,10 +77,8 @@ complete -F _postmap postmap postalias
|
||||
#
|
||||
_postcat()
|
||||
{
|
||||
local cur prev pval len idx qfile
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
-c)
|
||||
@ -99,12 +92,12 @@ _postcat()
|
||||
return 0
|
||||
fi
|
||||
|
||||
qfile=0
|
||||
for idx in "${COMP_WORDS[@]}"; do
|
||||
local idx qfile=0
|
||||
for idx in "${words[@]}"; do
|
||||
[[ "$idx" = -q ]] && qfile=1 && break
|
||||
done
|
||||
if [[ $qfile -eq 1 ]]; then
|
||||
len=${#cur}
|
||||
local len=${#cur} pval
|
||||
idx=0
|
||||
for pval in $( mailq 2>/dev/null | \
|
||||
sed -e '1d; $d; /^[^0-9A-Z]/d; /^$/d; s/[* !].*$//' ); do
|
||||
@ -125,10 +118,10 @@ complete -F _postcat postcat
|
||||
#
|
||||
_postconf()
|
||||
{
|
||||
local cur prev pval len idx eqext
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local eqext
|
||||
|
||||
case $prev in
|
||||
-b|-t)
|
||||
@ -151,8 +144,7 @@ _postconf()
|
||||
return 0
|
||||
fi
|
||||
|
||||
len=${#cur}
|
||||
idx=0
|
||||
local len=${#cur} idx=0 pval
|
||||
for pval in $( /usr/sbin/postconf 2>/dev/null | cut -d ' ' -f 1 ); do
|
||||
if [[ "$cur" == "${pval:0:$len}" ]]; then
|
||||
COMPREPLY[$idx]="$pval$eqext"
|
||||
@ -167,10 +159,10 @@ complete -F _postconf postconf
|
||||
#
|
||||
_postsuper()
|
||||
{
|
||||
local cur prev pval len idx
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local pval len idx
|
||||
|
||||
case $prev in
|
||||
-c)
|
||||
|
@ -22,11 +22,10 @@ _pg_users()
|
||||
#
|
||||
_createdb()
|
||||
{
|
||||
local cur prev split=false
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local split=false
|
||||
_split_longopt && split=true
|
||||
|
||||
case $prev in
|
||||
@ -64,11 +63,10 @@ complete -F _createdb -o default createdb
|
||||
#
|
||||
_dropdb()
|
||||
{
|
||||
local cur prev split=false
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local split=false
|
||||
_split_longopt && split=true
|
||||
|
||||
case $prev in
|
||||
@ -101,11 +99,10 @@ complete -F _dropdb -o default dropdb
|
||||
#
|
||||
_psql()
|
||||
{
|
||||
local cur prev split=false
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
local split=false
|
||||
_split_longopt && split=true
|
||||
|
||||
case $prev in
|
||||
|
@ -4,11 +4,11 @@ have povray || have xpovray || have spovray || return
|
||||
|
||||
_povray()
|
||||
{
|
||||
local cur prev povcur pfx oext defoext
|
||||
defoext=png # default output extension, if cannot be determined FIXME
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref -c povcur prev
|
||||
local povcur=$cur pfx oext defoext
|
||||
defoext=png # default output extension, if cannot be determined FIXME
|
||||
|
||||
_expand || return 0
|
||||
|
||||
@ -22,14 +22,14 @@ _povray()
|
||||
;;
|
||||
[-+]O*)
|
||||
# guess what output file type user may want
|
||||
case $( ( IFS=$'\n'; command grep '^[-+]F' <<<"${COMP_WORDS[*]}" ) ) in
|
||||
case $( ( IFS=$'\n'; command grep '^[-+]F' <<<"${words[*]}" ) ) in
|
||||
[-+]FN) oext=png ;;
|
||||
[-+]FP) oext=ppm ;;
|
||||
[-+]F[CT]) oext=tga ;;
|
||||
*) oext=$defoext ;;
|
||||
esac
|
||||
# complete filename corresponding to previously specified +I
|
||||
COMPREPLY=( $( ( IFS=$'\n'; command grep '^[-+]I' <<<"${COMP_WORDS[*]}" ) ) )
|
||||
COMPREPLY=( $( ( IFS=$'\n'; command grep '^[-+]I' <<<"${words[*]}" ) ) )
|
||||
COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
|
||||
COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
|
||||
cur="${povcur#[-+]O}" # to confuse _filedir
|
||||
@ -49,7 +49,6 @@ _povray()
|
||||
return 0
|
||||
;;
|
||||
*)
|
||||
cur="$povcur"
|
||||
_filedir '@(ini|pov)'
|
||||
return 0
|
||||
;;
|
||||
|
@ -5,12 +5,10 @@
|
||||
[[ $UNAME == Linux || $UNAME == FreeBSD ]] || have pkill &&
|
||||
_killall()
|
||||
{
|
||||
local cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur
|
||||
|
||||
if [[ $COMP_CWORD -eq 1 && "$cur" == -* ]]; then
|
||||
if [[ $cword -eq 1 && "$cur" == -* ]]; then
|
||||
_signals
|
||||
else
|
||||
_pnames
|
||||
@ -26,10 +24,8 @@ have pkill && complete -F _killall pkill
|
||||
[ $UNAME = Linux ] || have pgrep &&
|
||||
_pgrep()
|
||||
{
|
||||
local cur
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
_pnames
|
||||
|
||||
|
@ -50,10 +50,10 @@ _puppet_references()
|
||||
|
||||
_puppet()
|
||||
{
|
||||
local cur prev xspec helpopts command subcommand
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local xspec helpopts command subcommand
|
||||
|
||||
case $prev in
|
||||
--help)
|
||||
@ -61,7 +61,7 @@ _puppet()
|
||||
;;
|
||||
esac
|
||||
|
||||
case ${COMP_WORDS[0]} in
|
||||
case ${words[0]} in
|
||||
puppetmasterd)
|
||||
command=master
|
||||
;;
|
||||
@ -90,9 +90,9 @@ _puppet()
|
||||
command=describe
|
||||
;;
|
||||
puppet)
|
||||
case ${COMP_WORDS[1]} in
|
||||
case ${words[1]} in
|
||||
agent|apply|cert|describe|doc|filebucket|kick|master|queue|resource)
|
||||
command=${COMP_WORDS[1]}
|
||||
command=${words[1]}
|
||||
;;
|
||||
*.pp|*.rb|-*)
|
||||
command=apply
|
||||
|
@ -4,10 +4,8 @@ have python || return
|
||||
|
||||
_python()
|
||||
{
|
||||
local prev cur i
|
||||
|
||||
COMPREPLY=()
|
||||
_get_comp_words_by_ref cur prev
|
||||
local cur prev words cword
|
||||
_init_completion || return
|
||||
|
||||
case $prev in
|
||||
-'?'|-h|--help|-V|--version|-c|-m)
|
||||
@ -23,15 +21,16 @@ _python()
|
||||
return 0
|
||||
;;
|
||||
!(?(*/)python*([0-9.])|-?))
|
||||
[[ $COMP_CWORD -lt 2 || ${COMP_WORDS[COMP_CWORD-2]} != -@(Q|W) ]] \
|
||||
[[ $cword -lt 2 || ${words[cword-2]} != -@(Q|W) ]] \
|
||||
&& _filedir
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# if '-c' is already given, complete all kind of files.
|
||||
for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
|
||||
if [[ ${COMP_WORDS[i]} == -c ]]; then
|
||||
local i
|
||||
for (( i=0; i < ${#words[@]}-1; i++ )); do
|
||||
if [[ ${words[i]} == -c ]]; then
|
||||
_filedir
|
||||
fi
|
||||
done
|
||||
|
Loading…
x
Reference in New Issue
Block a user