From d49cacfb7bb96049185c2edfaf3c330b0bde338e Mon Sep 17 00:00:00 2001 From: Victor Torres Date: Fri, 2 Oct 2015 23:16:56 -0300 Subject: Add branch plugin --- plugins/branch/branch.plugin.zsh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 plugins/branch/branch.plugin.zsh (limited to 'plugins/branch/branch.plugin.zsh') diff --git a/plugins/branch/branch.plugin.zsh b/plugins/branch/branch.plugin.zsh new file mode 100644 index 000000000..c918ea2b5 --- /dev/null +++ b/plugins/branch/branch.plugin.zsh @@ -0,0 +1,26 @@ +# Branch: displays the current Git or Mercurial branch fast. +# Victor Torres +# Oct 2, 2015 + +function branch_prompt_info() { + # Defines path as current directory + path=$(pwd) + # While current path is not root path + while [ $path != '/' ]; + do + # Git repository + if [ -d ${path}/.git ]; + then + echo '±' $(/bin/cat ${path}/.git/HEAD | /usr/bin/cut -d / -f 3-) + return; + fi + # Mercurial repository + if [ -d ${path}/.hg ]; + then + echo '☿' $(/bin/cat ${path}/.hg/branch) + return; + fi + # Defines path as parent directory and keeps looking for :) + path=$(/usr/bin/dirname $path) + done +} -- cgit v1.2.3-70-g09d2 From cf5db83facf67a27faa2860241f6ddc1d7e27b4f Mon Sep 17 00:00:00 2001 From: Victor Torres Date: Mon, 14 Dec 2015 17:39:26 -0300 Subject: Implementing mcornella's suggestions in pull request 4451. --- plugins/branch/branch.plugin.zsh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'plugins/branch/branch.plugin.zsh') diff --git a/plugins/branch/branch.plugin.zsh b/plugins/branch/branch.plugin.zsh index c918ea2b5..a1e9ca31b 100644 --- a/plugins/branch/branch.plugin.zsh +++ b/plugins/branch/branch.plugin.zsh @@ -4,23 +4,23 @@ function branch_prompt_info() { # Defines path as current directory - path=$(pwd) + local current_dir=$PWD # While current path is not root path - while [ $path != '/' ]; + while [[ $current_dir != '/' ]] do # Git repository - if [ -d ${path}/.git ]; + if [[ -d "${current_dir}/.git" ]] then - echo '±' $(/bin/cat ${path}/.git/HEAD | /usr/bin/cut -d / -f 3-) + echo '±' ${"$(<"$current_dir/.git/HEAD")"##*/} return; fi # Mercurial repository - if [ -d ${path}/.hg ]; + if [[ -d "${current_dir}/.hg" ]] then - echo '☿' $(/bin/cat ${path}/.hg/branch) + echo '☿' $(<"$current_dir/.hg/branch") return; fi # Defines path as parent directory and keeps looking for :) - path=$(/usr/bin/dirname $path) + current_dir="${current_dir:h}" done } -- cgit v1.2.3-70-g09d2