From 948f2d30ac39c445f3b36d085cbd8446439a4de2 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Wed, 24 Jul 2024 01:52:31 +0200 Subject: [PATCH] Fix module indent with parenthesized module name --- src/runestone.jl | 5 +++-- test/runtests.jl | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) 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