210 else if(str.size() == 1)
217 else if(str ==
"\033[I")
222 else if(str ==
"\033[O")
227 else if(str.size() == 2 && str[0] ==
'\033')
232 else if(str[0] ==
'\033' && str[1] ==
'[' && str[str.size() - 1] ==
'R')
234 std::size_t found = str.find(
';', 2);
235 if(found != std::string::npos)
238 m_container.m_Cursor =
Cursor({
Row(std::stoi(str.substr(2, found - 2))),
Column(std::stoi(str.substr(found + 1, str.size() - (found + 2))))});
241 else if(str[0] ==
'\033' && str[1] ==
'[' && str[2] ==
'<')
243 static std::chrono::time_point<std::chrono::system_clock> old;
244 bool not_too_long{
false};
245 if(std::chrono::system_clock::now() - old <= std::chrono::milliseconds{120}) not_too_long =
true;
249 std::vector<std::size_t> values;
250 while((pos = str.find(
';', pos)) != std::string::npos)
252 values.push_back(std::stoull(str.substr(pos2, pos - pos2)));
256 values.push_back(std::stoull(str.substr(pos2, str.size() - pos2 - 1)));
305 old = std::chrono::system_clock::now();
307 else if(str.size() <= 10)
338 else if((str ==
"\u001bOH") || (str ==
"\u001b[H"))
340 else if(str ==
"\u001bOF" || str ==
"\u001b[F")
363 else if(str ==
"\u001bOP" || str ==
"\u001b[11~")
365 else if(str ==
"\u001bOQ" || str ==
"\u001b[12~")
367 else if(str ==
"\u001bOR" || str ==
"\u001b[13~")
369 else if(str ==
"\u001bOS" || str ==
"\u001b[14~")
371 else if(str ==
"\u001b[15~")
373 else if(str ==
"\u001b[17~")
375 else if(str ==
"\u001b[18~")
377 else if(str ==
"\u001b[19~")
379 else if(str ==
"\u001b[20~")
381 else if(str ==
"\u001b[21~")
383 else if(str ==
"\u001b[23~")
385 else if(str ==
"\u001b[24~")
417 else if(str ==
"\u001b[25~")
419 else if(str ==
"\u001b[26~")
421 else if(str ==
"\u001b[28~")
423 else if(str ==
"\u001b[29~")
425 else if(str ==
"\u001b[31~")
427 else if(str ==
"\u001b[32~")
429 else if(str ==
"\u001b[33~")
431 else if(str ==
"\u001b[34~")
433 else if(str ==
"\u001b[G")