Sorin Ionescu
12 years ago
committed by
Sorin Ionescu
2 changed files with 93 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||||||
|
Fasd |
||||||
|
==== |
||||||
|
|
||||||
|
[Fasd][1] is a command-line productivity booster, inspired by tools like |
||||||
|
[autojump][2], [z][3] and [v][4], it offers quick access to files and |
||||||
|
directories by keeping track of files and directories that were previously |
||||||
|
accessed. |
||||||
|
|
||||||
|
For completion to work, this module must be loaded **after** the *completion* |
||||||
|
module. |
||||||
|
|
||||||
|
The Prezto Fasd configuration differs from the default. The default aliases have |
||||||
|
been disabled. |
||||||
|
|
||||||
|
Aliases |
||||||
|
------- |
||||||
|
|
||||||
|
- `j` changes the current working directory interactively. |
||||||
|
|
||||||
|
Completion |
||||||
|
---------- |
||||||
|
|
||||||
|
Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`, |
||||||
|
`,,d` at the end of a comma-separated query then hit <kbd>tab</kbd>. |
||||||
|
|
||||||
|
Authors |
||||||
|
------- |
||||||
|
|
||||||
|
*The authors of this module should be contacted via the [issue tracker][5].* |
||||||
|
|
||||||
|
- [Wei Dai](https://github.com/clvv) |
||||||
|
- [Sorin Ionescu](https://github.com/sorin-ionescu) |
||||||
|
|
||||||
|
[1]: https://github.com/clvv/fasd |
||||||
|
[2]: https://github.com/joelthelion/autojump |
||||||
|
[3]: https://github.com/rupa/z |
||||||
|
[4]: https://github.com/rupa/v |
||||||
|
[5]: https://github.com/sorin-ionescu/prezto/issues |
||||||
|
|
@ -0,0 +1,54 @@ |
|||||||
|
# |
||||||
|
# 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' |
||||||
|
|
||||||
|
# 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 |
||||||
|
# |
||||||
|
|
||||||
|
# Changes the current working directory interactively. |
||||||
|
alias j='fasd_cd -i' |
||||||
|
|
Loading…
Reference in new issue