summaryrefslogtreecommitdiff
path: root/plugins/emotty/emotty.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/emotty/emotty.plugin.zsh')
-rw-r--r--plugins/emotty/emotty.plugin.zsh13
1 files changed, 10 insertions, 3 deletions
diff --git a/plugins/emotty/emotty.plugin.zsh b/plugins/emotty/emotty.plugin.zsh
index b32dd1a4c..e288b5cfb 100644
--- a/plugins/emotty/emotty.plugin.zsh
+++ b/plugins/emotty/emotty.plugin.zsh
@@ -25,14 +25,21 @@ 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 ))
+
+ # Parse tty number via prompt expansion. %l equals:
+ # - N if tty = /dev/ttyN
+ # - pts/N if tty = /dev/pts/N
+ local tty = ${${(%):-%l}##pts/}
+ # Normalize it to an emotty set index
+ (( tty = (tty % ${#${=emotty}}) + 1 ))
+
local character_name=${${=emotty}[tty]}
echo "${emoji[${character_name}]}${emoji2[emoji_style]}"
}
function display_emotty() {
- local name=$1
+ local name=${1:-$emotty_set}
+ echo $name
for i in ${=_emotty_sets[$name]}; do
printf "${emoji[$i]}${emoji2[emoji_style]} "
done