2011-10-24 15 views
7

Ho installato Mercurial (1.4.3-1) su ubuntu e non esegue il completamento schede in bash per impostazione predefinita. Qual è il modo più semplice per abilitare questa funzione?Abilita completamento scheda bash per Mercurial (hg)

+2

Si dovrebbe considerare l'utilizzo di una nuova versione Mercurial. Sono disponibili repository PPA per Ubuntu che è possibile abilitare per ottenere il normale comportamento di aggiornamento automatico di Mercurial in modo uniforme che non ti lascerà più di un anno indietro: https://launchpad.net/~mercurial-ppa/+ archive/releases –

risposta

12

È necessario

  • Installare un pacchetto aggiornato per Mercurial, vedere Mercurial PPA. Questo ti darà un file /etc/bash_completion.d/mercurial con il codice di completamento per Mercurial. È possibile generare questo file direttamente per abilitare il supporto di completamento per Mercurial.

È inoltre possibile abilitare il supporto di completamento per tutti i programmi:

  • Installare il pacchetto bash-completion: aptitude install bash-completion.

  • Fonte /etc/bash_completion nel file ~/.bashrc:

    # Use bash-completion, if available 
    if [ -f /etc/bash_completion ]; then 
        . /etc/bash_completion 
    fi 
    

    Ciò consentirà il completamento per tutti i comandi, tra cui Mercurial.

0

Dal momento che è né etichettato né dal titolo "ubuntu", e perché googling con fedora porta anche qui, io aggiungo una variazione sul risposta di Martin che funziona facendo riferimento /etc/bash_completion.d/mercurial.sh invece di /etc/bash_completion nel vostro ~/.bashrc:

# Use bash-completion, if available if [ -f /etc/bash_completion.d/mercurial.sh ]; then . /etc/bash_completion.d/mercurial.sh fi

Non sono sicuro se il sistema operativo rende questa distinzione necessaria, ma questo funziona per me su Fedora da 11 a 20.

Correzione: Fedora 11 e Fedora 20. (Non testato 12-19.)

2

La posizione sceneggiatura bash_completion è cambiato quindi è necessario fare

curl https://www.mercurial-scm.org/repo/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash 

invece di

curl http://www.selenic.com/hg/raw-file/tip/contrib/bash_completion -o ~/.hg-completion.bash && source ~/.hg-completion.bash 
+0

Questa risposta è multipiattaforma e non ha bisogno di Ubuntu. L'ho usato su OS X. Dovrebbe funzionare ovunque tu abbia 'bash',' curl' (e 'hg' ;-). – lkuty

+0

Ha funzionato per me su OSX. Grazie! – Brodan

+0

Dovresti aggiornarlo per includere l'aggiunta di 'source ~/.hg-completion.bash' nel tuo' .bashrc' in modo da non doverlo eseguire in ogni nuova shell. – Brodan

Problemi correlati