dynregex: slight code refactor, moving a helper function to lambda
This commit is contained in:
parent
77b367b3e0
commit
179a1f6aa1
|
@ -484,14 +484,6 @@ private:
|
||||||
RegexHighlighter m_highlighter;
|
RegexHighlighter m_highlighter;
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename RegexGetter, typename FaceGetter>
|
|
||||||
std::unique_ptr<DynamicRegexHighlighter<RegexGetter, FaceGetter>>
|
|
||||||
make_dynamic_regex_highlighter(RegexGetter regex_getter, FaceGetter face_getter)
|
|
||||||
{
|
|
||||||
return std::make_unique<DynamicRegexHighlighter<RegexGetter, FaceGetter>>(
|
|
||||||
std::move(regex_getter), std::move(face_getter));
|
|
||||||
}
|
|
||||||
|
|
||||||
HighlighterAndId create_dynamic_regex_highlighter(HighlighterParameters params)
|
HighlighterAndId create_dynamic_regex_highlighter(HighlighterParameters params)
|
||||||
{
|
{
|
||||||
if (params.size() < 2)
|
if (params.size() < 2)
|
||||||
|
@ -509,6 +501,12 @@ HighlighterAndId create_dynamic_regex_highlighter(HighlighterParameters params)
|
||||||
faces.emplace_back(capture, String{colon+1, spec.end()});
|
faces.emplace_back(capture, String{colon+1, spec.end()});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
auto make_hl = [](auto& regex_getter, auto& face_getter) {
|
||||||
|
return std::make_unique<DynamicRegexHighlighter<std::decay_t<decltype(regex_getter)>,
|
||||||
|
std::decay_t<decltype(face_getter)>>>(
|
||||||
|
std::move(regex_getter), std::move(face_getter));
|
||||||
|
};
|
||||||
auto get_face = [faces](const Context& context){ return faces;; };
|
auto get_face = [faces](const Context& context){ return faces;; };
|
||||||
|
|
||||||
String expr = params[0];
|
String expr = params[0];
|
||||||
|
@ -520,7 +518,7 @@ HighlighterAndId create_dynamic_regex_highlighter(HighlighterParameters params)
|
||||||
auto get_regex = [option_name](const Context& context) {
|
auto get_regex = [option_name](const Context& context) {
|
||||||
return context.options()[option_name].get<Regex>();
|
return context.options()[option_name].get<Regex>();
|
||||||
};
|
};
|
||||||
return {format("dynregex_{}", expr), make_dynamic_regex_highlighter(get_regex, get_face)};
|
return {format("dynregex_{}", expr), make_hl(get_regex, get_face)};
|
||||||
}
|
}
|
||||||
|
|
||||||
auto get_regex = [expr](const Context& context){
|
auto get_regex = [expr](const Context& context){
|
||||||
|
@ -535,7 +533,7 @@ HighlighterAndId create_dynamic_regex_highlighter(HighlighterParameters params)
|
||||||
return Regex{};
|
return Regex{};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {format("dynregex_{}", expr), make_dynamic_regex_highlighter(get_regex, get_face)};
|
return {format("dynregex_{}", expr), make_hl(get_regex, get_face)};
|
||||||
}
|
}
|
||||||
|
|
||||||
HighlighterAndId create_line_highlighter(HighlighterParameters params)
|
HighlighterAndId create_line_highlighter(HighlighterParameters params)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user