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
next prev parent 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