2009-05-23 5 views
1

Je n'ai pas trouvé un script d'achèvement onglet pour rubygem dans Bash/zsh.Impossible de trouver une touche de tabulation pour rubygem dans Bash/zsh

Où pouvez-vous obtenir le script onglet d'achèvement pour rubygem dans Bahs/zsh?

+0

Que voulez-vous dire par onglet d'achèvement? Est-ce que vous voulez dire exécuter les commandes disponibles ou compléter la liste des gemmes à installer? –

+0

@Terence: Je veux juste compléter les commandes disponibles. –

Répondre

1

Les commandes RubyGem exécutables sont installées dans/usr/bin ou/usr/local/bin ou dans le préfixe Ruby. La complétion des tabulations pour les commandes devrait fonctionner comme n'importe quel autre fichier exécutable dans votre PATH. Si cela ne fonctionne pas, vérifiez que le répertoire dans lequel RubyGems installe les commandes se trouve dans votre PATH.

Il n'y a actuellement aucune méthode officielle de faire la touche de tabulation pour les paramètres à l'une de ces commandes. Si vous avez besoin d'une tabulation pour une commande installée via RubyGems, vous devrez l'écrire et/ou l'installer vous-même. Voir le Bash reference manual pour plus de détails. Il peut y avoir déjà un système d'achèvement pour la commande spécifique qui vous intéresse, alors assurez-vous à Google pour, mais la plupart des commandes installées par RubyGems ne pas écrit auto-complet pour eux.

1

Essayez: http://github.com/oggy/ruby-bash-completion Pour l'installer simplement copier gemme fichier à /etc/bash_completion.d/

J'ai eu des erreurs en essayant d'onglet:

gem install 

Parce que je ne l'ai pas avoir des fichiers de cache dans le répertoire .gem. Donc, je simplement désactivé en éditant le fichier gemme. J'ai changé fonction _gem_all_names:

function _gem_all_names { 
    echo "" 
} 
0

Cette fin bash github-hébergé fait maintenant partie d'Ubuntu Lucid Lynx. Doux! Si vous apt-get install rubygems1.8 alors l'achèvement (commandes et options!) Devrait juste fonctionner.

Malheureusement, tel qu'il est installé, il ne sera complet que s'il voit l'invocation de gem1.8, et non le plus conventient. Vous pouvez corriger cela manuellement si si incliné en étendant la dernière ligne de /etc/bash_completion.d/gem1.8 inclure gem dans le cadre de la liste des noms complete. Je suis sûr qu'il y a une façon plus propre, mais ça fonctionne.

0

Ceci est (années) en retard, mais comme je l'étais très satisfait avec les différents scripts d'achèvement pour gem qui semblent flotter autour du filet, j'ai décidé d'écrire mon propre base (un peu) sur le plutôt joli git scénario d'achèvement disponible en git-sh.

https://github.com/pdkl95/rubygems-completion

Questions connexes