Skip to content

Commit 160c254

Browse files
committed
Extract static function isNoteTagOrExprChar
1 parent 1a8d43a commit 160c254

2 files changed

Lines changed: 22 additions & 15 deletions

File tree

src/main/java/com/hubspot/jinjava/tree/output/OutputList.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,7 @@ private String joinNodesWithoutAddingExpressions(
7171
LengthLimitingStringBuilder val,
7272
TokenScannerSymbols tokenScannerSymbols
7373
) {
74-
@SuppressWarnings("StringBufferReplaceableByString")
75-
String separator = new StringBuilder()
76-
.append('\n')
77-
.append(tokenScannerSymbols.getPrefixChar())
78-
.append(tokenScannerSymbols.getNoteChar())
79-
.append(tokenScannerSymbols.getTrimChar())
80-
.append(' ')
81-
.append(tokenScannerSymbols.getNoteChar())
82-
.append(tokenScannerSymbols.getExprEndChar())
83-
.toString();
74+
String separator = getWhitespaceSeparator(tokenScannerSymbols);
8475
String prev = null;
8576
String cur;
8677
for (OutputNode node : nodes) {
@@ -93,11 +84,7 @@ private String joinNodesWithoutAddingExpressions(
9384
) {
9485
if (
9586
cur.length() > 0 &&
96-
(
97-
cur.charAt(0) == tokenScannerSymbols.getTag() ||
98-
cur.charAt(0) == tokenScannerSymbols.getExprStartChar() ||
99-
cur.charAt(0) == tokenScannerSymbols.getNoteChar()
100-
)
87+
TokenScannerSymbols.isNoteTagOrExprChar(tokenScannerSymbols, cur.charAt(0))
10188
) {
10289
val.append(separator);
10390
}
@@ -115,6 +102,20 @@ private String joinNodesWithoutAddingExpressions(
115102
return val.toString();
116103
}
117104

105+
private static String getWhitespaceSeparator(TokenScannerSymbols tokenScannerSymbols) {
106+
@SuppressWarnings("StringBufferReplaceableByString")
107+
String separator = new StringBuilder()
108+
.append('\n')
109+
.append(tokenScannerSymbols.getPrefixChar())
110+
.append(tokenScannerSymbols.getNoteChar())
111+
.append(tokenScannerSymbols.getTrimChar())
112+
.append(' ')
113+
.append(tokenScannerSymbols.getNoteChar())
114+
.append(tokenScannerSymbols.getExprEndChar())
115+
.toString();
116+
return separator;
117+
}
118+
118119
private String joinNodes(LengthLimitingStringBuilder val) {
119120
for (OutputNode node : nodes) {
120121
try {

src/main/java/com/hubspot/jinjava/tree/parse/TokenScannerSymbols.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,10 @@ public String getClosingComment() {
122122
}
123123
return closingComment;
124124
}
125+
126+
public static boolean isNoteTagOrExprChar(TokenScannerSymbols symbols, char c) {
127+
return (
128+
c == symbols.getNote() || c == symbols.getTag() || c == symbols.getExprStartChar()
129+
);
130+
}
125131
}

0 commit comments

Comments
 (0)