summaryrefslogtreecommitdiff
path: root/src/highlighter_group.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-06-25 22:04:33 +1000
committerMaxime Coste <mawww@kakoune.org>2018-07-05 07:54:28 +1000
commitb4b335155edbc49a1f787519c08ead72d7cdc8ee (patch)
tree57f0026673d4c42c096388600948f25ccf4a7cc6 /src/highlighter_group.cc
parent18dfecfa9d112e536829aef72b073f276c32dee1 (diff)
Refactor add-highlighter to make naming explicit
The highlighter name must be given as part of the path of the highlighter, as the last element. Fixes #1712
Diffstat (limited to 'src/highlighter_group.cc')
-rw-r--r--src/highlighter_group.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/highlighter_group.cc b/src/highlighter_group.cc
index 173d8348..a686fc4d 100644
--- a/src/highlighter_group.cc
+++ b/src/highlighter_group.cc
@@ -24,17 +24,17 @@ void HighlighterGroup::fill_unique_ids(Vector<StringView>& unique_ids) const
hl.value->fill_unique_ids(unique_ids);
}
-void HighlighterGroup::add_child(HighlighterAndId&& hl)
+void HighlighterGroup::add_child(String name, std::unique_ptr<Highlighter>&& hl)
{
- if ((hl.second->passes() & passes()) != hl.second->passes())
+ if ((hl->passes() & passes()) != hl->passes())
throw runtime_error{"cannot add that highlighter to this group, passes don't match"};
- hl.first = replace(hl.first, "/", "<slash>");
+ name = replace(name, "/", "<slash>");
- if (m_highlighters.contains(hl.first))
- throw runtime_error(format("duplicate id: '{}'", hl.first));
+ if (m_highlighters.contains(name))
+ throw runtime_error(format("duplicate id: '{}'", name));
- m_highlighters.insert({std::move(hl.first), std::move(hl.second)});
+ m_highlighters.insert({std::move(name), std::move(hl)});
}
void HighlighterGroup::remove_child(StringView id)