Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

_git: Update __git_merge_strategies to work with new git.



This is the corresponding code from the bundled bash-completion:
    git merge -s help 2>&1 |
    sed -n -e '/[Aa]vailable strategies are: /,/^$/{
            s/\.$//
            s/.*://
            s/^[    ]*//
            s/[     ]*$//
            p
    }'

diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git
index 7e48c19..c799a40 100644
--- a/Completion/Unix/Command/_git
+++ b/Completion/Unix/Command/_git
@@ -4046,7 +4046,7 @@ __git_gpg_secret_keys () {
 __git_merge_strategies () {
   declare -a merge_strategies_cache

-  merge_strategies_cache=(${${=${${(M)${(f)"$(<$(git
--exec-path)/git-merge)"}:#all_strategies*}##all_strategies=\'}%%\'}:#recur})
+  merge_strategies_cache=(${(s: :)${${${${(ps:\n:)"$(git merge -s ''
2>&1)"}[(r)Available strategies are: *,(r)]}%%.}##*: }})

   local expl
   _wanted merge-strategies expl 'merge strategy' compadd -
$merge_strategies_cache


-- 
Mikael Magnusson



Messages sorted by: Reverse Date, Date, Thread, Author