diff --git a/src/runestone.jl b/src/runestone.jl index f497f50..917849b 100644 --- a/src/runestone.jl +++ b/src/runestone.jl @@ -1314,7 +1314,9 @@ function indent_let(ctx::Context, node::Node) vars_idx = 2 vars_node = kids[vars_idx] @assert !is_leaf(vars_node) && kind(vars_node) === K"block" - @assert kind(last_leaf(vars_node)) !== "NewlineWs" + if span(vars_node) > 0 && length(verified_kids(vars_node)) > 0 + @assert kind(last_leaf(vars_node)) !== "NewlineWs" + end # Third node is the NewlineWs before the block ln_idx = 3 ln_node = kids[ln_idx] diff --git a/test/runtests.jl b/test/runtests.jl index 9fd68b7..da2f74d 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -453,6 +453,8 @@ end # let-end @test format_string("let a = 1\n$(sp)x\n$(sp)end") == "let a = 1\n x\nend" + @test format_string("let\n$(sp)x\n$(sp)end") == + "let\n x\nend" # begin-end @test format_string("begin\n$(sp)x\n$(sp)end") == "begin\n x\nend"