add oh-my-zsh theme compatibility git funcs
This commit is contained in:
parent
a15476e6c0
commit
3e6785c993
@ -3,7 +3,10 @@ Git
|
|||||||
|
|
||||||
Provides nice git aliases and functions.
|
Provides nice git aliases and functions.
|
||||||
|
|
||||||
Many thanks to [Sorin Ionescu](https://github.com/sorin-ionescu) for these.
|
Also provides functions necessary for many prompts.
|
||||||
|
|
||||||
|
Many thanks to [Sorin Ionescu](https://github.com/sorin-ionescu) for the excellent aliases.
|
||||||
|
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
-------
|
-------
|
||||||
@ -203,6 +206,7 @@ You can temporarily bypass an alias by prefixing it with a backward slash:
|
|||||||
Functions
|
Functions
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
General:
|
||||||
- `git-branch-current` displays the current branch.
|
- `git-branch-current` displays the current branch.
|
||||||
- `git-commit-lost` lists lost commits.
|
- `git-commit-lost` lists lost commits.
|
||||||
- `git-dir` displays the path to the Git directory.
|
- `git-dir` displays the path to the Git directory.
|
||||||
@ -215,3 +219,7 @@ Functions
|
|||||||
- `git-stash-recover` recovers given dropped stashed states.
|
- `git-stash-recover` recovers given dropped stashed states.
|
||||||
- `git-submodule-move` moves a submodule.
|
- `git-submodule-move` moves a submodule.
|
||||||
- `git-submodule-remove` removes a submodule.
|
- `git-submodule-remove` removes a submodule.
|
||||||
|
|
||||||
|
Prompt:
|
||||||
|
- `git_prompt_info` provides git information to oh-my-zsh sourced prompts.
|
||||||
|
- `parse-git-dirty` needed for `git-prompt-info` to check if repo is dirty.
|
||||||
|
8
modules/git/functions/git_prompt_info
Normal file
8
modules/git/functions/git_prompt_info
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# slightly modified git_prompt_info from oh-my-zsh for theme compatibility
|
||||||
|
|
||||||
|
local ref
|
||||||
|
if [[ ${zgit_hide_prompt} != 'true' ]]; then
|
||||||
|
ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
|
||||||
|
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0
|
||||||
|
print "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
||||||
|
fi
|
18
modules/git/functions/parse_git_dirty
Normal file
18
modules/git/functions/parse_git_dirty
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# slightly modified parse_git_dirty from oh-my-zsh for theme compatibility
|
||||||
|
# not supporting git < 1.7.2; upgrade your shit
|
||||||
|
|
||||||
|
local STATUS=''
|
||||||
|
local FLAGS=('--porcelain' '--ignore-submodules=dirty')
|
||||||
|
if [[ ${zgit_hide_prompt} != 'true' ]]; then
|
||||||
|
if [[ "$zgit_disable_untracked_dirty" == "true" ]]; then
|
||||||
|
FLAGS+='--untracked-files=no'
|
||||||
|
fi
|
||||||
|
STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1)
|
||||||
|
fi
|
||||||
|
if [[ -n $STATUS ]]; then
|
||||||
|
print ${ZSH_THEME_GIT_PROMPT_DIRTY}
|
||||||
|
else
|
||||||
|
print ${ZSH_THEME_GIT_PROMPT_CLEAN}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#unset FLAGS STATUS
|
Reference in New Issue
Block a user