ZSH conclusão de opções longas dá opções curtas

1

Ao tentar completar, por exemplo, git difftool --cached, o ZSH deve ser concluído diretamente, mas, em vez disso, se eu tiver muitas opções curtas para escolher, estou fazendo algo errado? Minha configuração atual é assim: link

Exemplo:

$ git difftool --cac<TAB>
-0            -- omit diff output for unmerged entries
-1            -- diff against "base" version
-2            -- diff against "our branch" version
-3            -- diff against "their branch" version
-b            -- ignore changes in amount of white space
-B            -- break complete rewrite changes into pairs of given size
-C            -- detect copies as well as renames with given scope
--cached      -- show diff between index and named commit/
...
    
por Sebastian Blask 26.10.2014 / 09:50

1 resposta

1

Se você comparar a árvore de fontes do zsh-5.0.5 com a do zsh-5.0.7 , existem algumas mudanças em relação ao git conclusão:

$ git diff --stat zsh-5.0.5..zsh-5.0.7 | grep _git
 Completion/Unix/Command/_git                      |  353 +++--
 Functions/VCS_Info/Backends/VCS_INFO_get_data_git |  158 ++-

As notas de lançamento mencionam apenas as alterações mais importantes, mas nem todas as alterações de código. Aqui estão as mensagens de commits que mencionam git (eu não pesquisei quais são relevantes para o seu problema ...):

33180: _git: add missing --3way option
33177: _git: fix typo in git-apply
33178: _git: updates for Git 2.1.0
33176: _git: Add missing --list to git-tag
33179: _git: updates for Git 2.0.0
33184: vcs_info git: consider patches for rebase
33188: vcs_info git: set rrn before using it
33150: completion git: fix send-email --confirm values
33145: vcs_info git: fix applied-string name
33147: vcs_info git: detect revert or cherry-pick with multiple commits
33151: completion git: support aliases when \n exist
33047: use git to simplify massively source distribution file selection
32662: vcs_info git: Fix stagedstr for empty repos
32597: vcs_info git: Describe detached heads symbolically.
32502: fix typo in argument list for git completio
32398: _git: completion updates up to latest git v1.9.0
32397: _git: fix __git_submodules to only use the actual name of the submodule
32395: _git: diff: refactor and fix wrong completions
32396: _git: fix __git_committish_range_{first,last} and __git_is_committish_range

Eu sou capaz de reproduzir o comportamento que você descreve com zsh-5.0.5 , mas com zsh-5.0.7 git difftool --cac<TAB> conclui como esperado para git difftool --cached .

Portanto, encorte a história: Atualize sua instalação para o zsh-5.0.7.

    
por 26.10.2014 / 22:03

Tags