summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/emoji-clock
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/emoji-clock')
-rw-r--r--oh-my-zsh/plugins/emoji-clock/README.md14
-rw-r--r--oh-my-zsh/plugins/emoji-clock/emoji-clock.plugin.zsh33
2 files changed, 47 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/emoji-clock/README.md b/oh-my-zsh/plugins/emoji-clock/README.md
new file mode 100644
index 0000000..4934f38
--- /dev/null
+++ b/oh-my-zsh/plugins/emoji-clock/README.md
@@ -0,0 +1,14 @@
+# emoji-clock
+
+The plugin displays current time as an emoji symbol with half hour accuracy.
+
+To use it, add `emoji-clock` to the plugins array of your zshrc file:
+```
+plugins=(... emoji-clock)
+```
+
+## Features
+
+| Function | Description |
+|-------------------|----------------------------------------------------------------------|
+| `emoji-clock` | Displays current time in clock emoji symbol with half hour accuracy |
diff --git a/oh-my-zsh/plugins/emoji-clock/emoji-clock.plugin.zsh b/oh-my-zsh/plugins/emoji-clock/emoji-clock.plugin.zsh
new file mode 100644
index 0000000..bdd606f
--- /dev/null
+++ b/oh-my-zsh/plugins/emoji-clock/emoji-clock.plugin.zsh
@@ -0,0 +1,33 @@
+# ------------------------------------------------------------------------------
+# FILE: emoji-clock.plugin.zsh
+# DESCRIPTION: The current time with half hour accuracy as an emoji symbol.
+# Inspired by Andre Torrez' "Put A Burger In Your Shell"
+# https://notes.torrez.org/2013/04/put-a-burger-in-your-shell.html
+# AUTHOR: Alexis Hildebrandt (afh[at]surryhill.net)
+# VERSION: 1.0.0
+# -----------------------------------------------------------------------------
+
+function emoji-clock() {
+ # Add 15 minutes to the current time and save the value as $minutes.
+ (( minutes = $(date '+%M') + 15 ))
+ (( hour = $(date '+%I') + minutes / 60 ))
+ # make sure minutes and hours don't exceed 60 nor 12 respectively
+ (( minutes %= 60 )); (( hour %= 12 ))
+
+ case $hour in
+ 0) clock="🕛"; [ $minutes -ge 30 ] && clock="🕧";;
+ 1) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";;
+ 2) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";;
+ 3) clock="🕒"; [ $minutes -ge 30 ] && clock="🕞";;
+ 4) clock="🕓"; [ $minutes -ge 30 ] && clock="🕟";;
+ 5) clock="🕔"; [ $minutes -ge 30 ] && clock="🕠";;
+ 6) clock="🕕"; [ $minutes -ge 30 ] && clock="🕡";;
+ 7) clock="🕖"; [ $minutes -ge 30 ] && clock="🕢";;
+ 8) clock="🕗"; [ $minutes -ge 30 ] && clock="🕣";;
+ 9) clock="🕘"; [ $minutes -ge 30 ] && clock="🕤";;
+ 10) clock="🕙"; [ $minutes -ge 30 ] && clock="🕥";;
+ 11) clock="🕚"; [ $minutes -ge 30 ] && clock="🕦";;
+ *) clock="⌛";;
+ esac
+ echo $clock
+}