From 6cb6057250f677ecb6477efb289c6abb08da1f43 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Mon, 8 Jul 2024 04:02:42 +0200 Subject: [PATCH] Fix let block without variables --- src/runestone.jl | 4 +++- test/runtests.jl | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) 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"