All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [dim PATCH 4/4] dim: run executables in $PATH named dim-subcommand as dim subcommands
Date: Wed, 05 Apr 2017 10:28:06 +0300	[thread overview]
Message-ID: <87mvbv1fg9.fsf@intel.com> (raw)
In-Reply-To: <20170404150306.ic53dzlqyryu5ot2@phenom.ffwll.local>

On Tue, 04 Apr 2017, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Tue, Apr 04, 2017 at 04:59:02PM +0300, Jani Nikula wrote:
>> Similar to git. Don't allow override of internal commands though.
>
> git did this, and then went to a slightly different version because
> git<Tab> doesn't complete to a space due to the various git-foo commands
> in path. Imo the right way to do this is to have a libexec/ subdir,
> complete just those (and switch the completion to recognize them), i.e.
> git foo would run maintainer-tools/libexec/git-foo or maybe
> maintainer-tools/git-foo. But not depend upon git-foo being in your path
> (because that is really annoying to me).

Agreed on the annoyance. But libexec is annoying too because it
precludes the user from adding their own extensions in $PATH. An
alternative is to mandate a *different* prefix for external dim
commands, for example external-dim-foo.

I'm not hung up on this patch anyway, it was just a quick idea in case
we want to add largish related tools without cluttering the already
pretty big dim source.

> Other cleanup patches are all acked.

Pushed those, thanks.

BR,
Jani.

> -Daniel
>> 
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  dim | 6 ++++++
>>  1 file changed, 6 insertions(+)
>> 
>> diff --git a/dim b/dim
>> index 45dc07cd0426..85da1542087e 100755
>> --- a/dim
>> +++ b/dim
>> @@ -1907,6 +1907,12 @@ fi
>>  # look up the function by the subcommand name
>>  subcmd_func=dim_${subcmd//-/_}
>>  if ! declare -f $subcmd_func >/dev/null; then
>> +	# look up dim-subcommand in PATH, and run it
>> +	ext_subcmd=${subcmd_func//_/-}
>> +	if hash $ext_subcmd 2>/dev/null; then
>> +		exec $ext_subcmd "$@"
>> +	fi
>> +
>>  	echoerr "'$subcommand' is not a dim command."
>>  	dim_usage
>>  	exit 1
>> -- 
>> 2.1.4
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-04-05  7:28 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-04 13:58 [dim PATCH 1/4] dim: do not bail out if the script is not up-to-date Jani Nikula
2017-04-04 13:59 ` [dim PATCH 2/4] dim: move dim update check near the end Jani Nikula
2017-04-04 13:59 ` [dim PATCH 3/4] dim: move helper functions above command line options handling Jani Nikula
2017-04-04 13:59 ` [dim PATCH 4/4] dim: run executables in $PATH named dim-subcommand as dim subcommands Jani Nikula
2017-04-04 15:03   ` Daniel Vetter
2017-04-05  7:28     ` Jani Nikula [this message]
2017-04-05  9:12       ` Daniel Vetter

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=87mvbv1fg9.fsf@intel.com \
    --to=jani.nikula@intel.com \
    --cc=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.