aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/git/giteditor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/git/giteditor.cpp')
-rw-r--r--src/plugins/git/giteditor.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp
index 24acb25861..940945d3be 100644
--- a/src/plugins/git/giteditor.cpp
+++ b/src/plugins/git/giteditor.cpp
@@ -38,6 +38,7 @@
#include <vcsbase/vcsbaseeditorconfig.h>
#include <vcsbase/vcsoutputwindow.h>
+#include <utils/ansiescapecodehandler.h>
#include <utils/qtcassert.h>
#include <utils/temporaryfile.h>
@@ -205,6 +206,20 @@ void GitEditorWidget::setPlainText(const QString &text)
// If desired, filter out the date from annotation
switch (contentType())
{
+ case LogOutput: {
+ Utils::AnsiEscapeCodeHandler handler;
+ const QList<Utils::FormattedText> formattedTextList
+ = handler.parseText(Utils::FormattedText(text));
+
+ clear();
+ QTextCursor cursor = textCursor();
+ cursor.beginEditBlock();
+ for (const auto &formattedChunk : formattedTextList)
+ cursor.insertText(formattedChunk.text, formattedChunk.format);
+ cursor.endEditBlock();
+
+ return;
+ }
case AnnotateOutput:
modText = sanitizeBlameOutput(text);
break;
@@ -247,7 +262,7 @@ void GitEditorWidget::applyDiffChunk(const DiffChunk& chunk, bool revert)
void GitEditorWidget::init()
{
VcsBaseEditorWidget::init();
- Core::Id editorId = textDocument()->id();
+ Utils::Id editorId = textDocument()->id();
if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID)
textDocument()->setSyntaxHighlighter(new GitSubmitHighlighter);
else if (editorId == Git::Constants::GIT_REBASE_EDITOR_ID)
@@ -272,7 +287,7 @@ void GitEditorWidget::addDiffActions(QMenu *menu, const DiffChunk &chunk)
void GitEditorWidget::aboutToOpen(const QString &fileName, const QString &realFileName)
{
Q_UNUSED(realFileName)
- Core::Id editorId = textDocument()->id();
+ Utils::Id editorId = textDocument()->id();
if (editorId == Git::Constants::GIT_COMMIT_TEXT_EDITOR_ID
|| editorId == Git::Constants::GIT_REBASE_EDITOR_ID) {
QFileInfo fi(fileName);