mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-29 09:10:07 +00:00
Add branch plugin
This commit is contained in:
parent
a9c882094d
commit
d49cacfb7b
2 changed files with 59 additions and 0 deletions
33
plugins/branch/README.md
Normal file
33
plugins/branch/README.md
Normal file
|
@ -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>)
|
26
plugins/branch/branch.plugin.zsh
Normal file
26
plugins/branch/branch.plugin.zsh
Normal file
|
@ -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 a new issue