diff options
Diffstat (limited to 'plugins/fasd')
-rw-r--r-- | plugins/fasd/README.md | 21 | ||||
-rw-r--r-- | plugins/fasd/fasd.plugin.zsh | 24 |
2 files changed, 35 insertions, 10 deletions
diff --git a/plugins/fasd/README.md b/plugins/fasd/README.md new file mode 100644 index 000000000..a5c74e5b8 --- /dev/null +++ b/plugins/fasd/README.md @@ -0,0 +1,21 @@ +# fasd + +[`Fasd`](https://github.com/clvv/fasd) (pronounced similar to "fast") is a command-line productivity booster. Fasd offers quick access to files and directories for POSIX shells. + +To use it, add `fasd` to the plugins array in your zshrc file: + +```zsh +plugins=(... fasd) +``` + +## Installation + +Please find detailed installation guide [`here`](https://github.com/clvv/fasd#install) + +## Aliases + +| Alias | Command | Description | +|-------|-------------------------------------------|-------------------------------------------------------------| +| v | `fasd -f -e "$EDITOR"` | List frequent/recent files matching the given filename. | +| o | `fasd -a -e xdg-open` | List frequent/recent files and directories matching. | +| j | `fasd_cd -d -i` | cd with interactive selection | diff --git a/plugins/fasd/fasd.plugin.zsh b/plugins/fasd/fasd.plugin.zsh index 36a0428a7..6538d097e 100644 --- a/plugins/fasd/fasd.plugin.zsh +++ b/plugins/fasd/fasd.plugin.zsh @@ -1,12 +1,16 @@ -if [ $commands[fasd] ]; then # check if fasd is installed - fasd_cache="${ZSH_CACHE_DIR}/fasd-init-cache" - if [ "$(command -v fasd)" -nt "$fasd_cache" -o ! -s "$fasd_cache" ]; then - fasd --init auto >| "$fasd_cache" - fi - source "$fasd_cache" - unset fasd_cache +# check if fasd is installed +if (( ! ${+commands[fasd]} )); then + return +fi - alias v="f -e \"$EDITOR\"" - alias o='a -e xdg-open' - alias j='zz' +fasd_cache="${ZSH_CACHE_DIR}/fasd-init-cache" +if [[ "$commands[fasd]" -nt "$fasd_cache" || ! -s "$fasd_cache" ]]; then + fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \ + zsh-wcomp zsh-wcomp-install >| "$fasd_cache" fi +source "$fasd_cache" +unset fasd_cache + +alias v='f -e "$EDITOR"' +alias o='a -e xdg-open' +alias j='zz' |