From 2d15981c31760c1c138aa7485d991138ce6fc831 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 27 Aug 2013 01:22:43 +0200 Subject: [PATCH] Use zsh hooks instead of overriding preexec and precmd --- pure.zsh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pure.zsh b/pure.zsh index 675579f..97912c0 100644 --- a/pure.zsh +++ b/pure.zsh @@ -17,7 +17,12 @@ # %m => shortname host # %(?..) => prompt conditional - %(condition.true.false) +autoload -Uz add-zsh-hook autoload -Uz vcs_info + +add-zsh-hook precmd pure_precmd +add-zsh-hook preexec pure_preexec + zstyle ':vcs_info:*' enable git # You can add hg too if needed: `git hg` zstyle ':vcs_info:git*' formats ' %b' zstyle ':vcs_info:git*' actionformats ' %b|%a' @@ -44,11 +49,11 @@ cmd_exec_time() { [ $elapsed -gt "${PURE_CMD_MAX_EXEC_TIME:=5}" ] && echo ${elapsed}s } -preexec() { +pure_preexec() { cmd_timestamp=`date +%s` } -precmd() { +pure_precmd() { vcs_info # add `%*` to display the time print -P '\n%F{blue}%~%F{8}$vcs_info_msg_0_`git_dirty` $username%f %F{yellow}`cmd_exec_time`%f'