diff options
Diffstat (limited to 'git-branch-list.bash-completion')
| -rw-r--r-- | git-branch-list.bash-completion | 44 | 
1 files changed, 44 insertions, 0 deletions
| 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 <https://www.gnu.org/licenses/>. + +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 +} | 
