diff options
Diffstat (limited to 'plugins/emotty/emotty.plugin.zsh')
-rw-r--r-- | plugins/emotty/emotty.plugin.zsh | 13 |
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 |