From 3d2db76070c97d76981b7c08031e7ec3c9c19a68 Mon Sep 17 00:00:00 2001 From: Lakshay Kansal <58596666+lakkn@users.noreply.github.com> Date: Mon, 31 Jul 2023 12:18:19 -0400 Subject: [PATCH] fixed issue of text color changing for code blocks in light mode (#1299) --- gpt4all-chat/responsetext.cpp | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gpt4all-chat/responsetext.cpp b/gpt4all-chat/responsetext.cpp index e488792f..9bdc9a38 100644 --- a/gpt4all-chat/responsetext.cpp +++ b/gpt4all-chat/responsetext.cpp @@ -23,6 +23,8 @@ enum Language { Php }; + +static QColor defaultColor = "#d1d5db"; // white static QColor keywordColor = "#2e95d3"; // blue static QColor functionColor = "#f22c3d"; // red static QColor functionCallColor = "#e9950c"; // orange @@ -91,6 +93,12 @@ static QVector pythonHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -151,6 +159,12 @@ static QVector csharpHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + // Function call highlighting QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); @@ -219,6 +233,12 @@ static QVector cppHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -297,6 +317,12 @@ static QVector typescriptHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -381,6 +407,12 @@ static QVector javaHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -450,6 +482,12 @@ static QVector goHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -515,6 +553,12 @@ static QVector bashHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat commandFormat; commandFormat.setForeground(commandColor); QStringList commandPatterns = { @@ -582,6 +626,12 @@ static QVector latexHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat commandFormat; commandFormat.setForeground(commandColor); // commandColor needs to be set to your liking rule.pattern = QRegularExpression("\\\\[A-Za-z]+"); // Pattern for LaTeX commands @@ -604,6 +654,12 @@ static QVector htmlHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat attributeNameFormat; attributeNameFormat.setForeground(attributeNameColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*="); @@ -644,6 +700,12 @@ static QVector phpHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + QTextCharFormat functionCallFormat; functionCallFormat.setForeground(functionCallColor); rule.pattern = QRegularExpression("\\b(\\w+)\\s*(?=\\()"); @@ -711,6 +773,12 @@ static QVector jsonHighlightingRules() HighlightingRule rule; + QTextCharFormat defaultFormat; + defaultFormat.setForeground(defaultColor); + rule.pattern = QRegularExpression(".*"); + rule.format = defaultFormat; + highlightingRules.append(rule); + // Key string rule QTextCharFormat keyFormat; keyFormat.setForeground(keyColor); // Assuming keyColor is defined