#ifndef color_registry_hh_INCLUDED #define color_registry_hh_INCLUDED #include "color.hh" #include "utils.hh" #include "completion.hh" #include namespace Kakoune { class ColorRegistry : public Singleton { public: ColorRegistry(); const ColorPair& operator[](const String& colordesc); void register_alias(const String& name, const String& colordesc, bool override = false); CandidateList complete_alias_name(StringView prefix, ByteCount cursor_pos) const; private: std::unordered_map m_aliases; }; inline const ColorPair& get_color(const String& colordesc) { return ColorRegistry::instance()[colordesc]; } } #endif // color_registry_hh_INCLUDED