#pragma once #include "concurrentmap.hpp" #include "messages/lazyloadedimage.hpp" #include #include #include #include namespace chatterino { class Emojis { public: static void parseEmojis(std::vector> &vector, const QString &text); static void loadEmojis(); static QString replaceShortCodes(const QString &text); struct EmojiData { QString value; QString code; }; private: static QRegularExpression findShortCodesRegex; static QMap shortCodeToEmoji; static QMap emojiToShortCode; static QMap> firstEmojiChars; static ConcurrentMap imageCache; Emojis() { } }; } // namespace chatterino