diff options
Diffstat (limited to 'plugins/emotty')
-rw-r--r-- | plugins/emotty/README.md | 39 | ||||
-rw-r--r-- | plugins/emotty/emotty.plugin.zsh | 10 |
2 files changed, 47 insertions, 2 deletions
diff --git a/plugins/emotty/README.md b/plugins/emotty/README.md new file mode 100644 index 000000000..ee571705a --- /dev/null +++ b/plugins/emotty/README.md @@ -0,0 +1,39 @@ +# emotty plugin + +This plugin returns an emoji for the current $TTY number so it can be used +in a prompt. + +To use it, add emotty to the plugins array in your zshrc file: +``` +plugins=(... emotty) +``` + +**NOTE:** it requires the [emoji plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/emoji). + +## Usage + +The function `emotty` displays an emoji from the current character set (default: `emoji`), based +on the number associated to the `$TTY`. + +There are different sets of emoji characters available, to choose a different +set, set `$emotty_set` to the name of the set you would like to use, e.g.: +``` +emotty_set=nature +``` + +### Character Sets + +- emoji +- loral +- love +- nature +- stellar +- zodiac + +Use the `display_emotty` function to list the emojis in the current character set, or +the character set passed as the first argument. For example: + +``` +$ display_emotty zodiac +<list of all the emojis in the zodiac character set> +``` 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]}" } |