X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=6db7057fe330ed76dcfe298e32743ccc303847c2;hb=77fde5044a714adda614fe1ba5e4cd90b58300ae;hp=9bbb283e28d4ec07266d9ce48f28d9813deb4821;hpb=a716162821d4c88b1c1395b180a56811ca7d1848;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index 9bbb283..6db7057 100644 --- a/zsh/rc +++ b/zsh/rc @@ -52,7 +52,7 @@ if [[ -d ~/.zsh/functions ]]; then fi # Simulate hooks using _functions arrays for Zsh versions older than 4.3.4. At -# the moment only precmd() and preexec() are simulated. +# the moment only precmd(), preexec() and chpwd() are simulated. # # At least 4.3.4 (not sure about later versions) has an error in add-zsh-hook # so the compatibility version is used there too. @@ -60,7 +60,8 @@ if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then # Provide add-zsh-hook which was added in 4.3.4. fpath=(~/.zsh/functions/compatibility $fpath) - # Run all functions defined in the ${precmd,preexec}_functions arrays. + # Run all functions defined in the ${precmd,preexec,chpwd}_functions + # arrays. function precmd() { for function in $precmd_functions; do $function $@ @@ -71,6 +72,11 @@ if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then $function $@ done } + function chpwd() { + for function in $chpwd_functions; do + $function $@ + done + } fi # Autoload add-zsh-hook to add/remove zsh hook functions easily. @@ -79,6 +85,7 @@ autoload -Uz add-zsh-hook # Load zmv (zsh move) which is powerful to rename files. autoload zmv + # HISTORY SETTINGS # Use history and store it in ~/.zsh/history. @@ -93,7 +100,7 @@ setopt incappendhistory setopt histignoredups # Vim like completions of previous executed commands (also enter Vi-mode). If # called at the beginning it just recalls old commands (like cursor up), if -# called after typing something only lines starting with the typed are +# called after typing something, only lines starting with the typed are # returned. Very useful to get old commands quickly. Thanks to Mikachu in #zsh # on Freenode (2010-01-17 12:47) for the information how to a use function # with bindkey. @@ -134,19 +141,20 @@ local default="%{${fg[default]}%}" # Set the default prompt. The current host and working directory is displayed, # the exit code of the last command if it wasn't 0, the number of running jobs -# if not 0 and a + if this shell is running inside another shell. +# if not 0. +# # The prompt is in green and blue to make easily detectable, the error exit # code in red and bold and the job count in yellow. PROMPT="$green%B%m%b$default:$blue%B%~%b$default \ %(1j.$yellow%j$default.)%# \ %(?..($red%B%?%b$default%) )" -# VCS_Info was added in 4.3.9 but it works in earlier versions too. So load it +# vcs_info was added in 4.3.9 but it works in earlier versions too. So load it # if the necessary files are available in ~/.zsh/functions/vcs_info (often a # symbolic link to current checkout of Zsh's sources). if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) || -d ~/.zsh/functions/vcs_info ]]; then - # Update fpath to allow loading the VCS_Info functions. + # Update fpath to allow loading the vcs_info functions. if [[ -d ~/.zsh/functions/vcs_info ]]; then fpath=(~/.zsh/functions/vcs_info/ ~/.zsh/functions/vcs_info/Backends @@ -154,9 +162,9 @@ if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) || fi # Allow substitutions and expansions in the prompt, necessary for - # VCS_Info. + # vcs_info. setopt promptsubst - # Load VCS_Info to display information about version control repositories. + # Load vcs_info to display information about version control repositories. autoload -Uz vcs_info # Only look for git and mercurial repositories; the only I use. zstyle ':vcs_info:*' enable git hg @@ -164,7 +172,7 @@ if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) || # below). This comes with a speed penalty for bigger repositories. zstyle ':vcs_info:*' check-for-changes true - # Set style of VCS_Info display. The current branch (green) and VCS (blue) + # Set style of vcs_info display. The current branch (green) and VCS (blue) # is displayed. If there is an special action going on (merge, rebase) # it's also displayed (red). Also display if there are unstaged or staged # (%u/%c) changes. @@ -190,7 +198,7 @@ if [[ $ZSH_VERSION == (4.3.<9->|4.<4->*|<5->*) || zstyle ':vcs_info:*' unstagedstr '¹' zstyle ':vcs_info:*' stagedstr '²' - # Call VCS_Info as precmd before every prompt. + # Call vcs_info as precmd before every prompt. prompt_precmd() { vcs_info } @@ -389,7 +397,7 @@ TRAPINT() { # Store the current buffer in the history. zle && print -s -- $BUFFER - # Return the default exit code so zsh aborts the current command. + # Return the default exit code so Zsh aborts the current command. return $1 }