diff options
author | Teddy Wing | 2018-02-21 00:55:30 +0100 |
---|---|---|
committer | Teddy Wing | 2018-02-21 00:55:30 +0100 |
commit | e9e79681302186082a0b492cc3476390db538a34 (patch) | |
tree | 779111678557f541e8e22b0cf071163b2a661b3b | |
parent | e873319c864540146f065ab6698a98c173d0eca0 (diff) | |
download | git-branch-list-e9e79681302186082a0b492cc3476390db538a34.tar.bz2 |
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
-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 +} |