#ifndef ncurses_hh_INCLUDED #define ncurses_hh_INCLUDED #include #include #include "client.hh" namespace Kakoune { class NCursesClient : public Client { public: NCursesClient(); ~NCursesClient(); NCursesClient(const NCursesClient&) = delete; NCursesClient& operator=(const NCursesClient&) = delete; void draw_window(Window& window) override; void print_status(const String& status, CharCount cursor_pos) override; Key get_key() override; void show_menu(const memoryview& choices) override; void menu_ctrl(MenuCommand command) override; private: MENU* m_menu; std::vector m_items; std::vector m_counts; std::vector m_choices; int m_menu_fg; int m_menu_bg; }; } #endif // ncurses_hh_INCLUDED