actions: respect regular expression config when searching in text fields

This commit is contained in:
Andrzej Rybczak
2015-05-17 16:30:11 +02:00
parent 12db40849c
commit c68631b2f0
4 changed files with 8 additions and 8 deletions

View File

@@ -1812,7 +1812,7 @@ void Find::run()
Statusbar::print("Searching...");
auto s = static_cast<Screen<NC::Scrollpad> *>(myScreen);
s->main().removeProperties();
if (token.empty() || s->main().setProperties(NC::Format::Reverse, token, NC::Format::NoReverse))
if (token.empty() || s->main().setProperties(NC::Format::Reverse, token, NC::Format::NoReverse, Config.regex_type))
Statusbar::print("Done");
else
Statusbar::print("No matching patterns found");

View File

@@ -27,7 +27,7 @@
namespace {
template <typename PropT>
bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, size_t id, boost::regex::flag_type flags)
bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, boost::regex::flag_type flags, size_t id)
{
try {
boost::regex rx(ws, flags);
@@ -273,14 +273,14 @@ void Scrollpad::reset()
m_beginning = 0;
}
bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t id, boost::regex::flag_type flags)
bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t flags, size_t id)
{
return regexSearch(m_buffer, std::move(begin), s, std::move(end), id, flags);
}
bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t id, boost::regex::flag_type flags)
bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t flags, size_t id)
{
return regexSearch(m_buffer, begin, s, end, id, flags);
return regexSearch(m_buffer, begin, s, end, flags, id);
}
void Scrollpad::removeProperties(size_t id)

View File

@@ -21,7 +21,6 @@
#ifndef NCMPCPP_SCROLLPAD_H
#define NCMPCPP_SCROLLPAD_H
#include <boost/regex.hpp>
#include "window.h"
#include "strbuffer.h"
@@ -47,8 +46,8 @@ struct Scrollpad: public Window
void flush();
void reset();
bool setProperties(Color begin, const std::string &s, Color end, size_t id = -2, boost::regex::flag_type flags = boost::regex::icase);
bool setProperties(Format begin, const std::string &s, Format end, size_t id = -2, boost::regex::flag_type flags = boost::regex::icase);
bool setProperties(Color begin, const std::string &s, Color end, size_t flags, size_t id = -2);
bool setProperties(Format begin, const std::string &s, Format end, size_t flags, size_t id = -2);
void removeProperties(size_t id = -2);
template <typename ItemT>