From 1568852e3fec827ed3d2b4430e79b4ae169f4a72 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Mon, 8 Jul 2024 21:08:32 +0200 Subject: [PATCH] Fix single line module --- src/runestone.jl | 4 ++-- test/runtests.jl | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/runestone.jl b/src/runestone.jl index a06b213..2973c87 100644 --- a/src/runestone.jl +++ b/src/runestone.jl @@ -2176,8 +2176,8 @@ function indent_module(ctx::Context, node::Node) kids[block_idx] = block_node′ any_kid_changed = true end - # Fifth node is the closing end keyword - end_idx = 5 + # Skip until the closing end keyword + end_idx = findnext(x -> kind(x) === K"end", kids, block_idx + 1) end_node = kids[end_idx] @assert is_leaf(end_node) && kind(end_node) === K"end" if !has_tag(end_node, TAG_DEDENT) diff --git a/test/runtests.jl b/test/runtests.jl index fe7ec1a..82d54de 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -594,6 +594,8 @@ end # var"" as module name @test format_string("$(b)module var\"A\"\n$(sp)x\n$(sp)end\nf") == "$(b)module var\"A\"\n x\nend\nf" + # single line module + @test format_string("$(b)module A; x; end\nf") == "$(b)module A; x; end\nf" end # tuple @test format_string("(a,\n$(sp)b)") == "(\n a,\n b,\n)"