3#include "terminalpp/core.hpp"
4#include "terminalpp/token.hpp"
9namespace terminalpp::detail {
11class TERMINALPP_EXPORT parser
16 std::optional<terminalpp::token> operator()(
byte input);
31 std::optional<terminalpp::token> parse_idle(
byte input);
32 std::optional<terminalpp::token> parse_cr(
byte input);
33 std::optional<terminalpp::token> parse_lf(
byte input);
34 std::optional<terminalpp::token> parse_escape(
byte input);
35 std::optional<terminalpp::token> parse_arguments(
byte input);
36 std::optional<terminalpp::token> parse_mouse0(
byte input);
37 std::optional<terminalpp::token> parse_mouse1(
byte input);
38 std::optional<terminalpp::token> parse_mouse2(
byte input);
44 mouse::event_type mouse_event_type_;
45 point mouse_coordinate_;
46 byte_storage argument_;
47 std::vector<byte_storage> arguments_;