Skip to content

Commit 92ca293

Browse files
committed
use IOContext to bring back color printing
1 parent 741c406 commit 92ca293

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

src/DocChecks.jl

+15-14
Original file line numberDiff line numberDiff line change
@@ -309,25 +309,26 @@ end
309309
import .Utilities.TextDiff
310310

311311
function report(result::Result, str, doc::Documents.Document)
312-
buffer = IOBuffer()
313-
println(buffer, "=====[Test Error]", "="^30)
314-
println(buffer)
315-
printstyled(buffer, "> File: ", result.file, "\n", color=:cyan)
316-
printstyled(buffer, "\n> Code block:\n", color=:cyan)
317-
println(buffer, "\n```jldoctest")
318-
println(buffer, result.code)
319-
println(buffer, "```")
312+
iob = IOBuffer()
313+
ioc = IOContext(iob, :color => Base.have_color)
314+
println(ioc, "=====[Test Error]", "="^30)
315+
println(ioc)
316+
printstyled(ioc, "> File: ", result.file, "\n", color=:cyan)
317+
printstyled(ioc, "\n> Code block:\n", color=:cyan)
318+
println(ioc, "\n```jldoctest")
319+
println(ioc, result.code)
320+
println(ioc, "```")
320321
if !isempty(result.input)
321-
printstyled(buffer, "\n> Subexpression:\n", color=:cyan)
322-
print_indented(buffer, result.input; indent = 4)
322+
printstyled(ioc, "\n> Subexpression:\n", color=:cyan)
323+
print_indented(ioc, result.input; indent = 4)
323324
end
324325
warning = Base.have_color ? "" : " (REQUIRES COLOR)"
325-
printstyled(buffer, "\n> Output Diff", warning, ":\n\n", color=:cyan)
326+
printstyled(ioc, "\n> Output Diff", warning, ":\n\n", color=:cyan)
326327
diff = TextDiff.Diff{TextDiff.Words}(result.output, rstrip(str))
327-
Utilities.TextDiff.showdiff(buffer, diff)
328-
println(buffer, "\n\n", "=====[End Error]=", "="^30)
328+
Utilities.TextDiff.showdiff(ioc, diff)
329+
println(ioc, "\n\n", "=====[End Error]=", "="^30)
329330
push!(doc.internal.errors, :doctest)
330-
printstyled(String(take!(buffer)), color=:normal)
331+
printstyled(String(take!(iob)), color=:normal)
331332
end
332333

333334
function print_indented(buffer::IO, str::AbstractString; indent = 4)

0 commit comments

Comments
 (0)