Conclusão de tabulação para o Mercurial no Bash?

7

Usando o Subversion na linha de comando, ele abaixa de forma inteligente os subcomandos disponíveis, etc:

$ svn c<tab>
cat         checkout    cl          co          copy        
changelist  ci          cleanup     commit      cp  

O Mercurial, por outro lado, não parece ter preenchimento de guias, pelo menos fora da caixa:

$ hg c<tab> 
[nothing happens]

A conclusão do Bash para o Mercurial está disponível? Qual é a maneira mais simples de fazê-lo funcionar? Eu estou no Ubuntu 11.04.

    
por Jonik 17.06.2011 / 10:45

3 respostas

4

No Ubuntu 10.04 funciona fora da caixa para mim. No bash:

$ hg c
cat       checkout  clone     commit    copy

Ou em zsh:

$ hg c
cat       checkout  ci        clone     co        commit    copy      cp

Talvez você tenha um pacote faltando (ou você acertou um bug).

No meu sistema, o arquivo de conclusão é fornecido pelo pacote mercurial:

$ dpkg -S /etc/bash_completion.d/mercurial 
mercurial: /etc/bash_completion.d/mercurial
    
por 17.06.2011 / 10:57
7

O Mercurial vem com a conclusão completa do bash - veja contrib / bash_completion no tarball. Pelo menos no openSUSE, este arquivo está instalado em /etc/bash_completion.d/, de modo que o bash completion para o mercurial está funcionando automaticamente. Você pode precisar verificar o pacote mercurial do Ubuntu, se ele instalar o script de conclusão.

    
por 17.06.2011 / 10:57
6

Eu criei o mercurial a partir de um release de origem e tive que instalar o script de conclusão sozinho. Isto é como fazer isso:

$ cd
$ wget http://selenic.com/hg/raw-file/25e4d2f35965/contrib/bash_completion -P opt/packages/mercurial
$ echo ". opt/packages/mercurial/bash_completion" >> .bashrc
$ . opt/packages/mercurial/bash_completion

A conclusão está ativada.

    
por 21.06.2011 / 00:17