chucknorris.plugin.zsh 976 Bytes
Newer Older
1
2
# chucknorris: Chuck Norris fortunes

3
# Automatically generate or update Chuck's compiled fortune data file
4
5
6
7
8
# $0 must be used outside a local function. This variable name is unlikly to collide.
CHUCKNORRIS_PLUGIN_DIR=${0:h}

() {
local DIR=$CHUCKNORRIS_PLUGIN_DIR/fortunes
9
if [[ ! -f $DIR/chucknorris.dat ]] || [[ $DIR/chucknorris.dat -ot $DIR/chucknorris ]]; then
10
11
12
13
14
15
16
17
18
19
20
  # For some reason, Cygwin puts strfile in /usr/sbin, which is not on the path by default
  local strfile=strfile
  if ! which strfile &>/dev/null && [[ -f /usr/sbin/strfile ]]; then
    strfile=/usr/sbin/strfile
  fi
  if which $strfile &> /dev/null; then
    $strfile $DIR/chucknorris $DIR/chucknorris.dat >/dev/null
  else
    echo "[oh-my-zsh] chucknorris depends on strfile, which is not installed" >&2
    echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2
  fi
21
fi
22

23
24
25
# Aliases
alias chuck="fortune -a $DIR"
alias chuck_cow="chuck | cowthink"
26
}
Mathias Geat's avatar
Mathias Geat committed
27

28
unset CHUCKNORRIS_PLUGIN_DIR