aboutsummaryrefslogtreecommitdiff
path: root/templates/.zsh/functions/git-branches.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'templates/.zsh/functions/git-branches.zsh')
-rw-r--r--templates/.zsh/functions/git-branches.zsh23
1 files changed, 23 insertions, 0 deletions
diff --git a/templates/.zsh/functions/git-branches.zsh b/templates/.zsh/functions/git-branches.zsh
new file mode 100644
index 0000000..4636cab
--- /dev/null
+++ b/templates/.zsh/functions/git-branches.zsh
@@ -0,0 +1,23 @@
+green=`tput setaf 2`
+reset=`tput sgr0`
+
+git-branches() {
+ set -f
+ git branch | while read line; do
+ current=" "
+ name=${line##\* } ## removes leading * for current
+
+ if [ ! "$name" = "$line" ]; then
+ current="${green}* "
+ fi
+
+ description=`git config "branch.$name.description"`
+
+ if [ "$description" != "" ]; then
+ description=" : $description"
+ fi
+
+ echo "${reset}${current}${name}${description}${reset}"
+ done
+ set +f
+}