Skip to content

Replace text with emoji while typing - #549

Merged
boxdot merged 3 commits into
boxdot:mainfrom
Limero:emoji-while-typing
Jul 11, 2026
Merged

Replace text with emoji while typing#549
boxdot merged 3 commits into
boxdot:mainfrom
Limero:emoji-while-typing

Conversation

@Limero

@Limero Limero commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Currently, you need to send the text containing emoji shortcodes for them to be replaced with actual emojis. This change makes it automatically replace them as you are typing, so :smile: becomes 😄 right as you type the second :.

I looked into showing a pop-up while typing with the different options, but that seems way more complex. Adding tab completion as a follow-up to this might be quite simple though.

Otherwise, it is impossible to type text like xtask::shell::foobar
without converting it to emoji.

Also add tests.

@boxdot boxdot left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

This is definitely a pragmatic approach to this feature. I added some tests and modified the feature a little bit: now a shortcode is only replaces when it is in the beginning of word (that is, at the beginning of input or has whitespace before it). This allows to type text like xtask::shell::foo without actually converting the middle of it to an emoji.

@boxdot
boxdot enabled auto-merge (squash) July 11, 2026 17:37
@boxdot
boxdot merged commit e9a3692 into boxdot:main Jul 11, 2026
10 checks passed
boxdot pushed a commit that referenced this pull request Jul 11, 2026
Follow-up to #549

This makes tab work to autocomplete emoji. For example, typing `:la` and
pressing tab will input `:laughing`, which you can then turn into an
actual emoji by finishing with `:`.

For emojis with multiple options, you can toggle through them by
pressing tab again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants