summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/emotty/emotty.plugin.zsh43
-rw-r--r--plugins/emotty/emotty_emoji_set.zsh24
-rw-r--r--plugins/emotty/emotty_floral_set.zsh18
-rw-r--r--plugins/emotty/emotty_love_set.zsh34
-rw-r--r--plugins/emotty/emotty_nature_set.zsh58
-rw-r--r--plugins/emotty/emotty_stellar_set.zsh25
-rw-r--r--plugins/emotty/emotty_zodiac_set.zsh29
7 files changed, 231 insertions, 0 deletions
diff --git a/plugins/emotty/emotty.plugin.zsh b/plugins/emotty/emotty.plugin.zsh
new file mode 100644
index 000000000..b32dd1a4c
--- /dev/null
+++ b/plugins/emotty/emotty.plugin.zsh
@@ -0,0 +1,43 @@
+# ------------------------------------------------------------------------------
+# FILE: emotty.plugin.zsh
+# DESCRIPTION: Return an emoji for the current $TTY number.
+# AUTHOR: Alexis Hildebrandt (afh[at]surryhill.net)
+# VERSION: 1.0.0
+# DEPENDS: emoji plugin
+#
+# There are different sets of emoji characters available, to choose a different
+# set export emotty_set to the name of the set you would like to use, e.g.:
+# % export emotty_set=nature
+# ------------------------------------------------------------------------------
+
+typeset -gAH _emotty_sets
+local _emotty_plugin_dir="${0:h}"
+source "$_emotty_plugin_dir/emotty_stellar_set.zsh"
+source "$_emotty_plugin_dir/emotty_floral_set.zsh"
+source "$_emotty_plugin_dir/emotty_zodiac_set.zsh"
+source "$_emotty_plugin_dir/emotty_nature_set.zsh"
+source "$_emotty_plugin_dir/emotty_emoji_set.zsh"
+source "$_emotty_plugin_dir/emotty_love_set.zsh"
+unset _emotty_plugin_dir
+
+emotty_default_set=emoji
+
+function emotty() {
+ # Use emotty set defined by user, fallback to default
+ local emotty=${_emotty_sets[${emotty_set:-$emotty_default_set}]}
+ # Parse $TTY number, normalizing it to an emotty set index
+ (( tty = (${TTY##/dev/ttys} % ${#${=emotty}}) + 1 ))
+ local character_name=${${=emotty}[tty]}
+ echo "${emoji[${character_name}]}${emoji2[emoji_style]}"
+}
+
+function display_emotty() {
+ local name=$1
+ for i in ${=_emotty_sets[$name]}; do
+ printf "${emoji[$i]}${emoji2[emoji_style]} "
+ done
+ print
+ for i in ${=_emotty_sets[$name]}; do
+ print "${emoji[$i]}${emoji2[emoji_style]} = $i"
+ done
+}
diff --git a/plugins/emotty/emotty_emoji_set.zsh b/plugins/emotty/emotty_emoji_set.zsh
new file mode 100644
index 000000000..00e317131
--- /dev/null
+++ b/plugins/emotty/emotty_emoji_set.zsh
@@ -0,0 +1,24 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+_emotty_sets[emoji]="
+ crystal_ball
+ ghost
+ jack_o_lantern
+ see_no_evil_monkey
+ hear_no_evil_monkey
+ speak_no_evil_monkey
+ smiling_cat_face_with_open_mouth
+ extraterrestrial_alien
+ rocket
+ billiards
+ bomb
+ pill
+ japanese_symbol_for_beginner
+ direct_hit
+ cyclone
+ diamond_shape_with_a_dot_inside
+ sparkle
+ eight_spoked_asterisk
+ eight_pointed_black_star
+ "
diff --git a/plugins/emotty/emotty_floral_set.zsh b/plugins/emotty/emotty_floral_set.zsh
new file mode 100644
index 000000000..f761feae6
--- /dev/null
+++ b/plugins/emotty/emotty_floral_set.zsh
@@ -0,0 +1,18 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+_emotty_sets[floral]="
+ hibiscus
+ cherry_blossom
+ blossom
+ sunflower
+ bouquet
+ tulip
+ rose
+ four_leaf_clover
+ seedling
+ herb
+ palm_tree
+ evergreen_tree
+ deciduous_tree
+ "
diff --git a/plugins/emotty/emotty_love_set.zsh b/plugins/emotty/emotty_love_set.zsh
new file mode 100644
index 000000000..8f19e6902
--- /dev/null
+++ b/plugins/emotty/emotty_love_set.zsh
@@ -0,0 +1,34 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+# Note: The heavy_black_heart emoji requires $emoji2[emoji_style]
+# to be rendered as the emoji red heart.
+_emotty_sets[love]="
+ green_heart
+ blue_heart
+ purple_heart
+ yellow_heart
+ heavy_black_heart
+ broken_heart
+ heart_with_arrow
+ heart_with_ribbon
+ sparkling_heart
+ two_hearts
+ revolving_hearts
+ growing_heart
+ beating_heart
+ heart_decoration
+ couple_with_heart
+ kiss
+ man_and_woman_holding_hands
+ two_women_holding_hands
+ two_men_holding_hands
+ kiss_mark
+ smiling_face_with_heart_shaped_eyes
+ kissing_face
+ face_throwing_a_kiss
+ kissing_face_with_smiling_eyes
+ kissing_face_with_closed_eyes
+ smiling_cat_face_with_heart_shaped_eyes
+ kissing_cat_face_with_closed_eyes
+ "
diff --git a/plugins/emotty/emotty_nature_set.zsh b/plugins/emotty/emotty_nature_set.zsh
new file mode 100644
index 000000000..8dab4c1ba
--- /dev/null
+++ b/plugins/emotty/emotty_nature_set.zsh
@@ -0,0 +1,58 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+_emotty_sets[nature]="
+ mouse_face
+ hamster_face
+ rabbit_face
+ dog_face
+ cat_face
+ tiger_face
+ bear_face
+ monkey_face
+ koala
+ panda_face
+ chicken
+ baby_chick
+ bird
+ penguin
+ cow_face
+ pig_face
+ frog_face
+ boar
+ wolf_face
+ horse_face
+ snail
+ bug
+ ant
+ honeybee
+ lady_beetle
+ spouting_whale
+ dolphin
+ octopus
+ fish
+ tropical_fish
+ snake
+ turtle
+ lemon
+ tangerine
+ peach
+ mushroom
+ tomato
+ strawberry
+ red_apple
+ cherries
+ grapes
+ aubergine
+ watermelon
+ banana
+ pineapple
+ melon
+ pear
+ green_apple
+ ear_of_maize
+ sunflower
+ seedling
+ herb
+ four_leaf_clover
+ "
diff --git a/plugins/emotty/emotty_stellar_set.zsh b/plugins/emotty/emotty_stellar_set.zsh
new file mode 100644
index 000000000..8e7e61068
--- /dev/null
+++ b/plugins/emotty/emotty_stellar_set.zsh
@@ -0,0 +1,25 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+# NOTE: The following emoji show as $'character' in the title
+# white_medium_star
+# sparkles
+# dizzy_symbol
+
+_emotty_sets[stellar]="
+ full_moon_symbol
+ waning_gibbous_moon_symbol
+ waning_crescent_moon_symbol
+ last_quarter_moon_symbol
+ new_moon_symbol
+ new_moon_with_face
+ waxing_crescent_moon_symbol
+ first_quarter_moon_symbol
+ waxing_gibbous_moon_symbol
+ full_moon_with_face
+ sun_with_face
+ glowing_star
+ crescent_moon
+ first_quarter_moon_with_face
+ last_quarter_moon_with_face
+ "
diff --git a/plugins/emotty/emotty_zodiac_set.zsh b/plugins/emotty/emotty_zodiac_set.zsh
new file mode 100644
index 000000000..bde6e3d2e
--- /dev/null
+++ b/plugins/emotty/emotty_zodiac_set.zsh
@@ -0,0 +1,29 @@
+#!/usr/bin/env zsh
+# vim:ft=zsh ts=2 sw=2 sts=2
+
+_emotty_sets[zodiac]="
+ aries
+ taurus
+ gemini
+ cancer
+ leo
+ virgo
+ libra
+ scorpius
+ sagittarius
+ capricorn
+ aquarius
+ pisces
+ rat
+ ox
+ tiger
+ rabbit
+ dragon
+ snake
+ horse
+ goat
+ monkey
+ rooster
+ dog
+ pig
+ "