summaryrefslogtreecommitdiff
path: root/.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh
diff options
context:
space:
mode:
authorPedro Pereira <pedro.hr.pereira@proton.me>2026-10-16 15:19:13 -0300
committerPedro Pereira <pedro.hr.pereira@proton.me>2026-10-16 15:19:13 -0300
commit1eb69e9a795cc19450178c07d8d382622bc7ad70 (patch)
treeb6bc60605044fe929986f31b3b6bf4fee9b56e14 /.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh
first commit
Diffstat (limited to '.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh')
-rw-r--r--.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh35
1 files changed, 35 insertions, 0 deletions
diff --git a/.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh b/.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh
new file mode 100644
index 0000000..dd5871f
--- /dev/null
+++ b/.config/zsh/oh-my-zsh/plugins/branch/branch.plugin.zsh
@@ -0,0 +1,35 @@
+# Branch: displays the current Git or Mercurial branch fast.
+# Victor Torres <vpaivatorres@gmail.com>
+# Oct 2, 2015
+
+function branch_prompt_info() {
+ # Start checking in current working directory
+ local branch="" dir="$PWD"
+ while [[ "$dir" != '/' ]]; do
+ # Found .git directory
+ if [[ -d "${dir}/.git" ]]; then
+ branch="${"$(<"${dir}/.git/HEAD")"##*/}"
+ echo '±' "${branch:gs/%/%%}"
+ return
+ fi
+
+ # Found .hg directory
+ if [[ -d "${dir}/.hg" ]]; then
+ if [[ -f "${dir}/.hg/branch" ]]; then
+ branch="$(<"${dir}/.hg/branch")"
+ else
+ branch="default"
+ fi
+
+ if [[ -f "${dir}/.hg/bookmarks.current" ]]; then
+ branch="${branch}/$(<"${dir}/.hg/bookmarks.current")"
+ fi
+
+ echo '☿' "${branch:gs/%/%%}"
+ return
+ fi
+
+ # Check parent directory
+ dir="${dir:h}"
+ done
+}