-
-
Save oshybystyi/475ee7768efc03727f21 to your computer and use it in GitHub Desktop.
# | |
# 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 | |
} |
@oshybystyi
I added this file to ~/.oh-my-zsh/custom/plugins/git-auto-status/git-auto-status.plugin.zsh. Made it executable using chmod +x git-auto-status.plugin.zsh
. And finally restarted my terminal but I don't see the plugin in action. Have I missed some step here?
@oshybystyi @usmanajmal me too
@usmanajmal and @yokots:
...and modify plugins variable of your .zshrc so it contains git_auto_status
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"
I loved it! This plugin is very fit my habbit.