Skip to content

Commit 129e331

Browse files
authored
Merge pull request #3 from doits/preserve_empty_line_between_expressions
preserve empty line between expressions
2 parents 2ae6106 + 772e949 commit 129e331

17 files changed

Lines changed: 167 additions & 9 deletions

File tree

src/printer.js

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ const printExpression = (node) => {
198198

199199
return builders.group(
200200
[
201+
node.preNewLines > 1 ? hardline : "",
201202
concat([
202203
[openingErb, " "],
203204
...lines.map((line, i) => [
@@ -214,6 +215,7 @@ const printExpression = (node) => {
214215

215216
return builders.group(
216217
[
218+
node.preNewLines > 1 ? hardline : "",
217219
builders.join(" ", [
218220
openingErb,
219221
builders.indent(node.content),
@@ -236,21 +238,27 @@ const printStatement = (node) => {
236238
const templateIndicatorSpace = " ".repeat((openingErb + " ").length);
237239

238240
return builders.group(
239-
concat([
240-
[openingErb, " "],
241-
...lines.map((line, i) => [
242-
i !== 0 ? templateIndicatorSpace : "",
243-
line,
244-
i !== lines.length - 1 ? hardline : "",
241+
[
242+
node.preNewLines > 1 ? hardline : "",
243+
concat([
244+
[openingErb, " "],
245+
...lines.map((line, i) => [
246+
i !== 0 ? templateIndicatorSpace : "",
247+
line,
248+
i !== lines.length - 1 ? hardline : "",
249+
]),
250+
[" ", closingErb],
245251
]),
246-
[" ", closingErb],
247-
]),
252+
],
248253
{ shouldBreak: node.preNewLines > 0 },
249254
);
250255
}
251256

252257
const statement = builders.group(
253-
builders.join(" ", [openingErb, node.content, closingErb]),
258+
[
259+
node.preNewLines > 1 ? hardline : "",
260+
builders.join(" ", [openingErb, node.content, closingErb]),
261+
],
254262
{ shouldBreak: node.preNewLines > 0 },
255263
);
256264

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<div>
2+
<div>
3+
<div>
4+
<%= componenteeee IconComponent,
5+
class: "mt-1 mb-2 this-is-a-loong_class",
6+
property: true %>
7+
8+
<%= componenteeee IconComponent,
9+
class: "mt-1 mb-2 this-is-a-loong_class",
10+
property: true %>
11+
</div>
12+
</div>
13+
</div>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<div>
2+
<div>
3+
<div>
4+
<%= componenteeee IconComponent, class: "mt-1 mb-2 this-is-a-loong_class",
5+
property: true %>
6+
7+
<%= componenteeee IconComponent, class: "mt-1 mb-2 this-is-a-loong_class",
8+
property: true %>
9+
</div>
10+
</div>
11+
</div>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<div>
2+
<div>
3+
<div>
4+
<%= componenteeee IconComponent,
5+
class: "mt-1 mb-2 this-is-a-loong_class",
6+
property: true %>
7+
8+
<%= componenteeee IconComponent,
9+
class: "mt-1 mb-2 this-is-a-loong_class",
10+
property: true %>
11+
</div>
12+
</div>
13+
</div>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<div>
2+
<div>
3+
<div>
4+
<%= componenteeee IconComponent, class: "mt-1 mb-2 this-is-a-loong_class",
5+
property: true %>
6+
7+
8+
9+
10+
11+
<%= componenteeee IconComponent, class: "mt-1 mb-2 this-is-a-loong_class",
12+
property: true %>
13+
</div>
14+
</div>
15+
</div>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<div>
2+
<%= component %>
3+
4+
<%= component %>
5+
</div>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<div>
2+
<%= component %>
3+
4+
<%= component %>
5+
</div>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<div>
2+
<%= component %>
3+
4+
<%= component %>
5+
</div>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<div>
2+
<%= component %>
3+
4+
5+
6+
<%= component %>
7+
</div>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<div>
2+
<div>
3+
<div>
4+
<% componenteeee IconComponent,
5+
class: "mt-1 mb-2 this-is-a-loong_class",
6+
property: true %>
7+
8+
<% componenteeee IconComponent,
9+
class: "mt-1 mb-2 this-is-a-loong_class",
10+
property: true %>
11+
</div>
12+
</div>
13+
</div>

0 commit comments

Comments
 (0)