summaryrefslogtreecommitdiff
path: root/plugins/fasd
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/fasd')
-rw-r--r--plugins/fasd/README.md21
-rw-r--r--plugins/fasd/fasd.plugin.zsh24
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'