2021-10-05 22:45:49 +08:00
|
|
|
() {
|
|
|
|
# %x: name of file containing code being executed
|
|
|
|
local fortunes_dir="${${(%):-%x}:h}/fortunes"
|
2015-07-03 08:27:48 +08:00
|
|
|
|
2021-10-05 22:45:49 +08:00
|
|
|
# Aliases
|
|
|
|
alias chuck="fortune -a $fortunes_dir"
|
|
|
|
alias chuck_cow="chuck | cowthink"
|
2015-07-03 08:27:48 +08:00
|
|
|
|
2021-10-05 22:45:49 +08:00
|
|
|
# Automatically generate or update Chuck's compiled fortune data file
|
|
|
|
if [[ "$fortunes_dir/chucknorris" -ot "$fortunes_dir/chucknorris.dat" ]]; then
|
|
|
|
return
|
2015-07-03 08:27:48 +08:00
|
|
|
fi
|
2021-10-05 22:45:49 +08:00
|
|
|
|
|
|
|
# For some reason, Cygwin puts strfile in /usr/sbin, which is not on the path by default
|
|
|
|
local strfile="${commands[strfile]:-/usr/sbin/strfile}"
|
|
|
|
if [[ ! -x "$strfile" ]]; then
|
2015-07-03 08:27:48 +08:00
|
|
|
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
|
2021-10-05 22:45:49 +08:00
|
|
|
return
|
2015-07-03 08:27:48 +08:00
|
|
|
fi
|
2015-02-20 12:53:48 +08:00
|
|
|
|
2021-10-05 22:45:49 +08:00
|
|
|
# Generate the compiled fortune data file
|
|
|
|
$strfile "$fortunes_dir/chucknorris" "$fortunes_dir/chucknorris.dat" >/dev/null
|
2015-07-03 08:27:48 +08:00
|
|
|
}
|