Skip to content
Permalink
Browse files

Chat: Remove prompt history duplicates (#6762)

  • Loading branch information...
SmallJoker committed Dec 14, 2017
1 parent 551c123 commit 6e5109fd46fa93335aa8bc7d5e3edb738980241f
Showing with 13 additions and 4 deletions.
  1. +13 −4 src/chat.cpp
@@ -18,11 +18,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/

#include "chat.h"
#include "debug.h"
#include "config.h"
#include "util/strfnd.h"

#include <algorithm>
#include <cctype>
#include <sstream>

#include "config.h"
#include "debug.h"
#include "util/strfnd.h"
#include "util/string.h"
#include "util/numeric.h"

@@ -403,8 +406,14 @@ void ChatPrompt::input(const std::wstring &str)

void ChatPrompt::addToHistory(std::wstring line)
{
if (!line.empty())
if (!line.empty() &&
(m_history.size() == 0 || m_history.back() != line)) {
// Remove all duplicates
m_history.erase(std::remove(m_history.begin(), m_history.end(),
line), m_history.end());
// Push unique line
m_history.push_back(line);
}
if (m_history.size() > m_history_limit)
m_history.erase(m_history.begin());
m_history_index = m_history.size();

0 comments on commit 6e5109f

Please sign in to comment.
You can’t perform that action at this time.