summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xW/xW.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/xW/xW.cpp b/xW/xW.cpp
index 980f825..b05eb37 100644
--- a/xW/xW.cpp
+++ b/xW/xW.cpp
@@ -678,14 +678,12 @@ buffer_print_line(std::vector<BufferLine>::const_iterator begin,
if (!prefix.empty())
richedit_replacesel(g.hwndBuffer, &pcf, prefix.c_str());
- std::wstring text;
- for (const auto &it : line->items)
- text += it.text;
-
- CHARFORMAT2 format = default_charformat();
- format.dwEffects &= ~CFE_AUTOCOLOR;
- format.crTextColor = GetSysColor(COLOR_GRAYTEXT);
- richedit_replacesel(g.hwndBuffer, &format, text.c_str());
+ for (auto it : line->items) {
+ it.format.dwEffects &= ~CFE_AUTOCOLOR;
+ it.format.crTextColor = GetSysColor(COLOR_GRAYTEXT);
+ it.format.dwEffects |= CFE_AUTOBACKCOLOR;
+ richedit_replacesel(g.hwndBuffer, &it.format, it.text.c_str());
+ }
} else {
if (!prefix.empty())
richedit_replacesel(g.hwndBuffer, &pcf, prefix.c_str());