Dependencies
This version of gitsh requires:
- Ruby v2.3 or greater (support for Ruby 2.0, 2.1, and 2.2 has been dropped).
New features
- Support for gitsh-specific Readline configuration, using a
$if gitsh … $endif
block in your.inputrc
. - Expand aliases in the background when tab completing, so that tab completion rules apply to aliases without any custom configuration.
- Support for custom tab completion rules that use branch names and tag names, via the
$branch
and$tag
variables. - Default tab completion rules updated to use branch and tag names where appropriate, e.g.
branch -D <tab>
will now complete branch names, but not other revisions like tags, etc. - Support for fallback tab completion rules that only apply to commands that don't have a more specific configuration, via the
fallback::
modifier. - Default tab completion rules updated with fallback rules that roughly mirror gitsh's behaviour in version 0.12 and earlier (tab complete paths, revisions, and remotes as arguments to any command without specific configuration).
- Report errors in tab completion config files on start up, instead of crashing when the user first tries to use tab completion.
- Friendly error messages for common tab completion config file problems, including the file where the problem occurred, and the line and column numbers.
Bug fixes
- Tab complete multiple revisions for
git rebase
, e.g.rebase master <tab>
will complete revision names. - No longer crash when there's a tab completion configuration file with no rules.
- No longer allow invalid tab completion configurations that would cause a crash, e.g.
$opt
in the definition of an option.