mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
zig fmt: Special case un-indent comma after multiline string in param list
This commit is contained in:
parent
1aacedf6e1
commit
4496a6c9cc
@ -1374,7 +1374,7 @@ test "zig fmt: multiline string parameter in fn call with trailing comma" {
|
||||
\\ \\ZIG_C_HEADER_FILES {}
|
||||
\\ \\ZIG_DIA_GUIDS_LIB {}
|
||||
\\ \\
|
||||
\\ ,
|
||||
\\ ,
|
||||
\\ std.cstr.toSliceConst(c.ZIG_CMAKE_BINARY_DIR),
|
||||
\\ std.cstr.toSliceConst(c.ZIG_CXX_COMPILER),
|
||||
\\ std.cstr.toSliceConst(c.ZIG_DIA_GUIDS_LIB),
|
||||
@ -3385,10 +3385,17 @@ test "zig fmt: Indent comma correctly after multiline string literals in arg lis
|
||||
\\ \\------------
|
||||
\\ \\xxxxxxxxxxxx
|
||||
\\ \\xxxxxxxxxxxx
|
||||
\\ ,
|
||||
\\ ,
|
||||
\\ g.GtkMessageType.GTK_MESSAGE_WARNING,
|
||||
\\ null,
|
||||
\\ );
|
||||
\\
|
||||
\\ z.display_message_dialog(*const [323:0]u8,
|
||||
\\ \\Message Text
|
||||
\\ \\------------
|
||||
\\ \\xxxxxxxxxxxx
|
||||
\\ \\xxxxxxxxxxxx
|
||||
\\ , g.GtkMessageType.GTK_MESSAGE_WARNING, null);
|
||||
\\}
|
||||
\\
|
||||
);
|
||||
|
||||
@ -1071,6 +1071,13 @@ fn renderExpression(
|
||||
if (i + 1 < params.len) {
|
||||
const next_node = params[i + 1];
|
||||
try renderExpression(allocator, ais, tree, param_node, Space.None);
|
||||
|
||||
// Unindent the comma for multiline string literals
|
||||
const maybe_multiline_string = param_node.firstToken();
|
||||
const is_multiline_string = tree.token_ids[maybe_multiline_string] == .MultilineStringLiteralLine;
|
||||
if (is_multiline_string) ais.popIndent();
|
||||
defer if (is_multiline_string) ais.pushIndent();
|
||||
|
||||
const comma = tree.nextToken(param_node.lastToken());
|
||||
try renderToken(tree, ais, comma, Space.Newline); // ,
|
||||
try renderExtraNewline(tree, ais, next_node);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user