[Intel-gfx] [dim PATCH 4/4] dim: run executables in $PATH named dim-subcommand as dim subcommands

Jani Nikula jani.nikula at intel.com
Wed Apr 5 07:28:06 UTC 2017


On Tue, 04 Apr 2017, Daniel Vetter <daniel at 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 at 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 at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list