diff --git a/.gitignore b/.gitignore index fecda6e..2b7a828 100644 --- a/.gitignore +++ b/.gitignore @@ -264,3 +264,5 @@ tags # End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,macos,linux,python,vim # Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) + +zsh.d/99-local.zsh diff --git a/zsh.d/60-hooks.zsh b/zsh.d/60-hooks.zsh index 5f76c88..2e55725 100644 --- a/zsh.d/60-hooks.zsh +++ b/zsh.d/60-hooks.zsh @@ -8,20 +8,23 @@ # - zshexit # -# Gitfetch precmd hook +# Async Git update +autoload -Uz vcs_info -# Empty, but required, callback function -# We can implement logging here -function completed_callback() {} - -# Create worker for async precmd -async_start_worker _precmd -async_register_callback _precmd completed_callback - -# Async invocation of gitfect on precmd worker -function gitfetch_hook() { - async_job _precmd gitfetch $PWD +_vbe_vcs_info_done() { + local stdout=$3 + vcs_info_msg_0_=$stdout + # echo $(date +"%Y-%m-%d %H:%M:%S") $PWD info $vcs_info_msg_0_ $vcs_info_msg_1_ >> ~/vcs.log + zle reset-prompt } -# Add async function to precmd hook -add-zsh-hook precmd gitfetch_hook +_vbe_vcs_precmd() { + # echo $(date +"%Y-%m-%d %H:%M:%S") $PWD pre >> ~/vcs.log + async_flush_jobs vcs_info + async_job vcs_info _vbe_vcs_info $PWD +} + +async_init +async_start_worker vcs_info +async_register_callback vcs_info _vbe_vcs_info_done +add-zsh-hook precmd _vbe_vcs_precmd