From 1f078898887bf96e793772a80e0dae1e96eeadc8 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Sat, 25 May 2019 12:19:51 +0200 Subject: emotty: fix for undefined $TTY (FreeBSD) (#7844) See https://github.com/robbyrussell/oh-my-zsh/pull/6731#issuecomment-449653115 --- plugins/emotty/emotty.plugin.zsh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'plugins/emotty/emotty.plugin.zsh') diff --git a/plugins/emotty/emotty.plugin.zsh b/plugins/emotty/emotty.plugin.zsh index b0d24c322..e288b5cfb 100644 --- a/plugins/emotty/emotty.plugin.zsh +++ b/plugins/emotty/emotty.plugin.zsh @@ -25,8 +25,14 @@ 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/tty} % ${#${=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]}" } -- cgit v1.2.3-70-g09d2