Browse Source

Fix multiline comment support with \r\n line endings, fixes #165.

pull/167/head
Fredrik Ekre 4 years ago
parent
commit
ac2e1694fa
  1. 4
      CHANGELOG.md
  2. 4
      src/Literate.jl
  3. 9
      test/runtests.jl

4
CHANGELOG.md

@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Fixed
- Fix multiline comment support for `\r\n` line endings. ([#165][github-165], [#167][github-167])
## [2.9.1] - 2021-07-30
### Fixed
@ -136,6 +138,8 @@ https://discourse.julialang.org/t/ann-literate-jl/10651 for release announcement @@ -136,6 +138,8 @@ https://discourse.julialang.org/t/ann-literate-jl/10651 for release announcement
[github-159]: https://github.com/fredrikekre/Literate.jl/pull/159
[github-162]: https://github.com/fredrikekre/Literate.jl/issues/162
[github-163]: https://github.com/fredrikekre/Literate.jl/pull/163
[github-165]: https://github.com/fredrikekre/Literate.jl/issues/165
[github-167]: https://github.com/fredrikekre/Literate.jl/pull/167
[Unreleased]: https://github.com/fredrikekre/Literate.jl/compare/v2.9.1...HEAD
[2.9.1]: https://github.com/fredrikekre/Literate.jl/compare/v2.9.0...v2.9.1

4
src/Literate.jl

@ -161,9 +161,9 @@ function replace_default(content, sym; @@ -161,9 +161,9 @@ function replace_default(content, sym;
end
return str
end
content = replace_multiline(r"^#=+$\R^(\X*?)\R^=+#$"m, content)
content = replace_multiline(r"^#=+\R^(\X*?)\R=+#$"m, content)
if config["mdstrings"]::Bool
content = replace_multiline(r"^md\"\"\"$\R^(\X*?)\R^\"\"\"$"m, content)
content = replace_multiline(r"^md\"\"\"\R^(\X*?)\R\"\"\"$"m, content)
end

9
test/runtests.jl

@ -825,6 +825,15 @@ end end @@ -825,6 +825,15 @@ end end
@test !isfile("inputfile.md")
Literate.markdown(inputfile; execute=false)
@test isfile("inputfile.md")
# fredrikekre/Literate.jl#165: \r\n line endings with multiline comments/mdstrings
write(inputfile, "#=\r\nhello world\r\nhej världen\r\n=#")
chunks, _ = Literate.preprocessor(inputfile, outdir; user_kwargs=(), user_config=(), type=:md)
@test chunks[2].lines == ["" => "hello world", "" => "hej världen"]
write(inputfile, "md\"\"\"\r\nhello world\r\nhej världen\r\n\"\"\"")
chunks, _ = Literate.preprocessor(inputfile, outdir; user_kwargs=pairs((; mdstrings=true)),
user_config=(), type=:md)
@test chunks[2].lines == ["" => "hello world", "" => "hej världen"]
end
end
end end

Loading…
Cancel
Save