#pragma once #include "interfaces/cursor.hpp" #include "interfaces/window.hpp" #include enum StatusLineSection { A, B }; // NOLINTNEXTLINE(cppcoreguidelines-special-member-functions) class IStatusLine { public: virtual ~IStatusLine() noexcept = default; virtual void initialize_background() noexcept = 0; virtual void set_status(StatusLineSection section, const std::string_view &str) noexcept = 0; }; using IStatusLineFactory = std::shared_ptr (*)( const std::shared_ptr &cursor_controller, const std::shared_ptr &window);