summaryrefslogtreecommitdiff
path: root/plugins/chucknorris
diff options
context:
space:
mode:
authorTuowen Zhao <ztuowen@gmail.com>2021-10-23 18:01:40 -0600
committerTuowen Zhao <ztuowen@gmail.com>2021-10-23 18:01:40 -0600
commitfad92c603be0ff36825cc53bf8c485d4b95c7869 (patch)
tree407fe826be62a3543b6feab4f3552f58575234de /plugins/chucknorris
parentc674485e6b4abe313469900997d893d2940ee843 (diff)
parentf1dd97bb2a9df55fae9b1ca26c829b9f8b290667 (diff)
downloadzsh-fad92c603be0ff36825cc53bf8c485d4b95c7869.tar.gz
zsh-fad92c603be0ff36825cc53bf8c485d4b95c7869.tar.bz2
zsh-fad92c603be0ff36825cc53bf8c485d4b95c7869.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'plugins/chucknorris')
-rw-r--r--plugins/chucknorris/README.md4
-rw-r--r--plugins/chucknorris/chucknorris.plugin.zsh36
-rw-r--r--plugins/chucknorris/fortunes/chucknorris8
3 files changed, 25 insertions, 23 deletions
diff --git a/plugins/chucknorris/README.md b/plugins/chucknorris/README.md
index 35f989180..b51875de9 100644
--- a/plugins/chucknorris/README.md
+++ b/plugins/chucknorris/README.md
@@ -1,8 +1,6 @@
# chucknorris
-Chuck Norris fortunes plugin for oh-my-zsh. Perfectly suitable as MOTD.
-
-**Maintainers**: [apjanke](https://github.com/apjanke) [maff](https://github.com/maff)
+Chuck Norris fortunes plugin for Oh My Zsh. Perfectly suitable as MOTD.
To use it add `chucknorris` to the plugins array in you zshrc file.
diff --git a/plugins/chucknorris/chucknorris.plugin.zsh b/plugins/chucknorris/chucknorris.plugin.zsh
index 1dbb04ef0..b90abe320 100644
--- a/plugins/chucknorris/chucknorris.plugin.zsh
+++ b/plugins/chucknorris/chucknorris.plugin.zsh
@@ -1,28 +1,24 @@
-# chucknorris: Chuck Norris fortunes
+() {
+ # %x: name of file containing code being executed
+ local fortunes_dir="${${(%):-%x}:h}/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}
+ # Aliases
+ alias chuck="fortune -a $fortunes_dir"
+ alias chuck_cow="chuck | cowthink"
-() {
-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
+ # Automatically generate or update Chuck's compiled fortune data file
+ if [[ "$fortunes_dir/chucknorris" -ot "$fortunes_dir/chucknorris.dat" ]]; then
+ return
fi
- if which $strfile &> /dev/null; then
- $strfile $DIR/chucknorris $DIR/chucknorris.dat >/dev/null
- else
+
+ # 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
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
+ return
fi
-fi
-# Aliases
-alias chuck="fortune -a $DIR"
-alias chuck_cow="chuck | cowthink"
+ # Generate the compiled fortune data file
+ $strfile "$fortunes_dir/chucknorris" "$fortunes_dir/chucknorris.dat" >/dev/null
}
-
-unset CHUCKNORRIS_PLUGIN_DIR
diff --git a/plugins/chucknorris/fortunes/chucknorris b/plugins/chucknorris/fortunes/chucknorris
index 0ddb6c03b..6ba5bb9b5 100644
--- a/plugins/chucknorris/fortunes/chucknorris
+++ b/plugins/chucknorris/fortunes/chucknorris
@@ -558,3 +558,11 @@ You know Chuck Norris' pet lizard, right? Last I heard, he was in the movie "God
%
http://chucknorrisfacts.com/ is built in Drupal because Chuck Norris knows a good CMS when he sees one.
%
+Chuck Norris made the first Giraffe by uppercutting a horse.
+%
+Chuck Norris can hear sign language.
+%
+Chuck Norris make onions cry.
+%
+Chuck Norris doesn't shake hands, he makes them tremble.
+%