#emoji #search #commit-message #gitmoji #command-line #command-line-interface #descriptions

bin+lib gmocli

gmocli provides a command-line interface for searching emoji characters with associated gitmoji descriptions

3 releases (stable)

1.1.0 Mar 1, 2024
1.0.0 Dec 18, 2023
1.0.0-alpha.1 Dec 16, 2023

#2438 in Command line utilities

MIT license

99KB
341 lines

gmocli

gmocli provides a command-line interface for searching emoji characters with associated gitmoji descriptions.

It uses combined data from Mange/emoji-data and carloscuesta/gitmoji.

Homepage: https://github.com/duhdugg/gmocli

Usage

Usage:	gmocli [OPTIONS] <search>

OPTIONS:
-h | --help 	print this help
-l | --list 	list all emoji characters
-i | --info 	include info
-n | --name 	match name exactly

  --version 	print version and exit

Examples

list all emoji characters with their name, info, and gitmoji description (if available)

gmocli -li

search for an emoji using keywords

gmocli -i dog
# output
🐶 dog face | Animals & Nature / animal-mammal | dog,face,pet
🐕 dog | Animals & Nature / animal-mammal | dog,pet
🦮 guide dog | Animals & Nature / animal-mammal | accessibility,blind,guide,guide dog
🐕‍🦺 service dog | Animals & Nature / animal-mammal | accessibility,assistance,dog,service
🐩 poodle | Animals & Nature / animal-mammal | dog,poodle
🌭 hot dog | Food & Drink / food-prepared | frankfurter,hot dog,hotdog,sausage

print a specific emoji by name

if the name is more than one word, it should be enclosed in quotes

gmocli -n 'guide dog'
# output
🦮

use in a commit message

git commit -m "$(gmocli -n rocket) production launch"

use with dmenu, fzf, or rofi

For interactive searching, you can pipe the output of gmocli -li to something like dmenu, fzf, or rofi as follows:

gmocli -li | fzf | cut -d' ' -f1 | tr -d '\n'  # | xclip or whatever

Troubleshooting

my terminal is not displaying all emoji characters

Your mileage may vary on terminal support for displaying emoji consisting of 2 or more characters joined by a zero-width joiner character (U+200D). The "service dog" emoji (🐕‍🦺) is one such example. Even with a proper font config, it will appear on many terminals as a dog next to a safety vest (🐕🦺).

Currently, the best configuration tested with gmocli -li is the wezterm terminal with the Noto Color Emoji font installed and configured in your fontconfig. kitty also works well.

License

This software is released under the MIT License. See LICENSE for details.

This software includes source files from third party components, Gitmoji and Unicode CLDR. Each of these components have their own license. See data/gitmoji/gitmoji-license.txt and data/emoji/unicode-license.txt.

Contributing

Pull requests are welcome at https://github.com/duhdugg/gmocli/pulls

Submit issues at https://github.com/duhdugg/gmocli/issues

No runtime deps