Permalink
Browse files

Use fresh for `git flow` completions.

  • Loading branch information...
jasoncodes committed Dec 3, 2012
1 parent 82ce9f9 commit 7f605d1ba7cff7f0ee3a7e8ec7edd66cd104cf84
Showing with 2 additions and 199 deletions.
  1. +2 −0 freshrc
  2. +0 −197 git-flow-completion.bash
  3. +0 −2 profile
View
@@ -6,3 +6,5 @@ fresh 'aliases/*'
fresh 'shell/*'
fresh 'config/*' --file
+
+fresh bobthecow/git-flow-completion git-flow-completion.bash
View
@@ -1,197 +0,0 @@
-#!bash
-#
-# git-flow-completion
-# ===================
-#
-# Bash completion support for [git-flow](http://github.com/nvie/gitflow)
-#
-# The contained completion routines provide support for completing:
-#
-# * git-flow init and version
-# * feature, hotfix and release branches
-# * remote feature, hotfix and release branch names
-#
-#
-# Installation
-# ------------
-#
-# To achieve git-flow completion nirvana:
-#
-# 0. Install git-completion.
-#
-# 1. Install this file. Either:
-#
-# a. Place it in a `bash-completion.d` folder:
-#
-# * /etc/bash-completion.d
-# * /usr/local/etc/bash-completion.d
-# * ~/bash-completion.d
-#
-# b. Or, copy it somewhere (e.g. ~/.git-flow-completion.sh) and put the following line in
-# your .bashrc:
-#
-# source ~/.git-flow-completion.sh
-#
-# 2. If you are using Git < 1.7.1: Edit git-completion.sh and add the following line to the giant
-# $command case in _git:
-#
-# flow) _git_flow ;;
-#
-#
-# The Fine Print
-# --------------
-#
-# Copyright (c) 2011 [Justin Hileman](http://justinhileman.com)
-#
-# Distributed under the [MIT License](http://creativecommons.org/licenses/MIT/)
-
-_git_flow ()
-{
- local subcommands="init feature release hotfix help version"
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
- if [ -z "$subcommand" ]; then
- __gitcomp "$subcommands"
- return
- fi
-
- case "$subcommand" in
- init)
- __git_flow_init
- return
- ;;
- feature)
- __git_flow_feature
- return
- ;;
- release)
- __git_flow_release
- return
- ;;
- hotfix)
- __git_flow_hotfix
- return
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
-}
-
-__git_flow_init ()
-{
- local subcommands="help"
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
- if [ -z "$subcommand" ]; then
- __gitcomp "$subcommands"
- return
- fi
-}
-
-__git_flow_feature ()
-{
- local subcommands="list start finish publish track diff rebase checkout pull help"
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
- if [ -z "$subcommand" ]; then
- __gitcomp "$subcommands"
- return
- fi
-
- case "$subcommand" in
- pull)
- __gitcomp "$(__git_remotes)"
- return
- ;;
- checkout|finish|diff|rebase)
- __gitcomp "$(__git_flow_list_branches 'feature')"
- return
- ;;
- publish)
- __gitcomp "$(comm -23 <(__git_flow_list_branches 'feature') <(__git_flow_list_remote_branches 'feature'))"
- return
- ;;
- track)
- __gitcomp "$(comm -23 <(__git_flow_list_remote_branches 'feature') <(__git_flow_list_branches 'feature'))"
- return
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
-}
-
-__git_flow_release ()
-{
- local subcommands="list start finish track publish help"
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
- if [ -z "$subcommand" ]; then
- __gitcomp "$subcommands"
- return
- fi
-
- case "$subcommand" in
- finish)
- __gitcomp "$(__git_flow_list_branches 'release')"
- return
- ;;
- publish)
- __gitcomp "$(comm -23 <(__git_flow_list_branches 'release') <(__git_flow_list_remote_branches 'release'))"
- return
- ;;
- track)
- __gitcomp "$(comm -23 <(__git_flow_list_remote_branches 'release') <(__git_flow_list_branches 'release'))"
- return
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
-
-}
-
-__git_flow_hotfix ()
-{
- local subcommands="list start finish help"
- local subcommand="$(__git_find_on_cmdline "$subcommands")"
- if [ -z "$subcommand" ]; then
- __gitcomp "$subcommands"
- return
- fi
-
- case "$subcommand" in
- finish)
- __gitcomp "$(__git_flow_list_branches 'hotfix')"
- return
- ;;
- *)
- COMPREPLY=()
- ;;
- esac
-}
-
-__git_flow_prefix ()
-{
- case "$1" in
- feature|release|hotfix)
- git config "gitflow.prefix.$1" 2> /dev/null || echo "$1/"
- return
- ;;
- esac
-}
-
-__git_flow_list_branches ()
-{
- local prefix="$(__git_flow_prefix $1)"
- git branch 2> /dev/null | tr -d ' |*' | grep "^$prefix" | sed s,^$prefix,, | sort
-}
-
-__git_flow_list_remote_branches ()
-{
- local prefix="$(__git_flow_prefix $1)"
- local origin="$(git config gitflow.origin 2> /dev/null || echo "origin")"
- git branch -r 2> /dev/null | sed "s/^ *//g" | grep "^$origin/$prefix" | sed s,^$origin/$prefix,, | sort
-}
-
-# alias __git_find_on_cmdline for backwards compatibility
-if [ -z "`type -t __git_find_on_cmdline`" ]; then
- alias __git_find_on_cmdline=__git_find_subcommand
-fi
View
@@ -216,8 +216,6 @@ then
_git_complete gap _git_add
_git_complete commit gc gca
_git_complete push gp
-
- source ~/.dotfiles/git-flow-completion.bash
fi
# finish off the prompt

0 comments on commit 7f605d1

Please sign in to comment.