Add bash-completion helper for command names #77
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🎉 New feature
Part of #1.
Summary
This adds a bash-completion helper based on the script used by gazebo's
gz
command. It currently only autocompletes the names ofign
commands using the output ofign --commands
. Subsequent improvements may add support for autocompleting the-*
arguments and ignition topic and service names. This pull request is intentionally simple to demonstrate the approach.My goal is to emulate the approach taken by the hub command, which hosts its own completion scripts in its
etc
folder.hub
does not install these scripts withmake install
since the install location varies with each operating system distribution. Instead, the installation path is encoded in the homebrew formula and debian metadata. This enablesign
autocompletion support on these two platforms ifbash-completion
is enabled without requiring additional user action. The debian metadata and homebrew formula can be updated with the next prerelease.Test it
Source the script in a terminal window and hit
<TAB>
after typingign
and see the list of available commands.To test a prototype of the homebrew formula, checkout osrf/homebrew-simulation@38ae6c1 and install
ignition-tools
with the--HEAD
flag. Ifignition-tools
has dependent packages already installed, use the following:Checklist
codecheck
passed (See contributing)Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining
Signed-off-by
messages.