summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2015-02-10 07:27:03 -0800
committerRobby Russell <robby@planetargon.com>2015-02-10 07:27:03 -0800
commitc3eb54839a070f447654ee6e6186343a1faa98e3 (patch)
treecf5d96785919d373d50e1a7a6981ce742bd3a243 /lib
parent550ccca91cb45fcf26a8f2c3c60da675b995e3f3 (diff)
parentbe7028012ecc97bf8976d5de0aed51869720be2a (diff)
downloadzsh-c3eb54839a070f447654ee6e6186343a1faa98e3.tar.gz
zsh-c3eb54839a070f447654ee6e6186343a1faa98e3.tar.bz2
zsh-c3eb54839a070f447654ee6e6186343a1faa98e3.zip
Merge pull request #3525 from apjanke/term-pwd-in-precmd
Move pwd update output to precmd to avoid contamination
Diffstat (limited to 'lib')
-rw-r--r--lib/termsupport.zsh24
1 files changed, 9 insertions, 15 deletions
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index d9f2b64d4..bd0cf6ffe 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -16,12 +16,19 @@ function title {
ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
-#Appears when you have the prompt
+# Runs before showing the prompt
function omz_termsupport_precmd {
title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
+
+ # Notify Terminal.app of current directory using undocumented OSC sequence
+ # found in OS X 10.9 and 10.10's /etc/bashrc
+ if [[ $TERM_PROGRAM == Apple_Terminal ]] && [[ -z $INSIDE_EMACS ]]; then
+ local PWD_URL="file://$HOSTNAME${PWD// /%20}"
+ printf '\e]7;%s\a' "$PWD_URL"
+ fi
}
-#Appears at the beginning of (and during) of command execution
+# Runs before executing the command
function omz_termsupport_preexec {
emulate -L zsh
setopt extended_glob
@@ -33,18 +40,5 @@ function omz_termsupport_preexec {
title '$CMD' '%100>...>$LINE%<<'
}
-#Appears each time pwd is changed
-function omz_termsupport_chpwd {
- #Notify Terminal.app of current directory using undocumented OSC sequence
- #found in OS X 10.10's /etc/bashrc
- if [[ $TERM_PROGRAM == Apple_Terminal ]] && [[ -z $INSIDE_EMACS ]]; then
- local PWD_URL="file://$HOSTNAME${PWD// /%20}"
- printf '\e]7;%s\a' "$PWD_URL"
- fi
-}
-#Fire it once so the pwd is set properly upon shell startup
-omz_termsupport_chpwd
-
precmd_functions+=(omz_termsupport_precmd)
preexec_functions+=(omz_termsupport_preexec)
-chpwd_functions+=(omz_termsupport_chpwd)