mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] Allow p link to be completed
Date: Sun, 30 Sep 2012 15:02:05 +0200	[thread overview]
Message-ID: <20120930130205.GC19651@pengutronix.de> (raw)
In-Reply-To: <1348844873-23722-1-git-send-email-benoit.burnichon@airtag.com>

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 <benoit.burnichon@airtag.com>
> ---
>  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
> ptxdist@pengutronix.de

-- 
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2012-09-30 13:02 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-28 15:07 Benoît Burnichon
2012-09-30 13:02 ` Michael Olbrich [this message]
2012-10-01 10:25   ` Benoît Burnichon
2012-10-01 10:51 ` [ptxdist] [PATCH] Allow links " Benoît Burnichon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120930130205.GC19651@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox