commit
93c00cced5
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 zsh /tmp/branch_prompt_info_test.zsh |
||||||
|
0.00s user 0.01s system 78% cpu 0.014 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 |
||||||
|
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 |
||||||
|
} |
||||||
Loading…
Reference in new issue