Skip to content

Commit fb6a8b8

Browse files
committed
Add Beautifier as a stage
1 parent c5810f0 commit fb6a8b8

File tree

2 files changed

+13
-15
lines changed

2 files changed

+13
-15
lines changed

ownlang-desktop/src/main/java/com/annimon/ownlang/Main.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.annimon.ownlang.exceptions.OwnLangParserException;
44
import com.annimon.ownlang.exceptions.StoppedException;
5-
import com.annimon.ownlang.parser.Beautifier;
5+
import com.annimon.ownlang.parser.BeautifierStage;
66
import com.annimon.ownlang.parser.Token;
77
import com.annimon.ownlang.parser.ast.Statement;
88
import com.annimon.ownlang.parser.error.ParseErrorsFormatterStage;
@@ -97,9 +97,10 @@ public static void main(String[] args) throws IOException {
9797
}
9898
}
9999
if (options.beautifyMode) {
100-
String input = new SourceLoaderStage()
100+
String result = new SourceLoaderStage()
101+
.then(new BeautifierStage())
101102
.perform(new StagesDataMap(), options.toInputSource());
102-
System.out.println(Beautifier.beautify(input));
103+
System.out.println(result);
103104
return;
104105
}
105106
run(options);

ownlang-parser/src/main/java/com/annimon/ownlang/parser/Beautifier.java renamed to ownlang-parser/src/main/java/com/annimon/ownlang/parser/BeautifierStage.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
package com.annimon.ownlang.parser;
22

33
import com.annimon.ownlang.Console;
4+
import com.annimon.ownlang.stages.Stage;
5+
import com.annimon.ownlang.stages.StagesData;
46
import java.util.HashMap;
57
import java.util.Map;
68

79
/**
810
*
911
* @author aNNiMON
1012
*/
11-
public final class Beautifier {
12-
13-
public static String beautify(String input) {
14-
return new Beautifier(input).beautify();
15-
}
13+
public final class BeautifierStage implements Stage<String, String> {
1614

1715
private enum OperatorMode {
1816
SPACES, RSPACES, TRIM, RTRIM, AS_SOURCE,
@@ -77,21 +75,20 @@ private enum OperatorMode {
7775
OPERATORS.put(">>>", OperatorMode.SPACES);
7876
}
7977

80-
private final String input;
81-
private final int length;
82-
83-
private final StringBuilder beautifiedCode, buffer;
84-
78+
private String input;
79+
private int length;
80+
private StringBuilder beautifiedCode, buffer;
8581
private int pos;
8682
private int indentLevel;
8783

88-
public Beautifier(String input) {
84+
@Override
85+
public String perform(StagesData stagesData, String input) {
8986
this.input = input;
9087
length = input.length();
9188
beautifiedCode = new StringBuilder();
9289
buffer = new StringBuilder();
93-
9490
indentLevel = 0;
91+
return beautify();
9592
}
9693

9794
public String beautify() {

0 commit comments

Comments
 (0)