diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2012-09-03 23:46:04 +0200 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2012-09-03 23:46:04 +0200 |
| commit | 69bebdb44e90d9b338e69d415ba442396ac77841 (patch) | |
| tree | 99fd9a22251175adaf11f9f2751cfb0525e24030 /src/editor.cc | |
| parent | c61f9cbe6b76f1b8959856147deb4ee3d2e04c2b (diff) | |
fix open line above for first line and add a unit test
Diffstat (limited to 'src/editor.cc')
| -rw-r--r-- | src/editor.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/editor.cc b/src/editor.cc index fe00dd64..8de99e02 100644 --- a/src/editor.cc +++ b/src/editor.cc @@ -356,7 +356,18 @@ IncrementalInserter::IncrementalInserter(Editor& editor, Mode mode) } if (mode == Mode::OpenLineBelow or mode == Mode::OpenLineAbove) + { insert("\n"); + if (mode == Mode::OpenLineAbove) + { + for (auto& sel : m_editor.m_selections.back()) + { + // special case, the --first line above did nothing, so we need to compensate now + if (sel.first() == buffer().begin() + 1) + sel = Selection(buffer().begin(), buffer().begin()); + } + } + } } IncrementalInserter::~IncrementalInserter() |
