summaryrefslogtreecommitdiff
path: root/plugins/hitchhiker/hitchhiker.plugin.zsh
diff options
context:
space:
mode:
authorLuiz Pericolo <luiz.barbosa@hotelurbano.com.br>2016-05-25 12:33:38 -0300
committerMarc Cornellà <hello@mcornella.com>2021-03-27 22:25:22 +0100
commitd8b3e115e968225b5a0b999ea9292ac0263d5586 (patch)
tree8731614b8407e6c89205c1474af67f675337fa94 /plugins/hitchhiker/hitchhiker.plugin.zsh
parent02d07f3e3dba0d50b1d907a8062bbaca18f88478 (diff)
downloadzsh-d8b3e115e968225b5a0b999ea9292ac0263d5586.tar.gz
zsh-d8b3e115e968225b5a0b999ea9292ac0263d5586.tar.bz2
zsh-d8b3e115e968225b5a0b999ea9292ac0263d5586.zip
feat(plugins): add hitchhiker plugin (#5117)
Diffstat (limited to 'plugins/hitchhiker/hitchhiker.plugin.zsh')
-rw-r--r--plugins/hitchhiker/hitchhiker.plugin.zsh23
1 files changed, 23 insertions, 0 deletions
diff --git a/plugins/hitchhiker/hitchhiker.plugin.zsh b/plugins/hitchhiker/hitchhiker.plugin.zsh
new file mode 100644
index 000000000..aeafaf01e
--- /dev/null
+++ b/plugins/hitchhiker/hitchhiker.plugin.zsh
@@ -0,0 +1,23 @@
+HITCHHIKER_DIR="${0:h}/fortunes"
+
+# Aliases
+alias hitchhiker="fortune -a $HITCHHIKER_DIR"
+alias hitchhiker_cow="hitchhiker | cowthink"
+
+() {
+ # Don't generate hitchhiker.dat if it exists and is up-to-date
+ if [[ -f "$HITCHHIKER_DIR/hitchhiker.dat" ]] && ! [[ "$HITCHHIKER_DIR/hitchhiker.dat" -ot "$HITCHHIKER_DIR/hitchhiker" ]]; then
+ return
+ fi
+
+ # If strfile is not found: some systems install strfile in /usr/sbin but it's not in $PATH
+ if ! command -v strfile &>/dev/null && ! [[ -f /usr/sbin/strfile ]]; then
+ echo "[oh-my-zsh] hitchhiker depends on strfile, which is not installed" >&2
+ echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2
+ return
+ fi
+
+ "${commands[strfile]:-/usr/sbin/strfile}" "$HITCHHIKER_DIR/hitchhiker" "$HITCHHIKER_DIR/hitchhiker.dat" >/dev/null
+}
+
+unset HITCHHIKER_DIR