diff options
| author | Maxime Coste <mawww@kakoune.org> | 2018-06-25 22:04:33 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2018-07-05 07:54:28 +1000 |
| commit | b4b335155edbc49a1f787519c08ead72d7cdc8ee (patch) | |
| tree | 57f0026673d4c42c096388600948f25ccf4a7cc6 /src/highlighter_group.cc | |
| parent | 18dfecfa9d112e536829aef72b073f276c32dee1 (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.cc | 12 |
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) |
