mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 02:31:29 +00:00
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>
66 lines
1.7 KiB
Bash
Executable File
66 lines
1.7 KiB
Bash
Executable File
# 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
|
|
}
|