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

Daniel Vetter daniel at ffwll.ch
Tue Apr 4 15:03:06 UTC 2017


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).

Other cleanup patches are all acked.
-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

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list