Support quick type ahead for Emoji matching

I often use emojis in my notes, and the :colon matching for emoji typing is a great time saver.

However, for instance, if I want to use the :arrow_right: emoji (arrow_right) I have to type “:arrow_r” before I narrow it down to a the correct emoji, as there are a lot of arrow emojis!

I’m not sure of the correct terminology, but what I want is to be able to type any of the characters in the emoji name, and for the suggestions popup to filter out only those emojis that match, but without having to type all the partial name correctly.

For instance, for ‘arrow_right’, I’d like to be able to type ‘:arrr’ or ':arrt’ instead of ‘:arrow_r’ .

This would actually be quite a time saver for me, as I use this emoji specifically many times a day.

This seems to work for me. I typed “arr_r” and got a bunch of right arrows.

There is probably some fuzzy logic in determining a match, so your mileage may vary, but I think you can probably figure out ways to get what you want, and use those in future.

You are right - I noticed that works - but you have to type the ‘_’ underscore, which is always a bit awkward. I guess what I’m asking for is to be able to type any characters in the emoji name and for it to match. It seems to not work unless you include the underscore

You could try text-replacement, where typing ‘Pcrt’ (Picture Creativity) for example always becomes :bulb: in my case.

1 Like

I think it splits the search on the underscores. It is probably matching the start of each part of the search. Eg. “arr_r” will be matching “arr” and “r”.

With this knowledge, maybe you can com up with things that work. Eg. You can type “r_a” or “a_r”. Both match.

Matching any combination of characters anywhere is very challenging in general for searching in a database. I don’t think it would be trivial to do that, but we’ll take it along.

Thanks for the feedback and suggestisons.

Just for refrence, I wanted to pointed that Slack does exactly what I’m asking:

…although, it looks like Slack might just be sorting on most recently used, or something (which might also be a good option for Agenda to adopt).

Sure, not saying it is impossible or anything, just that it is more involved. Not sure what library we are using for this, and whether it can do that. I’ll look into it…