Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mernen/completion-ruby
Command-line completion for Ruby-related commands under Bash: rake, bundle, gem, rails, ruby, jruby
https://github.com/mernen/completion-ruby
bash-completion ruby ruby-cli
Last synced: 2 months ago
JSON representation
Command-line completion for Ruby-related commands under Bash: rake, bundle, gem, rails, ruby, jruby
- Host: GitHub
- URL: https://github.com/mernen/completion-ruby
- Owner: mernen
- License: mit
- Created: 2008-07-27T16:16:16.000Z (over 16 years ago)
- Default Branch: main
- Last Pushed: 2024-09-24T21:01:29.000Z (3 months ago)
- Last Synced: 2024-10-05T08:18:06.556Z (3 months ago)
- Topics: bash-completion, ruby, ruby-cli
- Language: Shell
- Homepage:
- Size: 131 KB
- Stars: 146
- Watchers: 5
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- License: MIT-LICENSE
Awesome Lists containing this project
README
# completion-ruby: bash completion for Ruby-related commands
**completion-ruby** is a set of [bash] scripts offering command-line
completion for various [Ruby]-related commands and tools.## Installation
These scripts depend on some utility functions from [bash-completion]. It
should be part of pretty much any modern Linux distribution, and you can
install it on macOS using [Homebrew]:brew install bash-completion
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.## Maintenance status
This project is considered **stable**.
No new features are planned, and as a result it remains domant for months,
but the continuous integration test suite will occasionally detect
a change in behavior in a tool, and maintenance work is performed.For information on the automated test suite, see the [tests directory](./tests#readme).
If one of the covered tools introduces a new flag that needs special treatment,
please file an issue or pull request.## Why yet another completion script?
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.## License and website
Copyright © 2008-2024 [Daniel Luz].
**completion-ruby** is distributed under the [MIT license].
The source is available in a [Git] repository [at GitHub][repo].
For up-to-date information, visit [this project's permalink][permalink].
[bash]: https://www.gnu.org/software/bash/ (Bourne-Again Shell)
[bash-completion]: https://github.com/scop/bash-completion
[Ruby]: https://www.ruby-lang.org/ (Ruby Programming Language)
[rake]: https://github.com/ruby/rake (Rake — Ruby Make)
[Daniel Luz]: https://mernen.com/
[MIT license]: https://opensource.org/licenses/MIT
[Git]: https://git-scm.com/ (Git — Fast Version Control System)
[Homebrew]: https://brew.sh (Homebrew – The missing package manager for macOS)
[repo]: https://github.com/mernen/completion-ruby
[permalink]: https://mernen.com/projects/completion-ruby