diff --git a/src/dfmt/formatter.d b/src/dfmt/formatter.d index 159060c..730ef48 100644 --- a/src/dfmt/formatter.d +++ b/src/dfmt/formatter.d @@ -730,6 +730,7 @@ private: else { writeToken(); + indents.popWrapIndents(); linebreakHints = []; while (indents.topIs(tok!"enum")) indents.pop(); diff --git a/tests/allman/issue0286.d.ref b/tests/allman/issue0286.d.ref new file mode 100644 index 0000000..d3e7816 --- /dev/null +++ b/tests/allman/issue0286.d.ref @@ -0,0 +1,16 @@ +void foo() +{ + if (true) + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping(); + else + enum vectorizeable = false; + + if (true) + { + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping(); + } + else + enum vectorizeable = false; +} diff --git a/tests/issue0286.d b/tests/issue0286.d new file mode 100644 index 0000000..e19e2e0 --- /dev/null +++ b/tests/issue0286.d @@ -0,0 +1,14 @@ +void foo() +{ + if (true) + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping(); + else + enum vectorizeable = false; + + if (true){ + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping();} + else + enum vectorizeable = false; +} diff --git a/tests/otbs/issue0286.d.ref b/tests/otbs/issue0286.d.ref new file mode 100644 index 0000000..1844006 --- /dev/null +++ b/tests/otbs/issue0286.d.ref @@ -0,0 +1,13 @@ +void foo() { + if (true) + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping(); + else + enum vectorizeable = false; + + if (true) { + enum vectorizeable = aLongExpressionThatCausesWrapping() + && aLongExpressionThatCausesWrapping(); + } else + enum vectorizeable = false; +}