Created
June 10, 2015 10:28
-
-
Save oshybystyi/475ee7768efc03727f21 to your computer and use it in GitHub Desktop.
OhMyZsh plugin to display git status after a bunch of predefined git commands
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Run git status after specified set of command | |
# | |
# @author Oleksandr Shybystyi [email protected] | |
# | |
# default list of git commands `git status` is running after | |
gitPreAutoStatusCommands=( | |
'add' | |
'rm' | |
'reset' | |
'commit' | |
'checkout' | |
'mv' | |
'init' | |
) | |
# taken from http://stackoverflow.com/a/8574392/4647743 | |
function elementInArray() { | |
local e | |
for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done | |
return 1 | |
} | |
function git() { | |
command git $@ | |
if (elementInArray $1 $gitPreAutoStatusCommands); then | |
command git status | |
fi | |
} |
Really handy plugin! Thanks! :)
For me it was necessary to update plugins variable of my .zshrc so it contains git-auto-status (with hyphen). I tried first with git_auto_status (with underscore) as it is said in the description, but it didn't work. Don't know why, but I guess the name of the plugin directory and the name on .zshrc must be the same.
Hi,
I have a problem with it. When I am in repo it works like a charm :) but when I am not every action in terminal returns:
VCS_INFO_git_getbranch:44: no such file or directory: /HEAD
fatal: not a git repository (or any of the parent directories): .git
Someone now how to fix it?
Just in case someone is looking for this in bash:
gitPreAutoStatusCommands=(
'add'
'rm'
'mv'
'checkout'
'rebase'
)
function git() {
command git "${@}"
if [[ " ${gitPreAutoStatusCommands[@]} " =~ " ${1} " ]]; then
echo # empty line
command git status
fi
}
Automatically clone it in the correct ohmyzsh dir:
git clone https://gist.github.com/475ee7768efc03727f21.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/git-auto-status
Did not work in my macOS terminal!
@oshybystyi Please update the description where it says
So you should put this file into ~/zsh_custom/plugins/git-auto-status and
modify plugins variable of your .zshrc so it contains
git_auto_status.
with "git-auto-status" instead of "git_auto_status"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@usmanajmal and @yokots: