Skip to content

Commit

Permalink
Chat: Remove prompt history duplicates (#6762)
Browse files Browse the repository at this point in the history
  • Loading branch information
SmallJoker committed Dec 14, 2017
1 parent 551c123 commit 6e5109f
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions src/chat.cpp
Expand Up @@ -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"

Expand Down Expand Up @@ -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();
Expand Down

0 comments on commit 6e5109f

Please sign in to comment.