From 5fc6c3ddd7a087a22bf17362e860a69d244954d2 Mon Sep 17 00:00:00 2001 From: Lion Kortlepel Date: Sun, 8 Nov 2020 23:30:32 +0100 Subject: [PATCH] Implemented history on windows --- src/Console.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/Console.cpp b/src/Console.cpp index 86fae2d..ef283b3 100644 --- a/src/Console.cpp +++ b/src/Console.cpp @@ -131,7 +131,11 @@ static std::string CompositeInput; static bool CompositeInputExpected { false }; static void ProcessCompositeInput() { +#ifdef WIN32 + if (CompositeInput == "H") { +#else // unix if (CompositeInput.size() == 2 && memcmp(CompositeInput.data(), std::array { 91, 65 }.data(), 2) == 0) { +#endif // WIN32 // UP ARROW info(std::to_string(ConsoleHistoryReadIndex)); if (!ConsoleHistory.empty()) { @@ -140,7 +144,11 @@ static void ProcessCompositeInput() { } CInputBuff = ConsoleHistory.at(ConsoleHistoryReadIndex); } +#ifdef WIN32 + } else if (CompositeInput == "P") { +#else // unix } else if (CompositeInput.size() == 2 && memcmp(CompositeInput.data(), std::array { 91, 66 }.data(), 2) == 0) { +#endif // WIN32 // DOWN ARROW info(std::to_string(ConsoleHistoryReadIndex)); if (!ConsoleHistory.empty()) { @@ -171,7 +179,11 @@ static void ProcessCompositeInput() { //info(std::to_string(In)); if (CompositeInputExpected) { CompositeInput += In; +#ifdef WIN32 + if (CompositeInput.size() == 1) { +#else // unix if (CompositeInput.size() == 2) { +#endif // WIN32 CompositeInputExpected = false; ProcessCompositeInput(); }