completion-ruby is a set of bash scripts offering command-line completion for various Ruby-related commands and tools.
Save the completion files somewhere (in the same directory) and add the
following line to your ~/.bashrc
or ~/.profile
:
. /path/to/completion-ruby-all
The completion-ruby-all
script loads all the completions it finds,
but only for the commands you appear to have installed.
Alternatively, you can just save the specific scripts you wish, and
source them individually.
These scripts offer improved directory completion when bash-completion
is
available. It should be part of pretty much any modern Linux distribution,
and you can install it on OS X using Homebrew:
brew install bash-completion
Or MacPorts:
sudo port install bash-completion
bash-completion
is a dependency of Git's completion, so if you have
that working already you should be fine.
Before writing my own, I'd seen about five different scripts for rake
completion. None of them, though, at the same time:
- cached the task list for fast results;
- invalidated said cache when the rakefile was modified;
- worked properly with namespaces; and
- worked on subdirectories of the project
...among other minor quirks. While providing all of the above, a few other niceties were added, like command-line options completion and awareness of task arguments.
This script is not perfect (for instance, it won't update the cache if
a dependency of the rakefile is updated; as a workaround, simply
touch Rakefile
), but it tries to cover all the most common cases without
overcomplicating or overthinking the code.
Copyright © 2008-2012 Daniel Luz.
completion-ruby is distributed under the MIT license.
The source is available in a Git repository at GitHub.
For up-to-date information, visit this project's permalink.