summaryrefslogtreecommitdiff
path: root/plugins/branch/branch.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2015-12-15 01:02:49 +0100
committerMarc Cornellà <marc.cornella@live.com>2015-12-15 01:02:49 +0100
commit93c00cced5e248309986a7ac5cc4c48ad1f0c092 (patch)
tree5e56927631a547eda233691d9d1e217ca0c7aa3b /plugins/branch/branch.plugin.zsh
parentd988ee01c2450261225f5f5140ff51ea2c3325bf (diff)
parentfe63ed09b7a8d8040dbbe9892f89c1c46d4ff75d (diff)
downloadzsh-93c00cced5e248309986a7ac5cc4c48ad1f0c092.tar.gz
zsh-93c00cced5e248309986a7ac5cc4c48ad1f0c092.tar.bz2
zsh-93c00cced5e248309986a7ac5cc4c48ad1f0c092.zip
Merge pull request #4451 from victor-torres/branch-plugin
Add branch plugin
Diffstat (limited to 'plugins/branch/branch.plugin.zsh')
-rw-r--r--plugins/branch/branch.plugin.zsh26
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/branch/branch.plugin.zsh b/plugins/branch/branch.plugin.zsh
new file mode 100644
index 000000000..a1e9ca31b
--- /dev/null
+++ b/plugins/branch/branch.plugin.zsh
@@ -0,0 +1,26 @@
+# Branch: displays the current Git or Mercurial branch fast.
+# Victor Torres <vpaivatorres@gmail.com>
+# Oct 2, 2015
+
+function branch_prompt_info() {
+ # Defines path as current directory
+ local current_dir=$PWD
+ # While current path is not root path
+ while [[ $current_dir != '/' ]]
+ do
+ # Git repository
+ if [[ -d "${current_dir}/.git" ]]
+ then
+ echo '±' ${"$(<"$current_dir/.git/HEAD")"##*/}
+ return;
+ fi
+ # Mercurial repository
+ if [[ -d "${current_dir}/.hg" ]]
+ then
+ echo '☿' $(<"$current_dir/.hg/branch")
+ return;
+ fi
+ # Defines path as parent directory and keeps looking for :)
+ current_dir="${current_dir:h}"
+ done
+}