You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
# 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
|
|
}
|