Skip to content

Commit 1f21a97

Browse files
belka-ewdlang-bot
authored andcommitted
Don't indent associative array keys as labels
1 parent c4b6a7e commit 1f21a97

File tree

5 files changed

+26
-2
lines changed

5 files changed

+26
-2
lines changed

src/dfmt/formatter.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,8 +1694,8 @@ private:
16941694
assert(l2 != -1, "Recent '{' is not found despite being in struct initializer");
16951695
indentLevel = l2 + 1;
16961696
}
1697-
else if (config.dfmt_compact_labeled_statements == OptionalBoolean.f
1698-
|| !isBlockHeader(2) || peek2Is(tok!"if"))
1697+
else if ((config.dfmt_compact_labeled_statements == OptionalBoolean.f
1698+
|| !isBlockHeader(2) || peek2Is(tok!"if")) && !indents.topIs(tok!"]"))
16991699
{
17001700
immutable l2 = indents.indentToMostRecent(tok!"{");
17011701
indentLevel = l2 != -1 ? l2 : indents.indentLevel - 1;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
void main()
2+
{
3+
string key;
4+
5+
int[string] var = [
6+
key: 5
7+
];
8+
}

tests/assoc_key_indent.args

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--keep_line_breaks=true

tests/assoc_key_indent.d

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
void main()
2+
{
3+
string key;
4+
5+
int[string] var = [
6+
key: 5
7+
];
8+
}

tests/otbs/assoc_key_indent.d.ref

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
void main() {
2+
string key;
3+
4+
int[string] var = [
5+
key: 5
6+
];
7+
}

0 commit comments

Comments
 (0)