Bash autocompletion for 'git new-branch' and 'git reparent-branch'
This CL introduces bash autocompletion for some specific git commands contributed by depot_tools (git new-branch and git reparent-branch). Change-Id: I8208ef7d7d974765c468d01fa94c4ed334b01bb3 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4859465 Reviewed-by: Josip Sokcevic <sokcevic@chromium.org> Commit-Queue: Dominic Battre <battre@chromium.org>changes/65/4859465/3
parent
f2e3352a0e
commit
272e6ab3cb
@ -0,0 +1,65 @@
|
||||
# Copyright (c) 2023 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 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:
|
||||
# Add this to your .bashrc:
|
||||
#
|
||||
# # The next lines enable bash completion for git commands from
|
||||
# # depot_tools.
|
||||
# if [ -f "$HOME/bin/depot_tools/git_completion.sh" ]; then
|
||||
# . "$HOME/bin/depot_tools/git_completion.sh"
|
||||
# fi
|
||||
|
||||
|
||||
_git_new_branch ()
|
||||
{
|
||||
case "$cur" in
|
||||
-*)
|
||||
__gitcomp_nl_append "--upstream_current"
|
||||
__gitcomp_nl_append "--upstream"
|
||||
__gitcomp_nl_append "--lkgr"
|
||||
__gitcomp_nl_append "--inject_current"
|
||||
;;
|
||||
*)
|
||||
case "$prev,$cur" in
|
||||
--upstream,o*)
|
||||
# By default (only local branch heads are shown after --upstream, see
|
||||
# the case below. If, however, the user types "--upstream o", also
|
||||
# remote branches (origin/*) are shown.
|
||||
__git_complete_refs --cur="$cur"
|
||||
;;
|
||||
--upstream,*)
|
||||
__gitcomp_nl "$(__git_heads '' $cur)"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
}
|
||||
|
||||
_git_reparent_branch ()
|
||||
{
|
||||
case "$cur" in
|
||||
-*)
|
||||
__gitcomp_nl_append "--lkgr"
|
||||
__gitcomp_nl_append "--root"
|
||||
;;
|
||||
o*)
|
||||
# By default (only local branch heads are shown after --upstream, see the
|
||||
# case below. If, however, the user types "--upstream o", also remote
|
||||
# branches (origin/*) are shown.
|
||||
__git_complete_refs --cur="$cur"
|
||||
;;
|
||||
*)
|
||||
__gitcomp_nl "$(__git_heads '' $cur)"
|
||||
;;
|
||||
esac
|
||||
}
|
Loading…
Reference in New Issue