From b79fba7b0d38aa61afaeeaaa7fab6992dbfb6db3 Mon Sep 17 00:00:00 2001
From: Gregor Trefs <Gregor.Trefs@gmail.com>
Date: Tue, 10 Aug 2021 21:02:06 +0200
Subject: [PATCH] feat(plugins): `octozen` shows an Octocat zen quote on
 startup (#5959)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Marc Cornellà <hello@mcornella.com>
---
 plugins/octozen/README.md          | 12 ++++++++++++
 plugins/octozen/octozen.plugin.zsh | 11 +++++++++++
 2 files changed, 23 insertions(+)
 create mode 100644 plugins/octozen/README.md
 create mode 100644 plugins/octozen/octozen.plugin.zsh

diff --git a/plugins/octozen/README.md b/plugins/octozen/README.md
new file mode 100644
index 000000000..2051248ca
--- /dev/null
+++ b/plugins/octozen/README.md
@@ -0,0 +1,12 @@
+# Octozen plugin
+
+Displays a zen quote from GitHub's Octocat on start up.
+
+To use it, add `octozen` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... octozen)
+```
+
+It defines a `display_octozen` function that fetches a GitHub Octocat zen quote.
+NOTE: Internet connection is required (will time out if not fetched in 2 seconds).
diff --git a/plugins/octozen/octozen.plugin.zsh b/plugins/octozen/octozen.plugin.zsh
new file mode 100644
index 000000000..71ee550a5
--- /dev/null
+++ b/plugins/octozen/octozen.plugin.zsh
@@ -0,0 +1,11 @@
+# octozen plugin
+
+# Displays a zen quote from octocat
+function display_octozen() {
+  curl -m 2 -fsL "https://api.github.com/octocat"
+  add-zsh-hook -d precmd display_octozen
+}
+
+# Display the octocat on the first precmd, after the whole starting process has finished
+autoload -Uz add-zsh-hook
+add-zsh-hook precmd display_octozen
-- 
2.21.0