#pragma once #include #include #include #include #include #include class Input { BAN_NON_COPYABLE(Input); BAN_NON_MOVABLE(Input); public: Input(); BAN::Optional get_input(BAN::Optional custom_prompt); private: BAN::String parse_ps1_prompt(); private: BAN::String m_hostname; BAN::Vector m_buffers; size_t m_buffer_index { 0 }; size_t m_buffer_col { 0 }; BAN::Optional m_tab_index; BAN::Optional> m_tab_completions; size_t m_tab_completion_keep { 0 }; int m_waiting_utf8 { 0 }; };