scrollpad: pass boost::regex flags explicitly

This commit is contained in:
Andrzej Rybczak
2013-07-09 21:03:18 +02:00
parent 54d11a464c
commit 12c7dc2f5b
3 changed files with 11 additions and 10 deletions

View File

@@ -106,8 +106,8 @@ bool ArtistInfo::checkArgs(const Args &args)
void ArtistInfo::colorizeOutput(NC::Scrollpad &w) void ArtistInfo::colorizeOutput(NC::Scrollpad &w)
{ {
w.setProperties(NC::Format::Bold, "\n\nSimilar artists:\n", NC::Format::NoBold, 0); w.setProperties(NC::Format::Bold, "\n\nSimilar artists:\n", NC::Format::NoBold, 0, boost::regex::literal);
w.setProperties(Config.color2, "\n * ", NC::Color::End, 0); w.setProperties(Config.color2, "\n * ", NC::Color::End, 0, boost::regex::literal);
} }
bool ArtistInfo::parse(std::string &data) bool ArtistInfo::parse(std::string &data)

View File

@@ -26,10 +26,10 @@
namespace {// namespace {//
template <typename PropT> template <typename PropT>
bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, size_t id) bool regexSearch(NC::Buffer &buf, PropT begin, const std::string &ws, PropT end, size_t id, boost::regex::flag_type flags)
{ {
try { try {
boost::regex rx(ws, boost::regex::icase); boost::regex rx(ws, flags);
auto first = boost::sregex_iterator(buf.str().begin(), buf.str().end(), rx); auto first = boost::sregex_iterator(buf.str().begin(), buf.str().end(), rx);
auto last = boost::sregex_iterator(); auto last = boost::sregex_iterator();
bool success = first != last; bool success = first != last;
@@ -268,14 +268,14 @@ void Scrollpad::reset()
m_beginning = 0; m_beginning = 0;
} }
bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t id) bool Scrollpad::setProperties(Color begin, const std::string &s, Color end, size_t id, boost::regex::flag_type flags)
{ {
return regexSearch(m_buffer, begin, s, end, id); return regexSearch(m_buffer, begin, s, end, id, flags);
} }
bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t id) bool Scrollpad::setProperties(Format begin, const std::string &s, Format end, size_t id, boost::regex::flag_type flags)
{ {
return regexSearch(m_buffer, begin, s, end, id); return regexSearch(m_buffer, begin, s, end, id, flags);
} }
void Scrollpad::removeProperties(size_t id) void Scrollpad::removeProperties(size_t id)

View File

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