dnf install completion não está funcionando com zsh, ainda trabalhando com o bash

1

No bash, se eu digitar dnf install java<tab> , recebo um monte de sugestões de pacotes para instalar. No entanto, se eu fizer isso no zsh, nada acontece. Eu brinquei com / etc / bashrc e descobri que bash_completion permite que isso funcione no bash, mas não consigo descobrir como fazer isso funcionar no zsh.

    
por ollien 09.06.2017 / 00:25

1 resposta

1

O ZSH é enviado com conclusões em $fpath ; Estas mudanças ao longo do tempo, especialmente para programas novos e emocionantes que as instalações antigas e decrépitas do ZSH podem não conhecer. Os passos habituais devem ser:

  1. atualize seu ZSH para a versão mais recente e veja se agora existe um script de conclusão - print $fpath[-1]/_dnf embora, para alguns comandos, a conclusão possa existir em algum outro arquivo sob uma linha compdef .
  2. verifique se o software é enviado com um script de conclusão do ZSH que não tenha contribuído com, por exemplo zsh-workers mailing list (raro, mas em caso afirmativo, talvez envie esse código de conclusão para o pessoal do ZSH para que ele possa incluí-lo.
  3. verifique se algum outro repositório de conclusão do ZSH contém o código de conclusão, por ex. link
  4. escreva seu próprio script de conclusão para o programa. Isso normalmente requer o estudo dos scripts de conclusão existentes, os zshall(1) docs em, por exemplo, _arguments e assim por diante, e os habituais mexericos e testes das coisas.

Um prático comando para globar os arquivos em $fpath is

% print -l ${^fpath}/_pgrep(N)
/Users/jdoe/.zsh/functions/darwin/_pgrep
/opt/local/share/zsh/5.3.1/functions/_pgrep
% 

que mostra que no meu Mac eu tenho uma conclusão personalizada para pgrep além do upstream.

    
por 09.06.2017 / 04:38