summaryrefslogtreecommitdiff
path: root/src/editor.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-09-03 23:46:04 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-09-03 23:46:04 +0200
commit69bebdb44e90d9b338e69d415ba442396ac77841 (patch)
tree99fd9a22251175adaf11f9f2751cfb0525e24030 /src/editor.cc
parentc61f9cbe6b76f1b8959856147deb4ee3d2e04c2b (diff)
fix open line above for first line and add a unit test
Diffstat (limited to 'src/editor.cc')
-rw-r--r--src/editor.cc11
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()