Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
eix bash-completion
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
alemare
Tux's lil' helper
Tux's lil' helper


Joined: 23 Sep 2004
Posts: 137
Location: Firenze

PostPosted: Sat Mar 05, 2005 10:57 am    Post subject: eix bash-completion Reply with quote

Ciao!
premetto che il metodo che ho usato non mi è piaciuto, ero anche indeciso se scrivere o no... ho si capito qualcosa di più di prima ma in fin dei conti è stato solo fare un copia incolla, le mie conoscenze sul bash cript non mi permettono di fare molto di più...

mi capita spesso adesso di usare eix non solo per cercare, ma anche per controllare i pacchetti che magari qualche altro pacchetto quando faccio emerge richiede ma non conosco oppure per controllare la versione installata... così mi sono detto... la bash-completion anche su questo comando mi farebbe veramente comodo! cercando però non ho trovato e allora ho ripensato... c'è per il comando emerge e eix su per giù ce la dovrebbe avere simile.
Così controllo il file
Code:
cd /usr/share/bash-completion/
nano -w gentoo

leggendo un po' di codice e i vari commenti mi soffermo sull'ultima parte che ho pensato fosse quella che mi servisse di più...
Code:
# If all else fails, try to complete on package names without the
# category being specified. Neato!
if [[ ! "${COMPREPLY}" ]]; then
   words="$(cd ${portdir}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [$
   COMPREPLY=($(compgen -W "${words}" -- ${cur}))
fi

return 0

così inizio a provare
Code:
touch eix
nano -w eix

e scrivo:
Code:
have eix && {
_eix()
{
   //metto all'inizio
   COMPREPLY=()
   local portdir=$(_portdir)
   local i
   cur="${COMP_WORDS[COMP_CWORD]}"

   //incollo quella parte togliendo l'if
   words="$(cd ${portdir}; for i in [a-z]*-[a-z0-9]*/${cur}*; do [ -d $i ] && echo ${i##*/}; done)"
   COMPREPLY=($(compgen -W "${words}" -- ${cur}))

   return 0
}
complete $filenames -F _eix eix
}

poi aggiungo il link su /etc/bash_completion.d/
Code:
cd /etc/bash_completion.d/
ln -s /usr/share/bash-completion/eix eix

avvio un nuovo terminale... e funziona!

critiche anche pesanti sono ben accette, anche a me il modo in cui ho fatto questo non è piaciuto...
Ciao Alemare
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum