- Python now completes first on a .(py|pyc|pyo) file, then on any file
- rpm helper function _file_glob() has been integrated into _filedir(), as the principle was the same
This commit is contained in:
parent
29625b4dca
commit
63ecfc38ba
@ -1,6 +1,6 @@
|
|||||||
# bash_completion - some programmable completion functions for bash 2.05a
|
# bash_completion - some programmable completion functions for bash 2.05a
|
||||||
#
|
#
|
||||||
# $Id: bash_completion,v 1.324 2002/05/18 00:35:26 ianmacd Exp $
|
# $Id: bash_completion,v 1.325 2002/05/18 19:05:08 ianmacd Exp $
|
||||||
#
|
#
|
||||||
# Copyright (C) Ian Macdonald <ian@caliban.org>
|
# Copyright (C) Ian Macdonald <ian@caliban.org>
|
||||||
#
|
#
|
||||||
@ -76,7 +76,6 @@ complete -f -X '!*.fig' xfig
|
|||||||
complete -f -X '!*.@(mid?(i))' timidity playmidi
|
complete -f -X '!*.@(mid?(i))' timidity playmidi
|
||||||
complete -f -X '*.@(o|so|so.*|a|tar|?(t)gz|?(t)bz2|rpm|zip|ZIP|gif|GIF|jp?(e)g|JP?(E)G|mp3|MP3|mpg|MPG|avi|AVI|asf|ASF' vi vim emacs
|
complete -f -X '*.@(o|so|so.*|a|tar|?(t)gz|?(t)bz2|rpm|zip|ZIP|gif|GIF|jp?(e)g|JP?(E)G|mp3|MP3|mpg|MPG|avi|AVI|asf|ASF' vi vim emacs
|
||||||
complete -f -X '!*.@(exe|EXE|com|COM)' wine
|
complete -f -X '!*.@(exe|EXE|com|COM)' wine
|
||||||
complete -f -X '!*.@(py|pyc|pyo)' python
|
|
||||||
# FINISH exclude -- do not remove this line
|
# FINISH exclude -- do not remove this line
|
||||||
|
|
||||||
# start of section containing compspecs that can be handled within bash
|
# start of section containing compspecs that can be handled within bash
|
||||||
@ -127,11 +126,13 @@ have()
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function performs file and directory completion. It's better than
|
# This function performs file and directory completion. It's better than
|
||||||
# simply using 'compgen -f', because it honours spaces in filenames
|
# simply using 'compgen -f', because it honours spaces in filenames.
|
||||||
|
# If passed -d, it completes only on directories. If passed anything else,
|
||||||
|
# it's assumed to be a fileglob to complete on.
|
||||||
#
|
#
|
||||||
_filedir()
|
_filedir()
|
||||||
{
|
{
|
||||||
local IFS=$'\t\n'
|
local IFS=$'\t\n' xspec
|
||||||
|
|
||||||
_expand || return 0
|
_expand || return 0
|
||||||
|
|
||||||
@ -139,7 +140,10 @@ _filedir()
|
|||||||
COMPREPLY=( ${COMPREPLY[@]} $( compgen -d -- $cur ) )
|
COMPREPLY=( ${COMPREPLY[@]} $( compgen -d -- $cur ) )
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
COMPREPLY=( ${COMPREPLY[@]} $( compgen -f -- \"$cur\" ) )
|
|
||||||
|
xspec=${1:+"!*.$1"} # set only if glob passed in as $1
|
||||||
|
COMPREPLY=( ${COMPREPLY[@]} $( compgen -f -X "$xspec" -- "$cur" )
|
||||||
|
$( compgen -d -- "$cur" ) )
|
||||||
}
|
}
|
||||||
|
|
||||||
# This function completes on signal names
|
# This function completes on signal names
|
||||||
@ -1093,13 +1097,6 @@ rpm_group_completion()
|
|||||||
COMPREPLY=( $( echo ${COMPREPLY[@]} | sed 's/ /\\ /g' | tr '\n' '\t' ) )
|
COMPREPLY=( $( echo ${COMPREPLY[@]} | sed 's/ /\\ /g' | tr '\n' '\t' ) )
|
||||||
}
|
}
|
||||||
|
|
||||||
file_glob()
|
|
||||||
{
|
|
||||||
_expand || return 0
|
|
||||||
COMPREPLY=( $( compgen -f -X "!*.$1" -- $cur ) \
|
|
||||||
$( compgen -d -- $cur ) )
|
|
||||||
}
|
|
||||||
|
|
||||||
# rpm(8) completion
|
# rpm(8) completion
|
||||||
#
|
#
|
||||||
_rpm()
|
_rpm()
|
||||||
@ -1159,7 +1156,7 @@ _rpm()
|
|||||||
;;
|
;;
|
||||||
--specfile)
|
--specfile)
|
||||||
# complete on .spec files
|
# complete on .spec files
|
||||||
file_glob spec
|
_filedir spec
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
--whatprovides)
|
--whatprovides)
|
||||||
@ -3132,6 +3129,25 @@ _update_alternatives()
|
|||||||
}
|
}
|
||||||
[ "$have" ] && complete -F _update_alternatives update-alternatives
|
[ "$have" ] && complete -F _update_alternatives update-alternatives
|
||||||
|
|
||||||
|
# Python completion
|
||||||
|
#
|
||||||
|
have python &&
|
||||||
|
_python()
|
||||||
|
{
|
||||||
|
local cur
|
||||||
|
|
||||||
|
COMPREPLY=()
|
||||||
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
|
||||||
|
# first parameter on line a Python script?
|
||||||
|
if [ $COMP_CWORD -eq 1 ] && [[ "$cur" != -* ]]; then
|
||||||
|
_filedir '@(py|pyc|pyo)'
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
[ "$have" ] && complete -F _python $default python
|
||||||
|
|
||||||
_filedir_xspec()
|
_filedir_xspec()
|
||||||
{
|
{
|
||||||
local IFS cur xspec
|
local IFS cur xspec
|
||||||
|
Loading…
x
Reference in New Issue
Block a user