4
4
import java .awt .datatransfer .StringSelection ;
5
5
import java .io .File ;
6
6
import java .io .FileInputStream ;
7
- import java .util .ArrayList ;
8
- import java .util .List ;
9
7
import java .util .regex .Matcher ;
10
8
import java .util .regex .Pattern ;
11
9
@@ -23,22 +21,19 @@ public class Main {
23
21
public static void main (String [] args ) {
24
22
StringBuilder result = new StringBuilder ();
25
23
26
- result .append ("| **Module** | **Description** |" ).append ('\n' );
27
- result .append ("|:----------:|:---------------:|" ).append ('\n' );
28
-
29
- for (ModuleInfo info : readFiles ())
30
- result .append ("| " ).append (info .name ).append (" | " ).append (info .desc ).append (" |\n " );
24
+ result .append ("| **Module** | **Description** |\n " );
25
+ result .append ("|:----------:|:---------------:|\n " );
26
+ readFiles (result );
31
27
32
28
System .out .println (result );
33
29
StringSelection data = new StringSelection (result .toString ());
34
30
Toolkit .getDefaultToolkit ().getSystemClipboard ().setContents (data , null );
35
31
System .out .println ("The table above has been successfully copied to system clipboard!" );
36
32
}
37
33
38
- public static List < ModuleInfo > readFiles () {
34
+ public static void readFiles (StringBuilder builder ) {
39
35
try {
40
36
String path = "src/main/java/io/github/itzispyder/clickcrystals/modules/modules/" ;
41
- List <ModuleInfo > list = new ArrayList <>();
42
37
43
38
for (String cat : categories ) {
44
39
String subPath = path + cat ;
@@ -48,20 +43,18 @@ public static List<ModuleInfo> readFiles() {
48
43
if (subFiles == null )
49
44
continue ;
50
45
51
- ModuleInfo info ;
46
+ String info ;
52
47
for (File javaFile : subFiles )
53
- if ((info = readFile (javaFile )) != null )
54
- list . add (info );
48
+ if ((info = readFileToRow (javaFile )) != null )
49
+ builder . append (info );
55
50
}
56
- return list ;
57
51
}
58
52
catch (Exception ex ) {
59
53
ex .printStackTrace ();
60
- return new ArrayList <>();
61
54
}
62
55
}
63
56
64
- public static ModuleInfo readFile (File file ) throws Exception {
57
+ public static String readFileToRow (File file ) throws Exception {
65
58
FileInputStream fis = new FileInputStream (file );
66
59
String contents = new String (fis .readAllBytes ());
67
60
fis .close ();
@@ -73,7 +66,7 @@ public static ModuleInfo readFile(File file) throws Exception {
73
66
if ((match = regex .matcher (line )).matches ()) {
74
67
String name = snake2pascalCase (match .group (1 ));
75
68
String desc = match .group (2 ).replaceAll ("\\ \\ \" " , "\" " );
76
- return new ModuleInfo (name , desc );
69
+ return "| %s | %s |%n" . formatted (name , desc );
77
70
}
78
71
}
79
72
return null ;
@@ -92,8 +85,4 @@ public static String capitalize(String s) {
92
85
return s .toUpperCase ();
93
86
return s .substring (0 , 1 ).toUpperCase () + s .substring (1 );
94
87
}
95
-
96
- public record ModuleInfo (String name , String desc ) {
97
-
98
- }
99
88
}
0 commit comments