From 1b13122cd103e3df80631fc1446889b89d995429 Mon Sep 17 00:00:00 2001 From: hluk Date: Mon, 5 Aug 2013 18:02:50 +0200 Subject: [PATCH] FakeVim: Fix Vk command Fixes visual representation (selection exported to editor widget) of "Vk" command on empty line. Change-Id: Iac5fabe53a65d7b94d0a1ed02aff3a7b3804a37b Reviewed-by: hjk --- src/plugins/fakevim/fakevimhandler.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index e1fc84fe136..3b6936d091e 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -2273,12 +2273,7 @@ void FakeVimHandler::Private::exportSelection() ++anc; else ++pos; - } else if (anc > pos) { - ++anc; - } - setAnchorAndPosition(anc, pos); - - if (g.visualMode == VisualBlockMode) { + setAnchorAndPosition(anc, pos); commitCursor(); emit q->requestSetBlockSelection(false); emit q->requestSetBlockSelection(true); @@ -2290,18 +2285,21 @@ void FakeVimHandler::Private::exportSelection() anc = firstPositionInLine(ancLine); } else { pos = firstPositionInLine(posLine); - anc = lastPositionInLine(ancLine); + anc = lastPositionInLine(ancLine) + 1; } // putting cursor on folded line will unfold the line, so move the cursor a bit if (!document()->findBlock(pos).isVisible()) ++pos; setAnchorAndPosition(anc, pos); } else if (g.visualMode == VisualCharMode) { - /* Nothing */ + if (anc > pos) + ++anc; } else { QTC_CHECK(false); } + setAnchorAndPosition(anc, pos); + setMark(QLatin1Char('<'), mark(QLatin1Char('<')).position); setMark(QLatin1Char('>'), mark(QLatin1Char('>')).position); } else {