diff options
author | Robby Russell <robby@planetargon.com> | 2015-09-27 12:42:38 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2015-09-27 12:42:38 -0700 |
commit | b05ef1034fffd7b0c29f1558a8a357ccce7ae74b (patch) | |
tree | dd74542ea6c7ff1e67891ef94a68c82e5316e630 | |
parent | a51a9169a9c53da455056906735589a7ec69a240 (diff) | |
parent | a2e01e9a87c0d120482cc7bbe21ccab21bf71fb1 (diff) | |
download | zsh-b05ef1034fffd7b0c29f1558a8a357ccce7ae74b.tar.gz zsh-b05ef1034fffd7b0c29f1558a8a357ccce7ae74b.tar.bz2 zsh-b05ef1034fffd7b0c29f1558a8a357ccce7ae74b.zip |
Merge pull request #4121 from apjanke/chucknorris-check-for-fortune
chucknorris: check for fortune/strfile dependency
-rw-r--r-- | plugins/chucknorris/chucknorris.plugin.zsh | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/plugins/chucknorris/chucknorris.plugin.zsh b/plugins/chucknorris/chucknorris.plugin.zsh index 096364633..1dbb04ef0 100644 --- a/plugins/chucknorris/chucknorris.plugin.zsh +++ b/plugins/chucknorris/chucknorris.plugin.zsh @@ -1,6 +1,28 @@ -if [ ! -f $ZSH/plugins/chucknorris/fortunes/chucknorris.dat ]; then - strfile $ZSH/plugins/chucknorris/fortunes/chucknorris $ZSH/plugins/chucknorris/fortunes/chucknorris.dat +# chucknorris: Chuck Norris fortunes + +# Automatically generate or update Chuck's compiled fortune data file +# $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 +if [[ ! -f $DIR/chucknorris.dat ]] || [[ $DIR/chucknorris.dat -ot $DIR/chucknorris ]]; then + # 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 fi -alias chuck="fortune -a $ZSH/plugins/chucknorris/fortunes" +# Aliases +alias chuck="fortune -a $DIR" alias chuck_cow="chuck | cowthink" +} + +unset CHUCKNORRIS_PLUGIN_DIR |