diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-01-03 14:00:31 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-01-03 14:00:31 +0100 |
| commit | 02b9fcc3dff812ece35c5e565732afeff50fb035 (patch) | |
| tree | 899897e6fc219ff0e2850eff2a30825f12ed5730 /src/editor.cc | |
| parent | 9fb012906136650488983d0a91612b587ef59ea4 (diff) | |
Editor: add a ReplaceLast select mode
Diffstat (limited to 'src/editor.cc')
| -rw-r--r-- | src/editor.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/editor.cc b/src/editor.cc index 40de7138..a7db8179 100644 --- a/src/editor.cc +++ b/src/editor.cc @@ -241,6 +241,8 @@ void Editor::select(const Selection& selection, SelectMode mode) m_selections.push_back(selection); sort_and_merge_overlapping(m_selections); } + else + assert(false); check_invariant(); } @@ -262,6 +264,11 @@ void Editor::select(const Selector& selector, SelectMode mode) res.captures() = sel.captures(); m_selections.push_back(res); } + else if (mode == SelectMode::ReplaceLast) + { + auto& sel = m_selections.back(); + sel = selector(sel); + } else { for (auto& sel : m_selections) |
