diff options
author | hjk <hjk@qt.io> | 2023-07-04 08:18:23 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-07-04 07:05:43 +0000 |
commit | 418482b3e299840254c8d028597387a2fe4c7aac (patch) | |
tree | 7bd9d3a46dc4999201a740dc814c84943ae66101 | |
parent | 1d1eb9c3a219223d44a93d4cf71f4a6cd0af8cbb (diff) |
FakeVim: Assume UTF-8 for source also on Windows by default
... but make it configurable.
Fixes: QTCREATORBUG-29320
Change-Id: Ib377c78e51afb7d06167c66306250a281aa9279c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r-- | src/plugins/fakevim/fakevimactions.cpp | 4 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimactions.h | 1 | ||||
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 3 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/fakevim/fakevimactions.cpp b/src/plugins/fakevim/fakevimactions.cpp index de1f06f913..a6dc84b9b2 100644 --- a/src/plugins/fakevim/fakevimactions.cpp +++ b/src/plugins/fakevim/fakevimactions.cpp @@ -94,6 +94,7 @@ FakeVimSettings::FakeVimSettings() setup(&showCmd, true, "ShowCmd", "sc", Tr::tr("Show partial command")); setup(&relativeNumber, false, "RelativeNumber", "rnu", Tr::tr("Show line numbers relative to cursor")); setup(&blinkingCursor, false, "BlinkingCursor", "bc", Tr::tr("Blinking cursor")); + setup(&systemEncoding, false, "SystemEncoding", {}, Tr::tr("Use system encoding for :source")); setup(&scrollOff, 0, "ScrollOff", "so", Tr::tr("Scroll offset:")); setup(&backspace, "indent,eol,start", "Backspace", "bs", Tr::tr("Backspace:")); @@ -149,7 +150,8 @@ FakeVimSettings::FakeVimSettings() showCmd, startOfLine, passKeys, - blinkingCursor + blinkingCursor, + HostOsInfo::isWindowsHost() ? LayoutItem(systemEncoding) : empty }, Column { incSearch, diff --git a/src/plugins/fakevim/fakevimactions.h b/src/plugins/fakevim/fakevimactions.h index eea53f50c1..94ba02a7f3 100644 --- a/src/plugins/fakevim/fakevimactions.h +++ b/src/plugins/fakevim/fakevimactions.h @@ -151,6 +151,7 @@ public: FvBoolAspect emulateSurround; FvBoolAspect blinkingCursor; + FvBoolAspect systemEncoding; private: void setup(FvBaseAspect *aspect, const QVariant &value, diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index bb3586b632..8a9adac441 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -6625,7 +6625,8 @@ bool FakeVimHandler::Private::handleExSourceCommand(const ExCommand &cmd) } else if (!line.isEmpty() && !inFunction) { //qDebug() << "EXECUTING: " << line; ExCommand cmd; - QString commandLine = QString::fromLocal8Bit(line); + QString commandLine = s.systemEncoding() ? QString::fromLocal8Bit(line) + : QString::fromUtf8(line); while (parseExCommand(&commandLine, &cmd)) { if (!handleExCommandHelper(cmd)) break; |