* [PATCH] completion: zsh: improve bash script loading
@ 2013-05-29 3:24 Felipe Contreras
2013-05-29 6:17 ` Johannes Sixt
0 siblings, 1 reply; 7+ messages in thread
From: Felipe Contreras @ 2013-05-29 3:24 UTC (permalink / raw)
To: git; +Cc: Felipe Contreras
It's better to check in multiple locations, so the user doesn't have to.
And update the documentation.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
contrib/completion/git-completion.zsh | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index 2565d2e..9555cf8 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -4,18 +4,17 @@
#
# Copyright (c) 2012-2013 Felipe Contreras <felipe.contreras@gmail.com>
#
-# You need git's bash completion script installed somewhere, by default on the
-# same directory as this script.
+# You need git's bash completion script installed somewhere, by default it
+# would be the location bash-completion uses.
#
-# If your script is on ~/.git-completion.sh instead, you can configure it on
-# your ~/.zshrc:
+# If your script is somewhere else, you can configure it on your ~/.zshrc:
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.sh
#
-# The recommended way to install this script is to copy to
-# '~/.zsh/completion/_git', and then add the following to your ~/.zshrc file:
+# The recommended way to install this script is to copy to '~/.zsh/_git', and
+# then add the following to your ~/.zshrc file:
#
-# fpath=(~/.zsh/completion $fpath)
+# fpath=(~/.zsh $fpath)
complete ()
{
@@ -27,7 +26,18 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
zstyle ':completion:*:*:git:*' tag-order 'common-commands'
zstyle -s ":completion:*:*:git:*" script script
-test -z "$script" && script="$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
+if [ -z "$script" ]; then
+ local -a locations
+ locations=(
+ '/etc/bash_completion.d/git' # fedora, old debian
+ '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
+ '/usr/share/bash-completion/git' # gentoo
+ $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
+ )
+ for e in $locations; do
+ test -f $e && script="$e" && break
+ done
+fi
ZSH_VERSION='' . "$script"
__gitcomp ()
--
1.8.3.rc3.312.g47657de
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] completion: zsh: improve bash script loading
2013-05-29 3:24 [PATCH] completion: zsh: improve bash script loading Felipe Contreras
@ 2013-05-29 6:17 ` Johannes Sixt
2013-05-29 6:30 ` Felipe Contreras
0 siblings, 1 reply; 7+ messages in thread
From: Johannes Sixt @ 2013-05-29 6:17 UTC (permalink / raw)
To: Felipe Contreras; +Cc: git
Am 5/29/2013 5:24, schrieb Felipe Contreras:
> +if [ -z "$script" ]; then
> + local -a locations
> + locations=(
> + '/etc/bash_completion.d/git' # fedora, old debian
> + '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
> + '/usr/share/bash-completion/git' # gentoo
> + $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
> + )
Won't you need
local e
here, or does it not matter?
> + for e in $locations; do
> + test -f $e && script="$e" && break
> + done
> +fi
-- Hannes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] completion: zsh: improve bash script loading
2013-05-29 6:17 ` Johannes Sixt
@ 2013-05-29 6:30 ` Felipe Contreras
2013-05-29 17:49 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Felipe Contreras @ 2013-05-29 6:30 UTC (permalink / raw)
To: Johannes Sixt; +Cc: git
On Wed, May 29, 2013 at 1:17 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
> Am 5/29/2013 5:24, schrieb Felipe Contreras:
>> +if [ -z "$script" ]; then
>> + local -a locations
>> + locations=(
>> + '/etc/bash_completion.d/git' # fedora, old debian
>> + '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
>> + '/usr/share/bash-completion/git' # gentoo
>> + $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
>> + )
>
> Won't you need
>
> local e
>
> here, or does it not matter?
You are right, otherwise it would be in the user's shell.
--
Felipe Contreras
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] completion: zsh: improve bash script loading
2013-05-29 6:30 ` Felipe Contreras
@ 2013-05-29 17:49 ` Junio C Hamano
2013-05-29 19:30 ` Felipe Contreras
0 siblings, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2013-05-29 17:49 UTC (permalink / raw)
To: Felipe Contreras; +Cc: Johannes Sixt, git
Felipe Contreras <felipe.contreras@gmail.com> writes:
> On Wed, May 29, 2013 at 1:17 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
>> Am 5/29/2013 5:24, schrieb Felipe Contreras:
>>> +if [ -z "$script" ]; then
>>> + local -a locations
>>> + locations=(
>>> + '/etc/bash_completion.d/git' # fedora, old debian
>>> + '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
>>> + '/usr/share/bash-completion/git' # gentoo
>>> + $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
>>> + )
>>
>> Won't you need
>>
>> local e
>>
>> here, or does it not matter?
>
> You are right, otherwise it would be in the user's shell.
Has this changed since 0a04e187e669 (completion: zsh: improve bash
script loading, 2013-05-24) which I have on 'pu'?
If not, I can do this locally to save a roundtrip, if you want.
contrib/completion/git-completion.zsh | 1 +
1 file changed, 1 insertion(+)
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index 9555cf8..fac5e71 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -28,6 +28,7 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
zstyle -s ":completion:*:*:git:*" script script
if [ -z "$script" ]; then
local -a locations
+ local e
locations=(
'/etc/bash_completion.d/git' # fedora, old debian
'/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] completion: zsh: improve bash script loading
2013-05-29 17:49 ` Junio C Hamano
@ 2013-05-29 19:30 ` Felipe Contreras
2013-05-29 19:58 ` Junio C Hamano
0 siblings, 1 reply; 7+ messages in thread
From: Felipe Contreras @ 2013-05-29 19:30 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Johannes Sixt, git
On Wed, May 29, 2013 at 12:49 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Wed, May 29, 2013 at 1:17 AM, Johannes Sixt <j.sixt@viscovery.net> wrote:
>>> Am 5/29/2013 5:24, schrieb Felipe Contreras:
>>>> +if [ -z "$script" ]; then
>>>> + local -a locations
>>>> + locations=(
>>>> + '/etc/bash_completion.d/git' # fedora, old debian
>>>> + '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
>>>> + '/usr/share/bash-completion/git' # gentoo
>>>> + $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
>>>> + )
>>>
>>> Won't you need
>>>
>>> local e
>>>
>>> here, or does it not matter?
>>
>> You are right, otherwise it would be in the user's shell.
>
> Has this changed since 0a04e187e669 (completion: zsh: improve bash
> script loading, 2013-05-24) which I have on 'pu'?
Other than this change, nope.
> If not, I can do this locally to save a roundtrip, if you want.
Great, let's do that.
--
Felipe Contreras
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] completion: zsh: improve bash script loading
2013-05-29 19:30 ` Felipe Contreras
@ 2013-05-29 19:58 ` Junio C Hamano
0 siblings, 0 replies; 7+ messages in thread
From: Junio C Hamano @ 2013-05-29 19:58 UTC (permalink / raw)
To: Felipe Contreras; +Cc: Johannes Sixt, git
Felipe Contreras <felipe.contreras@gmail.com> writes:
>> Has this changed since 0a04e187e669 (completion: zsh: improve bash
>> script loading, 2013-05-24) which I have on 'pu'?
>
> Other than this change, nope.
>
>> If not, I can do this locally to save a roundtrip, if you want.
>
> Great, let's do that.
Done. The diff from 0a04e187e669 looks like this:
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index 9555cf8..fac5e71 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -28,6 +28,7 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
zstyle -s ":completion:*:*:git:*" script script
if [ -z "$script" ]; then
local -a locations
+ local e
locations=(
'/etc/bash_completion.d/git' # fedora, old debian
'/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH] completion: zsh: improve bash script loading
@ 2013-05-25 3:31 Felipe Contreras
0 siblings, 0 replies; 7+ messages in thread
From: Felipe Contreras @ 2013-05-25 3:31 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Felipe Contreras
It's better to check in multiple locations, so the user doesn't have to.
And update the documentation.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
contrib/completion/git-completion.zsh | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
index 2565d2e..9555cf8 100644
--- a/contrib/completion/git-completion.zsh
+++ b/contrib/completion/git-completion.zsh
@@ -4,18 +4,17 @@
#
# Copyright (c) 2012-2013 Felipe Contreras <felipe.contreras@gmail.com>
#
-# You need git's bash completion script installed somewhere, by default on the
-# same directory as this script.
+# You need git's bash completion script installed somewhere, by default it
+# would be the location bash-completion uses.
#
-# If your script is on ~/.git-completion.sh instead, you can configure it on
-# your ~/.zshrc:
+# If your script is somewhere else, you can configure it on your ~/.zshrc:
#
# zstyle ':completion:*:*:git:*' script ~/.git-completion.sh
#
-# The recommended way to install this script is to copy to
-# '~/.zsh/completion/_git', and then add the following to your ~/.zshrc file:
+# The recommended way to install this script is to copy to '~/.zsh/_git', and
+# then add the following to your ~/.zshrc file:
#
-# fpath=(~/.zsh/completion $fpath)
+# fpath=(~/.zsh $fpath)
complete ()
{
@@ -27,7 +26,18 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
zstyle ':completion:*:*:git:*' tag-order 'common-commands'
zstyle -s ":completion:*:*:git:*" script script
-test -z "$script" && script="$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
+if [ -z "$script" ]; then
+ local -a locations
+ locations=(
+ '/etc/bash_completion.d/git' # fedora, old debian
+ '/usr/share/bash-completion/completions/git' # arch, ubuntu, new debian
+ '/usr/share/bash-completion/git' # gentoo
+ $(dirname ${funcsourcetrace[1]%:*})/git-completion.bash
+ )
+ for e in $locations; do
+ test -f $e && script="$e" && break
+ done
+fi
ZSH_VERSION='' . "$script"
__gitcomp ()
--
1.8.3.rc3.312.g47657de
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-05-29 19:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-29 3:24 [PATCH] completion: zsh: improve bash script loading Felipe Contreras
2013-05-29 6:17 ` Johannes Sixt
2013-05-29 6:30 ` Felipe Contreras
2013-05-29 17:49 ` Junio C Hamano
2013-05-29 19:30 ` Felipe Contreras
2013-05-29 19:58 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2013-05-25 3:31 Felipe Contreras
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).