From fd76b100bdfd8be3d8df66f014cdeea3d3619831 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Sat, 27 Dec 2008 22:41:47 +0100
Subject: [PATCH] improve handling of tab searching

---
 src/plugins/fakevim/handler.cpp | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/plugins/fakevim/handler.cpp b/src/plugins/fakevim/handler.cpp
index 255892e3ed3..3f2a2849efc 100644
--- a/src/plugins/fakevim/handler.cpp
+++ b/src/plugins/fakevim/handler.cpp
@@ -290,7 +290,16 @@ void FakeVimHandler::Private::finishMovement()
 void FakeVimHandler::Private::updateMiniBuffer()
 {
     QString msg;
-    msg = QChar(m_commandCode ? m_commandCode : ' ') + m_commandBuffer;
+    msg = QChar(m_commandCode ? m_commandCode : ' ');
+    for (int i = 0; i != m_commandBuffer.size(); ++i) {
+        QChar c = m_commandBuffer.at(i);
+        if (c.unicode() < 64) {
+            msg += '^';
+            msg += QChar(c.unicode() + 64);
+        } else {
+            msg += c;
+        }
+    }
     int l = cursorLineInDocument();
     int w = columnsOnScreen();
     msg += QString(w, ' ');
@@ -633,6 +642,9 @@ void FakeVimHandler::Private::handleExMode(int key, const QString &text)
             m_commandBuffer = m_searchHistory.at(m_searchHistoryIndex);
         }
         updateMiniBuffer();
+    } else if (key == Key_Tab) {
+        m_commandBuffer += QChar(9);
+        updateMiniBuffer();
     } else {
         m_commandBuffer += QChar(key);
         updateMiniBuffer();
-- 
GitLab