2013-05-22 2 views

risposta

8

Per abilitare completamento automatico per composer in bash è necessario scrivere una funzione che restituisce un array di valori possibili per l'ultimo parametro digitato (_composer() in questo caso) e registrarlo utilizzando complete -F function command.

Come, esempio di lavoro completo aggiungere il seguente al vostro .bashrc (o qualsiasi altro script di configurazione si potrebbero utilizzare)

_composer() 
{ 
    local cur=${COMP_WORDS[COMP_CWORD]} 
    local cmd=${COMP_WORDS[0]} 
    if ($cmd > /dev/null 2>&1) 
    then 
     COMPREPLY=($(compgen -W "$($cmd list --raw | cut -f 1 -d " " | tr "\n" " ")" -- $cur)) 
    fi 
} 
complete -F _composer composer 
complete -F _composer composer.phar 
+0

Questo non ha funzionato come mi aspettavo, mi aspettavo di essere in grado di digitare compositore update w e vedere tutti i pacchetti installati a partire da w. Invece ho solo una lista di file/directory nella mia attuale directory dei terminali? –

+0

Sì, questo autocomplet solo i comandi, non i parametri. –