From d8b000fb4050a4630314886367532d9eb927a490 Mon Sep 17 00:00:00 2001 From: schillic Date: Mon, 21 Aug 2023 20:57:50 +0200 Subject: [PATCH 1/2] do not end script files with double empty lines --- src/Literate.jl | 5 +++-- test/runtests.jl | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Literate.jl b/src/Literate.jl index d650bc33..236a5dc8 100644 --- a/src/Literate.jl +++ b/src/Literate.jl @@ -501,17 +501,18 @@ function script(inputfile, outputdir=pwd(); config::AbstractDict=Dict(), kwargs. # create the script file ioscript = IOBuffer() + isfirst = true for chunk in chunks if isa(chunk, CodeChunk) + isfirst ? isfirst = false : write(ioscript, '\n') # add a newline between each chunk for line in chunk.lines write(ioscript, line, '\n') end - write(ioscript, '\n') # add a newline between each chunk elseif isa(chunk, MDChunk) && config["keep_comments"]::Bool + isfirst ? isfirst = false : write(ioscript, '\n') # add a newline between each chunk for line in chunk.lines write(ioscript, rstrip(line.first * "# " * line.second) * '\n') end - write(ioscript, '\n') # add a newline between each chunk end end diff --git a/test/runtests.jl b/test/runtests.jl index c31c32bc..5970b060 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -345,7 +345,6 @@ const GITLAB_ENV = Dict( hidden2 * hidden2 # This file was generated using Literate.jl, https://github.com/fredrikekre/Literate.jl - """ script = read(joinpath(outdir, "inputfile.jl"), String) @test script == expected_script From 02eb9fa077f71e9e9d485f9e89760c03b0bb859d Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Sun, 27 Aug 2023 09:39:58 +0200 Subject: [PATCH 2/2] Apply suggestions from code review --- src/Literate.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Literate.jl b/src/Literate.jl index 236a5dc8..c7fe9179 100644 --- a/src/Literate.jl +++ b/src/Literate.jl @@ -504,12 +504,12 @@ function script(inputfile, outputdir=pwd(); config::AbstractDict=Dict(), kwargs. isfirst = true for chunk in chunks if isa(chunk, CodeChunk) - isfirst ? isfirst = false : write(ioscript, '\n') # add a newline between each chunk + isfirst ? (isfirst = false) : write(ioscript, '\n') # add a newline between each chunk for line in chunk.lines write(ioscript, line, '\n') end elseif isa(chunk, MDChunk) && config["keep_comments"]::Bool - isfirst ? isfirst = false : write(ioscript, '\n') # add a newline between each chunk + isfirst ? (isfirst = false) : write(ioscript, '\n') # add a newline between each chunk for line in chunk.lines write(ioscript, rstrip(line.first * "# " * line.second) * '\n') end