Autocompletar ZSH e Git: Mesma configuração, diferentes comportamentos

1

Eu pesquisei no Google / Superusuário por um tempo e não consegui encontrar nenhum problema semelhante ao que está acontecendo comigo, então decidi fazer uma pergunta.

Meu problema é o seguinte: Eu tenho a mesma configuração de zsh / prompt / autocomplete em duas máquinas diferentes: uma executando o OSX e outra rodando o Ubuntu 17.04 (um VPS no oceano digital).

A maioria das coisas funciona exatamente da mesma forma, exceto pelo autocompletar do git, como você pode ver em:

Como você pode ver, a janela superior (macOS) mostra poucas opções para concluir, enquanto a janela inferior (Ubuntu) mostra todos os meus aliases e outras coisas.

Minha pergunta é: alguém sabe por que isso acontece? Alguma idéia de como eu posso consertar isso ou como posso depurar os dois para descobrir onde as coisas dão errado no Mac?

Mais algumas informações:

macOS Version: 10.12.4
Zsh Version: zsh 5.3.1 (x86_64-apple-darwin16.3.0)
Git Version: git version 2.12.2

Ubuntu Version: 17.04
Zsh Version: zsh 5.2 (x86_64-ubuntu-linux-gnu)
Git Version: git version 2.11.0
    
por Filipe Kiss 05.05.2017 / 21:26

1 resposta

2

Então, eu encontrei este pergunta onde as pessoas mencionaram o comando whence -v .

A execução de whence -v _git (as funções de conclusão do zsh geralmente seguem o padrão _<command_name> ), tenho dois resultados diferentes:

Ubuntu

$ whence -v _git
_git is an autoload shell function

macOS

$ whence -v git
_git is a shell function from /usr/local/share/zsh/site-functions/_git

Desde que instalei o git via Brew no meu mac, /usr/local/share/zsh/site-functions/_git foi um link simbólico para o arquivo de conclusão da fermentação. Eu deletei o symlink, recarreguei meu shell com exec zsh e tudo funcionou como esperado.

Depois disso, removi git e reinstalei-o sem as conclusões:

brew remove git
brew install git --without-completions

E tudo está funcionando como esperado!

    
por 05.05.2017 / 22:16