diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2013-12-14 18:38:14 +0000 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2013-12-14 18:38:14 +0000 |
| commit | ce0e71aacb77e40fd2312f04482263ef00f21df9 (patch) | |
| tree | ede7dbe64fe35fb998845e17331771a5d16a5998 /src/editor.cc | |
| parent | 0c4d523b224439c3619603c914c016029c73c885 (diff) | |
Remove Editor::select methods, add a non-const selections getter
Diffstat (limited to 'src/editor.cc')
| -rw-r--r-- | src/editor.cc | 41 |
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: |
