diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-09-07 14:29:29 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-09-07 14:29:29 +0200 |
| commit | 287628ec19d42f2ff2323972c2e1e4975b3e146f (patch) | |
| tree | dd7fc2fce688839e1815aa20917fd0ed70353ac6 /src/editor.cc | |
| parent | 1e18dcba0f0e63792ccf64e167e039f2a4733815 (diff) | |
Editor::{select,move_cursor} takes a enum SelectMode parameter instead of a boolean
Diffstat (limited to 'src/editor.cc')
| -rw-r--r-- | src/editor.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/editor.cc b/src/editor.cc index 8de99e02..8775a013 100644 --- a/src/editor.cc +++ b/src/editor.cc @@ -111,13 +111,14 @@ void Editor::pop_selections() throw runtime_error("no more selections on stack"); } -void Editor::move_selections(const BufferCoord& offset, bool append) +void Editor::move_selections(const BufferCoord& offset, SelectMode mode) { + assert(mode == SelectMode::Replace or mode == SelectMode::Extend); for (auto& sel : m_selections.back()) { BufferCoord pos = m_buffer.line_and_column_at(sel.last()); BufferIterator last = m_buffer.iterator_at(pos + offset, true); - sel = Selection(append ? sel.first() : last, last); + sel = Selection(mode == SelectMode::Extend ? sel.first() : last, last); } } @@ -160,7 +161,7 @@ void Editor::select(const BufferIterator& iterator) m_selections.back().push_back(Selection(iterator, iterator)); } -void Editor::select(const Selector& selector, bool append) +void Editor::select(const Selector& selector, SelectMode mode) { check_invariant(); @@ -170,7 +171,7 @@ void Editor::select(const Selector& selector, bool append) for (auto& sel : m_selections.back()) { SelectionAndCaptures res = selector(sel); - if (append) + if (mode == SelectMode::Extend) sel.merge_with(res.selection); else sel = std::move(res.selection); |
