#ifndef highlighter_registry_h_INCLUDED #define highlighter_registry_h_INCLUDED #include "string.hh" #include #include "highlighter.hh" #include "utils.hh" #include "completion.hh" #include "idvaluemap.hh" namespace Kakoune { class Window; class HighlighterGroup; typedef std::function HighlighterFactory; class HighlighterRegistry : public Singleton { public: void register_factory(const String& name, const HighlighterFactory& factory); void add_highlighter_to_window(Window& window, const String& factory_name, const HighlighterParameters& parameters); void add_highlighter_to_group(Window& window, HighlighterGroup& group, const String& factory_name, const HighlighterParameters& parameters); CandidateList complete_highlighter(const String& prefix, size_t cursor_pos); private: idvaluemap m_factories; }; } #endif // highlighter_registry_h_INCLUDED