24 unsigned char Current();
35 TERMINAL_NAME_VERSION,
37 TERMINAL_CAPABILITIES,
41 struct CursorPosition {
46 struct TerminalNameVersion {
51 struct TerminalEmulator {
56 struct TerminalCapabilities {
57 std::vector<int> capabilities;
64 CursorPosition cursor{};
68 std::string terminal_name;
69 std::string terminal_version_string;
70 std::vector<int> terminal_capabilities;
76 void Send(Output output);
83 Output ParseMouse(
bool altered,
bool pressed, std::vector<int> arguments);
84 Output ParseCursorPosition(std::vector<int> arguments);
85 Output ParseDeviceAttributes(
bool altered_greater,
86 bool altered_question,
87 std::vector<int> arguments);
89 std::function<void(Event)> out_;