diff options
author | hluk <hluk@email.cz> | 2013-08-20 14:37:15 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2013-08-29 11:10:36 +0200 |
commit | 41785890d632b2c12fcbdafa4185ce7a26249fd5 (patch) | |
tree | 8855ecc9aa553b043d09f375612cdb721dc10b10 /src | |
parent | a60cf5d0fa6e74198170a0577f6d5922418edab1 (diff) | |
download | qt-creator-41785890d632b2c12fcbdafa4185ce7a26249fd5.tar.gz |
FakeVim: Escape '>' character in mappings
On some keyboards, '>' character can be produced using Shift key. But
recorded macro shouldn't contain '<S->>', which cannot be properly
parsed, instead it will be '<S-<GT>>' (as '<LT>' for '<').
Change-Id: Iac3759029b6ff8c9e690c4728e35048c0b6046f9
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/fakevim/fakevim_test.cpp | 4 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/fakevim/fakevim_test.cpp b/src/plugins/fakevim/fakevim_test.cpp index 2e3125e948..4a78decf99 100644 --- a/src/plugins/fakevim/fakevim_test.cpp +++ b/src/plugins/fakevim/fakevim_test.cpp @@ -3174,6 +3174,10 @@ void FakeVimPlugin::test_macros() KEYS("@x", "def" N X "abc"); KEYS("gg@x", "abc" N X "def"); data.doCommand("unmap <S-down>"); + + data.setText(" abc xyz>." N " def xyz>." N " ghi xyz>." N " jkl xyz>."); + KEYS("qq" "^wdf>j" "q", " abc ." N " def " X "xyz>." N " ghi xyz>." N " jkl xyz>."); + KEYS("2@q", " abc ." N " def ." N " ghi ." N " jkl " X "xyz>."); } void FakeVimPlugin::test_vim_qtcreator() diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 4e9c2d05d1..5857665d2e 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -725,6 +725,7 @@ static const QMap<QString, int> &vimKeyNames() k.insert(_("RIGHT"), Key_Right); k.insert(_("LT"), Key_Less); + k.insert(_("GT"), Key_Greater); k.insert(_("F1"), Key_F1); k.insert(_("F2"), Key_F2); @@ -1007,6 +1008,8 @@ public: if (!namedKey) { if (m_xkey == '<') key = _("<LT>"); + else if (m_xkey == '>') + key = _("<GT>"); else key = QChar(m_xkey); } |