rsmoji 0.4.1

✨ Gitmojis, now oxidized! 🦀
rsmoji-0.4.1 is not a library.

💖 rsmoji 🦀

Hello there! w

This is a simple rust CLI tool to add emojis to commits! It uses crossterm, unicode-segmentation and clap

✨ Features

  • 😃 It adds emojis to git commits
  • 🖊️ You can tell it to manually sign a commit (-S or --sign flag)
  • 💬 It can add multi-line commit descriptions
  • 🚧 The end for now :( (see roadmap for details)

Installation - using cargo (crates.io)

First, ensure you have rust installed on your system, and then run:

cargo install rsmoji

You also have to add $HOME/.cargo/bin to your $PATH

# bash
echo 'export PATH="$PATH:$HOME/.cargo/bin"' >> ~/.bashrc
# zsh
echo 'export PATH="$PATH:$HOME/.cargo/bin"' >> ~/.zshrc

To update, you can use cargo-update, install it with cargo install cargo-update, and then you can run:

cargo-install-update install-update rsmoji

Usage

Just run rsmoji without any additional arguments (obviously you need git)

You can use emacs keybindings to move the cursor while typing (Ctrl b, Ctrl f, Ctrl p, Ctrl n)

Roadmap

  • Manually sign commits (-S)
  • Support commit description (not only title)
    • disable/enable with flag
    • go back up to a previous line to edit
  • Support signed tags message
  • Support merge messages
  • Themes (built in and custom)
  • API to update emoji list dynamically (optional)

License

Licensed MIT OR Apache-2.0 (./LICENSE-MIT and ./LICENSE-APACHE respectively)

Credits

The default colors are catppuccin-mocha

The project was heavily inspired by gitmoji, and the emoji list for this project is taken from there. I made this mainly because I wanted more features (which I still haven't implemented completely), I wanted to learn rust and I wanted something faster