# # Maintains a frequently used file and directory list for fast access. # # Authors: # Wei Dai # Sorin Ionescu # # Load dependencies. pmodload 'editor' # Return if requirements are not found. if (( ! $+commands[fasd] )); then return 1 fi # # Initialization # cache_file="${0:h}/cache.zsh" if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file" ]]; then # Set the base init arguments. init_args=(zsh-hook) # Set fasd completion init arguments, if applicable. if zstyle -t ':prezto:module:completion' loaded; then init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install) fi # Cache init code. fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null fi source "$cache_file" unset cache_file init_args function fasd_cd { local fasd_ret="$(fasd -d "$@")" if [[ -d "$fasd_ret" ]]; then cd "$fasd_ret" else print "$fasd_ret" fi } # # Aliases # # Return if conditions are unsatistied if ! zstyle -t ':prezto:alias' pmodule all fasd; then return 0 fi # Changes the current working directory interactively. alias j='fasd_cd -i'