Browse Source

Line continuation in curly and bracescat.

pull/19/head
Fredrik Ekre 1 year ago
parent
commit
59ee9fbb92
No known key found for this signature in database
GPG Key ID: DE82E6D5E364C0A2
  1. 4
      src/runestone.jl
  2. 24
      test/runtests.jl

4
src/runestone.jl

@ -1272,7 +1272,7 @@ function indent_paren(ctx::Context, node::Node)
end end
function indent_braces(ctx::Context, node::Node) function indent_braces(ctx::Context, node::Node)
@assert kind(node) === K"braces" @assert kind(node) in KSet"curly braces bracescat"
kids = verified_kids(node) kids = verified_kids(node)
opening_brace_idx = findfirst(x -> kind(x) === K"{", kids)::Int opening_brace_idx = findfirst(x -> kind(x) === K"{", kids)::Int
closing_brace_idx = findnext(x -> kind(x) === K"}", kids, opening_brace_idx + 1)::Int closing_brace_idx = findnext(x -> kind(x) === K"}", kids, opening_brace_idx + 1)::Int
@ -1600,7 +1600,7 @@ function insert_delete_mark_newlines(ctx::Context, node::Node)
return indent_struct(ctx, node) return indent_struct(ctx, node)
elseif kind(node) === K"parens" elseif kind(node) === K"parens"
return indent_parens(ctx, node) return indent_parens(ctx, node)
elseif kind(node) === K"braces" elseif kind(node) in KSet"curly braces bracescat"
return indent_braces(ctx, node) return indent_braces(ctx, node)
elseif kind(node) in KSet"|| &&" elseif kind(node) in KSet"|| &&"
return indent_short_circuit(ctx, node) return indent_short_circuit(ctx, node)

24
test/runtests.jl

@ -260,7 +260,8 @@ end
@test format_string("$(x){$(sp)$(a)$(sp),$(sp)$(b)$(sp)}") == "$(x){$(a), $(b)}" @test format_string("$(x){$(sp)$(a)$(sp),$(sp)$(b)$(sp)}") == "$(x){$(a), $(b)}"
@test format_string("$(x){$(sp)$(a)$(sp);$(sp)$(b)$(sp)}") == "$(x){$(a); $(b)}" @test format_string("$(x){$(sp)$(a)$(sp);$(sp)$(b)$(sp)}") == "$(x){$(a); $(b)}"
@test format_string("$(x){$(sp)$(a)$(sp);$(sp)$(b)$(sp)}") == "$(x){$(a); $(b)}" @test format_string("$(x){$(sp)$(a)$(sp);$(sp)$(b)$(sp)}") == "$(x){$(a); $(b)}"
@test format_string("$(x){\n$(sp)$(a)$(sp);$(sp)$(b)$(sp)\n}") == "$(x){\n$(a); $(b)$(tr)\n}" @test format_string("$(x){\n$(sp)$(a)$(sp);$(sp)$(b)$(sp)\n}") ==
"$(x){\n $(a); $(b)$(tr)\n}"
end end
end end
@ -542,10 +543,21 @@ end
# comparison # comparison
@test format_string("a == b ==\n$(sp)c") == "a == b ==\n c" @test format_string("a == b ==\n$(sp)c") == "a == b ==\n c"
@test format_string("a <= b >=\n$(sp)c") == "a <= b >=\n c" @test format_string("a <= b >=\n$(sp)c") == "a <= b >=\n c"
# curly braces
@test format_string("{a,\n$(sp)b}") == "{a,\n b}" # curly, braces, bracescat
@test format_string("{a,\n$(sp)b\n$(sp)}") == for x in ("", "X")
format_string("{a,\n$(sp)b,\n$(sp)}") == "{a,\n b,\n}" tr = x == "" ? "" : ","
@test format_string("{\n$(sp)a,\n$(sp)b,\n$(sp)}") == "{\n a,\n b,\n}" @test format_string("$(x){a,\n$(sp)b}") == "$(x){a,\n b}"
@test format_string("$(x){a,\n$(sp)b\n$(sp)}") ==
format_string("$(x){a,\n$(sp)b,\n$(sp)}") ==
"$(x){a,\n b,\n}"
@test format_string("$(x){a;\n$(sp)b\n$(sp)}") == "$(x){a;\n b$(tr)\n}"
@test format_string("$(x){\n$(sp)a,\n$(sp)b\n$(sp)}") ==
format_string("$(x){\n$(sp)a,\n$(sp)b,\n$(sp)}") ==
"$(x){\n a,\n b,\n}"
@test format_string("$(x){\n$(sp)a;\n$(sp)b\n$(sp)}") ==
"$(x){\n a;\n b$(tr)\n}"
end
end end
end end

Loading…
Cancel
Save