From e9e79681302186082a0b492cc3476390db538a34 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 21 Feb 2018 00:55:30 +0100 Subject: Add Bash completion Used https://github.com/git/git/blob/7cc763aaa3f39c62e0b2d5520e9d2bd8e4f3c4b3/contrib/completion/git-completion.bash as a reference. Learned how to set up completion for a custom subcommand from: https://github.com/bobthecow/git-flow-completion/blob/4180a3a0e1b286d5f35fefbea5adf5ce9875ecc3/git-flow-completion.bash --- git-branch-list.bash-completion | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 git-branch-list.bash-completion (limited to 'git-branch-list.bash-completion') diff --git a/git-branch-list.bash-completion b/git-branch-list.bash-completion new file mode 100644 index 0000000..fdab648 --- /dev/null +++ b/git-branch-list.bash-completion @@ -0,0 +1,44 @@ +# Bash completion for git-branch-list + +# Copyright (c) 2018 Teddy Wing +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +function _git_branch_list () { + local branch_ids=$(git branch-list | + tr -d ' ' | + cut -d ' ' -f 1) + + local subcommands="save drop $branch_ids" + local subcommand="$(__git_find_on_cmdline "$subcommands")" + + if [ -z "$subcommand" ]; then + __gitcomp "$subcommands" + return + fi + + case "$subcommand" in + save) + __git_complete_revlist + return + ;; + drop) + __git_complete_revlist + return + ;; + *) + COMPREPLY=() + ;; + esac +} -- cgit v1.2.3