On Fri, Sep 28, 2012 at 05:07:53PM +0200, Benoît Burnichon wrote:
> using this bash_completion allows using p <Tab> to complete commands
> even if ptxdist is installed on the system
>
> Signed-off-by: Benoît Burnichon <[email protected]>
> ---
> scripts/bash_completion | 15 +++++++++++----
> 1 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/scripts/bash_completion b/scripts/bash_completion
> index 3d4bc38..57d80a7 100644
> --- a/scripts/bash_completion
> +++ b/scripts/bash_completion
> @@ -8,7 +8,13 @@ if have ptxdist; then
>
> _ptxdist_completion()
> {
> - local cur cmds opts
> + local cur cmds opts _ptxdist_cmd
> +
> + if [ -h './p' ]; then
> + _ptxdist_cmd=$(readlink ./p)
> + else
> + _ptxdist_cmd=ptxdist
> + fi
if [ "${COMP_WORDS[0]}" = "ptxdist ]; then
_ptxdist_cmd=ptxdist
else
_ptxdist_cmd="$(readlink "${COMP_WORDS[0]}")"
fi
I think. This way we're not limited to ./p
Or maybe just '_ptxdist_cmd="${COMP_WORDS[0]}"'. I'm not sure if there is
actually a case when the readlink is needed.
>
> COMPREPLY=()
> cur=( $(_get_cword) )
> @@ -41,13 +47,13 @@ _ptxdist_completion()
> [ $COMP_CWORD -lt 3 ] && _filedir
> ;;
> get|extract|prepare|compile|install|targetinstall|tags)
> - COMPREPLY=( $( compgen -W "${opts} $( ptxdist print
> PTX_PACKAGES_SELECTED )" -- $cur ) )
> + COMPREPLY=( $( compgen -W "${opts} $( $_ptxdist_cmd print
> PTX_PACKAGES_SELECTED )" -- $cur ) )
> ;;
> clean)
> - COMPREPLY=( $( compgen -W "${opts} $( ptxdist print
> PTX_PACKAGES_SELECTED ) root" -- $cur ) )
> + COMPREPLY=( $( compgen -W "${opts} $( $_ptxdist_cmd print
> PTX_PACKAGES_SELECTED ) root" -- $cur ) )
> ;;
> drop)
> - COMPREPLY=( $( compgen -W "${opts} $( pushd $(ptxdist print
> PTXDIST_PLATFORMDIR)/state >/dev/null; ls
> +(*.get|*.extract|*.prepare|*.compile|*.install|*.targetinstall); popd
> >/dev/null )" -- $cur ) )
> + COMPREPLY=( $( compgen -W "${opts} $( pushd $($_ptxdist_cmd
> print PTXDIST_PLATFORMDIR)/state >/dev/null; ls
> +(*.get|*.extract|*.prepare|*.compile|*.install|*.targetinstall); popd
> >/dev/null )" -- $cur ) )
> ;;
> newpackage)
> COMPREPLY=( $( compgen -W "${opts} target host cross klibc
> src-autoconf-lib src-autoconf-prog src-autoconf-proglib src-cmake-prog
> src-qmake-prog src-make-prog src-linux-driver src-stellaris font simple
> kernel image-tgz image-genimage" -- $cur) )
> @@ -57,6 +63,7 @@ _ptxdist_completion()
> }
>
> complete -F _ptxdist_completion ptxdist
> +complete -F _ptxdist_completion p
I'm not sure if this last change is a good idea by default. 'p' is rather
ambiguous. But if we merge the rest, then it's easy to add just this line
to ~/.bash_completion
michael
>
> fi
>
> --
> 1.7.2.5
>
>
> --
> ptxdist mailing list
> [email protected]
--
ptxdist mailing list
[email protected]