mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 13:21:19 +08:00 
			
		
		
		
	Add emotty plugin
which displays an emoji for the current $TTY.
This commit is contained in:
		
							parent
							
								
									9c08641d7c
								
							
						
					
					
						commit
						dce052dac0
					
				
							
								
								
									
										43
									
								
								plugins/emotty/emotty.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								plugins/emotty/emotty.plugin.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								plugins/emotty/emotty_emoji_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								plugins/emotty/emotty_emoji_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
							
								
								
									
										18
									
								
								plugins/emotty/emotty_floral_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								plugins/emotty/emotty_floral_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
							
								
								
									
										34
									
								
								plugins/emotty/emotty_love_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								plugins/emotty/emotty_love_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
							
								
								
									
										58
									
								
								plugins/emotty/emotty_nature_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								plugins/emotty/emotty_nature_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
							
								
								
									
										25
									
								
								plugins/emotty/emotty_stellar_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								plugins/emotty/emotty_stellar_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
							
								
								
									
										29
									
								
								plugins/emotty/emotty_zodiac_set.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								plugins/emotty/emotty_zodiac_set.zsh
									
									
									
									
									
										Normal file
									
								
							@ -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
 | 
			
		||||
  "
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user