Vorrei essere in grado di utilizzare il completamento automatico della scheda con il compositore nella mia shell bash, nello stesso modo in cui posso ad esempio completare i nomi di file automatici oi comandi git.Come posso abilitare il compositore affinché l'argomento della riga di comando venga completato automaticamente?
5
A
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
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? –
Sì, questo autocomplet solo i comandi, non i parametri. –