summaryrefslogtreecommitdiff
path: root/src/editor.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2013-12-14 18:38:14 +0000
committerMaxime Coste <frrrwww@gmail.com>2013-12-14 18:38:14 +0000
commitce0e71aacb77e40fd2312f04482263ef00f21df9 (patch)
treeede7dbe64fe35fb998845e17331771a5d16a5998 /src/editor.cc
parent0c4d523b224439c3619603c914c016029c73c885 (diff)
Remove Editor::select methods, add a non-const selections getter
Diffstat (limited to 'src/editor.cc')
-rw-r--r--src/editor.cc41
1 files changed, 1 insertions, 40 deletions
diff --git a/src/editor.cc b/src/editor.cc
index 344acf5f..0863e94c 100644
--- a/src/editor.cc
+++ b/src/editor.cc
@@ -14,7 +14,7 @@ namespace Kakoune
Editor::Editor(Buffer& buffer)
: m_buffer(&buffer),
m_edition_level(0),
- m_selections(buffer, { {{},{}} })
+ m_selections(buffer, {BufferCoord{}})
{}
void Editor::erase()
@@ -151,45 +151,6 @@ void Editor::move_selections(LineCount offset, SelectMode mode)
m_selections.sort_and_merge_overlapping();
}
-void Editor::select(const Selection& selection, SelectMode mode)
-{
- if (mode == SelectMode::Replace)
- m_selections = SelectionList{ selection };
- else if (mode == SelectMode::Extend)
- {
- m_selections.main().merge_with(selection);
- m_selections = SelectionList{ std::move(m_selections.main()) };
- }
- else if (mode == SelectMode::Append)
- {
- m_selections.push_back(selection);
- m_selections.set_main_index(m_selections.size()-1);
- m_selections.sort_and_merge_overlapping();
- }
- else
- kak_assert(false);
- check_invariant();
-}
-
-void Editor::select(SelectionList selections)
-{
- if (selections.empty())
- throw runtime_error("no selections");
- m_selections = std::move(selections);
- check_invariant();
-}
-
-struct nothing_selected : public runtime_error
-{
- nothing_selected() : runtime_error("nothing was selected") {}
-};
-
-void Editor::select(const Selector& selector)
-{
- selector(*m_buffer, m_selections);
- check_invariant();
-}
-
class ModifiedRangesListener : public BufferChangeListener_AutoRegister
{
public: