RegexColorizer: store ColorPairs by pointer so that alias changes are taken into account
This commit is contained in:
parent
a92a6dc7f3
commit
b245b39a85
|
@ -53,7 +53,7 @@ void highlight_range(DisplayBuffer& display_buffer,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef std::unordered_map<size_t, std::pair<Color, Color>> ColorSpec;
|
typedef std::unordered_map<size_t, const ColorPair*> ColorSpec;
|
||||||
|
|
||||||
class RegexColorizer
|
class RegexColorizer
|
||||||
{
|
{
|
||||||
|
@ -77,8 +77,8 @@ public:
|
||||||
|
|
||||||
highlight_range(display_buffer, match[n].first, match[n].second, true,
|
highlight_range(display_buffer, match[n].first, match[n].second, true,
|
||||||
[&](DisplayAtom& atom) {
|
[&](DisplayAtom& atom) {
|
||||||
atom.fg_color = col_it->second.first;
|
atom.fg_color = col_it->second->first;
|
||||||
atom.bg_color = col_it->second.second;
|
atom.bg_color = col_it->second->second;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,8 +132,8 @@ HighlighterAndId colorize_regex_factory(Window& window,
|
||||||
"' expected <capture>:<fgcolor>[,<bgcolor>]");
|
"' expected <capture>:<fgcolor>[,<bgcolor>]");
|
||||||
|
|
||||||
int capture = str_to_int(String(res[1].first, res[1].second));
|
int capture = str_to_int(String(res[1].first, res[1].second));
|
||||||
ColorPair& color = colors[capture];
|
const ColorPair*& color = colors[capture];
|
||||||
color = ColorRegistry::instance()[String(res[2].first, res[2].second)];
|
color = &ColorRegistry::instance()[String(res[2].first, res[2].second)];
|
||||||
}
|
}
|
||||||
|
|
||||||
String id = "colre'" + params[0] + "'";
|
String id = "colre'" + params[0] + "'";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user