-
-
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 | |
} |
pull request: add mergetool
being lazy : I like it 👍
I loved it! This plugin is very fit my habbit.
@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"
Git auto status
If you found yourself constantly typing
git status
after bunch of commands likegit commit
and you want to avoid that, than this plugin is for you.This plugin is a nice addition to git_prompt_status.
Installation
You should read next wiki.
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.
Note: It was necessary for me to put
ZSH_CUSTOM=$HOME/zsh_custom
at thetop of my .zshrc.
Tuning
The default list of command that git status is automatically running after is
next:
You can adjust this list by setting this var in your .zshrc after
plugins=(...)
initialization.About git_prompt_status
There is not much information about what it is, but you will probably
understand it from next pr.
For example, I have next line for standard robbyrussel theme in my .zshrc:
Maintainer - @oshybystyi