summaryrefslogtreecommitdiff
path: root/plugins/emotty/emotty.plugin.zsh
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2019-05-25 12:19:51 +0200
committerGitHub <noreply@github.com>2019-05-25 12:19:51 +0200
commit1f078898887bf96e793772a80e0dae1e96eeadc8 (patch)
treeb4db9700717fce2969c4d924ac5fc1a035b44a46 /plugins/emotty/emotty.plugin.zsh
parent8d4d766bac7b7dc3a7b11dce12ce0468d5e49c91 (diff)
downloadzsh-1f078898887bf96e793772a80e0dae1e96eeadc8.tar.gz
zsh-1f078898887bf96e793772a80e0dae1e96eeadc8.tar.bz2
zsh-1f078898887bf96e793772a80e0dae1e96eeadc8.zip
emotty: fix for undefined $TTY (FreeBSD) (#7844)
See https://github.com/robbyrussell/oh-my-zsh/pull/6731#issuecomment-449653115
Diffstat (limited to 'plugins/emotty/emotty.plugin.zsh')
-rw-r--r--plugins/emotty/emotty.plugin.zsh10
1 files changed, 8 insertions, 2 deletions
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]}"
}