Skip to content

Commit 1ef17c5

Browse files
committed
Rework indentation system. Fix #91. Fix #86. Fix #54.
1 parent 52eabd4 commit 1ef17c5

File tree

13 files changed

+401
-206
lines changed

13 files changed

+401
-206
lines changed

src/dfmt.d

Lines changed: 223 additions & 203 deletions
Large diffs are not rendered by default.

tests/issue0054.d

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
struct ClassFlags
2+
{
3+
alias Type = uint;
4+
enum Enum : int
5+
{
6+
isCOMclass = 0x1,
7+
noPointers = 0x2,
8+
hasOffTi = 0x4,
9+
hasCtor = 0x8,
10+
hasGetMembers = 0x10,
11+
hasTypeInfo = 0x20,
12+
isAbstract = 0x40,
13+
isCPPclass = 0x80,
14+
hasDtor = 0x100,
15+
16+
}
17+
18+
alias isCOMclass = Enum.isCOMclass;
19+
alias noPointers = Enum.noPointers;
20+
alias hasOffTi = Enum.hasOffTi;
21+
alias hasCtor = Enum.hasCtor;
22+
alias hasGetMembers = Enum.hasGetMembers;
23+
alias hasTypeInfo = Enum.hasTypeInfo;
24+
alias isAbstract = Enum.isAbstract;
25+
alias isCPPclass = Enum.isCPPclass;
26+
alias hasDtor = Enum.hasDtor;
27+
28+
29+
}

tests/issue0054.d.ref

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
struct ClassFlags
2+
{
3+
alias Type = uint;
4+
enum Enum : int
5+
{
6+
isCOMclass = 0x1, noPointers = 0x2, hasOffTi = 0x4, hasCtor = 0x8,
7+
hasGetMembers = 0x10, hasTypeInfo = 0x20, isAbstract = 0x40,
8+
isCPPclass = 0x80, hasDtor = 0x100,
9+
10+
}
11+
12+
alias isCOMclass = Enum.isCOMclass;
13+
alias noPointers = Enum.noPointers;
14+
alias hasOffTi = Enum.hasOffTi;
15+
alias hasCtor = Enum.hasCtor;
16+
alias hasGetMembers = Enum.hasGetMembers;
17+
alias hasTypeInfo = Enum.hasTypeInfo;
18+
alias isAbstract = Enum.isAbstract;
19+
alias isCPPclass = Enum.isCPPclass;
20+
alias hasDtor = Enum.hasDtor;
21+
}

tests/issue0056.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{{}}{}}
1+
unittest{{{}}{}{{{{}}}}}

tests/issue0056.d.ref

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,17 @@
1+
unittest
12
{
23
{
34
{
45
}
56
}
67
{
78
}
9+
{
10+
{
11+
{
12+
{
13+
}
14+
}
15+
}
16+
}
817
}

tests/issue0080.d.ref

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ unittest
77
version (A)
88
{
99
case b:
10-
return;
10+
return;
1111
}
1212
}
1313
}

tests/issue0082.d.ref

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ Label:
1111
// comment
1212
statement();
1313
}
14-
}
14+
}

tests/issue0086.d

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
unittest
2+
{
3+
if (a)
4+
if (b)
5+
doSomething();
6+
doSomethingElse();
7+
}
8+
9+
void indent()
10+
{
11+
import std.range : repeat, take;
12+
13+
if (config.useTabs)
14+
foreach (i; 0 .. indentLevel + tempIndent)
15+
{
16+
currentLineLength += config.tabSize;
17+
output.put("\t");
18+
}
19+
else
20+
foreach (i; 0 .. indentLevel + tempIndent)
21+
foreach (j; 0 .. config.indentSize)
22+
{
23+
output.put(" ");
24+
currentLineLength++;
25+
}
26+
}

tests/issue0086.d.ref

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
unittest
2+
{
3+
if (a)
4+
if (b)
5+
doSomething();
6+
doSomethingElse();
7+
}
8+
9+
void indent()
10+
{
11+
import std.range : repeat, take;
12+
13+
if (config.useTabs)
14+
foreach (i; 0 .. indentLevel + tempIndent)
15+
{
16+
currentLineLength += config.tabSize;
17+
output.put("\t");
18+
}
19+
else
20+
foreach (i; 0 .. indentLevel + tempIndent)
21+
foreach (j; 0 .. config.indentSize)
22+
{
23+
output.put(" ");
24+
currentLineLength++;
25+
}
26+
}

tests/issue0091.d

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
unittest
2+
{
3+
switch (x)
4+
{
5+
version (none)
6+
{
7+
x();
8+
case Case:
9+
doSomething();
10+
doSomethingElse();
11+
}
12+
}
13+
}

0 commit comments

Comments
 (0)