summaryrefslogtreecommitdiff
path: root/src/editor.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-01-03 14:00:31 +0100
committerMaxime Coste <frrrwww@gmail.com>2013-01-03 14:00:31 +0100
commit02b9fcc3dff812ece35c5e565732afeff50fb035 (patch)
tree899897e6fc219ff0e2850eff2a30825f12ed5730 /src/editor.cc
parent9fb012906136650488983d0a91612b587ef59ea4 (diff)
Editor: add a ReplaceLast select mode
Diffstat (limited to 'src/editor.cc')
-rw-r--r--src/editor.cc7
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)