Skip to content

Commit

Permalink
fix markdown list rendering (#40203)
Browse files Browse the repository at this point in the history
(cherry picked from commit 0f828a2)
  • Loading branch information
KristofferC committed Apr 4, 2021
1 parent 63f8fa9 commit 991fc4f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
18 changes: 8 additions & 10 deletions stdlib/Markdown/src/render/terminal/formatting.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@ end
words(s) = split(s, " ")
lines(s) = split(s, "\n")

function wrapped_lines!(lines, io::IO, s::AbstractString, width, i)
function wrapped_line(io::IO, s::AbstractString, width, i)
ws = words(s)
lines = String[]
for word in ws
word_length = ansi_length(word)
word_length == 0 && continue
Expand All @@ -22,19 +23,16 @@ function wrapped_lines!(lines, io::IO, s::AbstractString, width, i)
lines[end] *= " " * word # this could be more efficient
end
end
return i
return i, lines
end

function wrapped_lines(io::IO, s::AbstractString; width = 80, i = 0)
lines = AbstractString[]
if occursin(r"\n", s)
for ss in split(s, "\n")
i = wrapped_lines!(lines, io, ss, width, i)
end
else
wrapped_lines!(lines, io, s, width, i)
ls = String[]
for ss in lines(s)
i, line = wrapped_line(io, ss, width, i)
append!(ls, line)
end
return lines
return ls
end

wrapped_lines(io::IO, f::Function, args...; width = 80, i = 0) =
Expand Down
8 changes: 8 additions & 0 deletions stdlib/Markdown/test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1222,3 +1222,11 @@ end
""")
end

@testset "issue #37232: linebreaks" begin
s = @md_str """
Misc:\\
- line\\
"""
@test sprint(show, MIME("text/plain"), s) == " Misc:\n - line"
end

0 comments on commit 991fc4f

Please sign in to comment.