prezto/modules/fasd/init.zsh

52 lines
1,007 B
Bash
Raw Normal View History

2012-09-30 22:29:45 +02:00
#
# Maintains a frequently used file and directory list for fast access.
#
# Authors:
# Wei Dai <x@wei23.net>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
# Load dependencies.
pmodload 'editor'
2015-11-12 23:08:47 +01:00
# Source module file.
source "${0:h}/external/fasd" || return 1
2012-09-30 22:29:45 +02:00
#
# 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
#
# Changes the current working directory interactively.
alias j='fasd_cd -i'