-
-
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-statusDid 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 statusafter bunch of commands likegit commitand 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_customat thetop of my .zshrc.
Tuning
The default list of command that git status is automatically running after is
next:
gitPreAutoStatusCommands=( 'add' 'rm' 'reset' 'commit' 'checkout' 'mv' 'init' )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