@@ -16,6 +16,7 @@ import .Documenter
1616# * Lines starting with `#md` are filtered out unless creating a markdown file
1717# * Lines starting with `#nb` are filtered out unless creating a notebook
1818# * Lines starting with, or ending with, `#jl` are filtered out unless creating a script file
19+ # * Lines starting with, or ending with, `#src` are filtered out unconditionally
1920# * Whitespace within a chunk is preserved
2021# * Empty chunks are removed, leading and trailing empty lines in a chunk are also removed
2122
@@ -41,10 +42,15 @@ function parse(content; allow_continued = true)
4142
4243 for line in lines
4344 line = rstrip (line)
44- # print("line = `$line`: ")
4545 if occursin (r" ^\h *#-" , line) # new chunk
4646 # assume same as last chunk, will be cleaned up otherwise
4747 push! (chunks, typeof (chunks[end ])())
48+ elseif occursin (r" ^\h *#\+ " , line) # new code chunk, that continues the previous one
49+ idx = findlast (x -> isa (x, CodeChunk), chunks)
50+ if idx != = nothing
51+ chunks[idx]. continued = true
52+ end
53+ push! (chunks, CodeChunk ())
4854 elseif ismdline (line) # markdown
4955 if ! (chunks[end ] isa MDChunk)
5056 push! (chunks, MDChunk ())
@@ -78,19 +84,6 @@ function parse(content; allow_continued = true)
7884 end
7985 end
8086
81- # find code chunks that are continued
82- last_code_chunk = 0
83- for (i, chunk) in enumerate (chunks)
84- isa (chunk, MDChunk) && continue
85- if startswith (last (chunk. lines)," " )
86- chunk. continued = true
87- end
88- if startswith (first (chunk. lines)," " )
89- chunks[last_code_chunk]. continued = true
90- end
91- last_code_chunk = i
92- end
93-
9487 # if we don't allow continued code blocks we need to merge MDChunks into the CodeChunks
9588 if ! allow_continued
9689 merged_chunks = Chunk[]
0 commit comments