parent
a9c882094d
commit
d49cacfb7b
2 changed files with 59 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||||
|
# Branch |
||||||
|
|
||||||
|
Displays the current Git or Mercurial branch fast. |
||||||
|
|
||||||
|
## Speed test |
||||||
|
|
||||||
|
### Mercurial |
||||||
|
|
||||||
|
```shell |
||||||
|
$ time hg branch |
||||||
|
0.11s user 0.14s system 70% cpu 0.355 total |
||||||
|
``` |
||||||
|
|
||||||
|
### Branch plugin |
||||||
|
|
||||||
|
```shell |
||||||
|
$ time sh /tmp/branch_prompt_info.sh |
||||||
|
0.01s user 0.01s system 81% cpu 0.018 total |
||||||
|
``` |
||||||
|
|
||||||
|
## Usage |
||||||
|
|
||||||
|
Edit your theme file (eg.: `~/.oh-my-zsh/theme/robbyrussell.zsh-theme`) |
||||||
|
adding `$(branch_prompt_info)` in your prompt like this: |
||||||
|
|
||||||
|
```diff |
||||||
|
- PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' |
||||||
|
+ PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)$(branch_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}' |
||||||
|
``` |
||||||
|
|
||||||
|
## Maintainer |
||||||
|
|
||||||
|
Victor Torres (<vpaivatorres@gmail.com>) |
||||||
@ -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 |
||||||
|
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 |
||||||
|
} |
||||||
Loading…
Reference in new issue