diff --git a/src/ui/windows/console_tab.cpp b/src/ui/windows/console_tab.cpp index c1a3114..d570099 100644 --- a/src/ui/windows/console_tab.cpp +++ b/src/ui/windows/console_tab.cpp @@ -831,6 +831,21 @@ void ConsoleTab::renderOutput() } } + // JSON indent guides — faint vertical lines per 2-space nesting level, on result + // (non-channel) lines only. Draw-only, like the channel bar. + if (line.channel == CH_NONE) { + size_t leading = 0; + while (leading < line.text.size() && line.text[leading] == ' ') ++leading; + if (leading >= 2) { + float spaceW = font->CalcTextSizeA(fontSize, FLT_MAX, 0.0f, " ").x; + for (size_t c = 2; c < leading; c += 2) { + float gx = lineOrigin.x + static_cast(c) * spaceW; + dl->AddLine(ImVec2(gx, lineOrigin.y), ImVec2(gx, lineOrigin.y + totalH), + IM_COL32(255, 255, 255, 20), 1.0f); + } + } + } + // Determine byte-level selection range for this line int selByteStart = 0, selByteEnd = 0; bool lineSelected = false;