diff --git a/src/runestone.jl b/src/runestone.jl index 36d1381..2fc36a0 100644 --- a/src/runestone.jl +++ b/src/runestone.jl @@ -2509,8 +2509,9 @@ function indent_module(ctx::Context, node::Node) @assert kind(id_node) in KSet"Identifier var" block_idx = 4 else - # This can be reached if the module name is interpolated for example - @assert kind(first_leaf(space_node)) === K"Whitespace" + # This can be reached if the module name is interpolated or parenthesized, for + # example. + @assert kind(first_leaf(space_node)) in KSet"Whitespace (" @assert !JuliaSyntax.is_whitespace(space_node) block_idx = 3 end diff --git a/test/runtests.jl b/test/runtests.jl index a0a0a9f..173361b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -625,6 +625,9 @@ end # interpolated module name @test format_string("$(b)module \$A\n$(sp)x\n$(sp)end\nf") == "$(b)module \$A\n x\nend\nf" + # parenthesized module name (Why....) + @test format_string("$(b)module(A)\n$(sp)x\n$(sp)end\nf") == + "$(b)module(A)\n x\nend\nf" @test format_string("$(b)module \$(A)\n$(sp)x\n$(sp)end\nf") == "$(b)module \$(A)\n x\nend\nf" # single line module