format: support 256 colors and backgrounds in formats

master
Andrzej Rybczak 12 years ago
parent 6c422da3c9
commit 7d2ac5daa4
  1. 15
      src/format.cpp

@ -132,7 +132,7 @@ expressions<CharT> parseBracket(const string<CharT> &s,
unsigned delimiter = 0; unsigned delimiter = 0;
if (isdigit(*it)) if (isdigit(*it))
{ {
std::string sdelimiter; string<CharT> sdelimiter;
do do
sdelimiter += *it++; sdelimiter += *it++;
while (it != end && isdigit(*it)); while (it != end && isdigit(*it));
@ -185,6 +185,19 @@ expressions<CharT> parseBracket(const string<CharT> &s,
else else
throwError(s, it, invalidCharacter(*it)); throwError(s, it, invalidCharacter(*it));
} }
else if (*it == '(')
{
++it;
rangeCheck(s, it, end);
string<CharT> scolor;
do
scolor += *it++;
while (it != end && *it != ')');
rangeCheck(s, it, end);
result.push_back(boost::lexical_cast<NC::Color>(
convertString<char, CharT>::apply(scolor)
));
}
else else
throwError(s, it, invalidCharacter(*it)); throwError(s, it, invalidCharacter(*it));
} }

Loading…
Cancel
Save