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 +} |