]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/plugins/hitchhiker/hitchhiker.plugin.zsh
0b1a301199edcc014218f27646a4d0ae554796ea
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / hitchhiker / hitchhiker.plugin.zsh
1 # Handle $0 according to the standard:
2 # https://zdharma-continuum.github.io/Zsh-100-Commits-Club/Zsh-Plugin-Standard.html
3 0="${${ZERO:-${0:#$ZSH_ARGZERO}}:-${(%):-%N}}"
4 0="${${(M)0:#/*}:-$PWD/$0}"
5
6 HITCHHIKER_DIR="${0:h}/fortunes"
7
8 # Aliases
9 alias hitchhiker="fortune -a $HITCHHIKER_DIR"
10 alias hitchhiker_cow="hitchhiker | cowthink"
11
12 () {
13   # Don't generate hitchhiker.dat if it exists and is up-to-date
14   if [[ -f "$HITCHHIKER_DIR/hitchhiker.dat" ]] && ! [[ "$HITCHHIKER_DIR/hitchhiker.dat" -ot "$HITCHHIKER_DIR/hitchhiker" ]]; then
15     return
16   fi
17
18   # If strfile is not found: some systems install strfile in /usr/sbin but it's not in $PATH
19   if ! command -v strfile &>/dev/null && ! [[ -f /usr/sbin/strfile ]]; then
20     echo "[oh-my-zsh] hitchhiker depends on strfile, which is not installed" >&2
21     echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2
22     return
23   fi
24
25   "${commands[strfile]:-/usr/sbin/strfile}" "$HITCHHIKER_DIR/hitchhiker" "$HITCHHIKER_DIR/hitchhiker.dat" >/dev/null
26 }
27
28 unset HITCHHIKER_DIR