Commit e594e219 authored by tandrii's avatar tandrii Committed by Commit bot

Add git cl bash completition.

R=maruel@chromium.org,emso@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2269593002
parent 16b0eb6c
...@@ -97,3 +97,16 @@ then need to change A? ...@@ -97,3 +97,16 @@ then need to change A?
In practice, this comes up pretty rarely. Suggestions for better workflows are In practice, this comes up pretty rarely. Suggestions for better workflows are
welcome. welcome.
## Bash auto complition
1. Ensure that your base git commands are autocompleted
[doc](https://git-scm.com/book/en/v1/Git-Basics-Tips-and-Tricks).
2. Add this to your .bashrc:
# The next line enables bash completion for git cl.
if [ -f "$HOME/bin/depot_tools/git_cl_completion.sh" ]; then
. "$HOME/bin/depot_tools/git_cl_completion.sh"
fi
3. Profit.
# Copyright (c) 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This adds completion to bash shells for git cl commands. It is
# meant for developers and not needed for inclusion by any automated
# processes that will, of course, specify the full command, not rely
# on or benefit from tab-completion.
#
# Requires:
# Installed git bash completion.
#
# Usage:
# Put something like the following in your .bashrc:
# . $PATH_TO_DEPOT_TOOLS/git cl_completion.sh
#
# Parses commands from git cl -h.
__git_cl_commands () {
git cl -h 2> /dev/null | sed -n 's/^\s*\x1b\[32m\(.*\)\x1b\[39m.*$/\1/p'
}
# Caches variables in __git_cl_all_commands.
__git_cl_compute_all_commands () {
test -n "$__git_cl_all_commands" ||
__git_cl_all_commands="$(__git_cl_commands)"
}
_git_cl () {
__git_cl_compute_all_commands
__gitcomp_nl "$(__git_cl_commands)"
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment