diff options
author | Tom Praschan <13141438+tom-anders@users.noreply.github.com> | 2021-01-26 18:15:03 +0100 |
---|---|---|
committer | Tom Praschan <tom@praschan.de> | 2021-02-03 17:58:02 +0000 |
commit | b1f1ecb1b5ff44ed56137d3031b879dee9847287 (patch) | |
tree | 2f1e306000e0baeec4edd5a0acbe8575ebd6a89d /src/plugins/fakevim | |
parent | bcde1ead55328b060a09a814e5a365bd03ade5bf (diff) |
FakeVim: Fix dot command for pasting
Fixes: QTCREATORBUG-25281
Change-Id: Ic36b87672889442520941bcefa0f5ee14b77fbc6
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/fakevim')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 9 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 81eee1973f0..7e5a43a01e9 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -2526,6 +2526,15 @@ void FakeVimPlugin::test_vim_copy_paste() KEYS("gg\"yP", X "def" N "abc" N "abc" N "def" N "ghi"); KEYS("\"xP", X "abc" N "def" N "abc" N "abc" N "def" N "ghi"); + // QTCREATORBUG-25281 + data.setText(X "abc" N "def" N "ghi"); + KEYS("\"xyy", X "abc" N "def" N "ghi"); + KEYS("\"xp", "abc" N X "abc" N "def" N "ghi"); + KEYS("j", "abc" N "abc" N X "def" N "ghi"); + KEYS("yy", "abc" N "abc" N X "def" N "ghi"); + KEYS("\"xp", "abc" N "abc" N "def" N X "abc" N "ghi"); + KEYS(".", "abc" N "abc" N "def" N "abc" N X "abc" N "ghi"); + // delete to black hole register data.setText("aaa bbb ccc"); KEYS("yiww\"_diwP", "aaa aaa ccc"); diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index e4147e55806..b3b547c00e6 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -4520,6 +4520,8 @@ bool FakeVimHandler::Private::handleNoSubMode(const Input &input) } else if (input.isControl('o')) { jump(-count()); } else if (input.is('p') || input.is('P') || input.isShift(Qt::Key_Insert)) { + dotCommand = QString("\"%1%2p").arg(QChar(m_register)).arg(count()); + pasteText(!input.is('P')); setTargetColumn(); finishMovement(); |