18
18
*/
19
19
20
20
/*
21
+ * Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
21
22
* Copyright (c) 2017, 2019, Chris Fraire <[email protected] >.
22
23
*/
23
24
package org .opengrok .indexer .analysis ;
@@ -48,26 +49,38 @@ private AnalyzerGuruHelp() {
48
49
*/
49
50
public static String getUsage () {
50
51
StringBuilder b = new StringBuilder ();
51
- b .append ("AnalyzerGuru prefixes:\n " );
52
+
53
+ b .append ("List of analyzers:" + System .lineSeparator ());
54
+ b .append ("The names of the analyzers (left column) can be used for the -A indexer option:" +
55
+ System .lineSeparator () + System .lineSeparator ());
56
+ byFactory (AnalyzerGuru .getAnalyzerFactories ().stream ().
57
+ collect (Collectors .toMap (f -> f .getClass ().getSimpleName (), f -> f ))).
58
+ forEach ((factory ) -> {
59
+ b .append (String .format ("%-10s : %s%n" ,
60
+ factory .fac .getClass ().getSimpleName ().replace ("AnalyzerFactory" , "" ),
61
+ factory .fac .getName () != null ? factory .fac .getName () : "N/A" ));
62
+ });
63
+
64
+ b .append (System .lineSeparator () + "AnalyzerGuru prefixes:" + System .lineSeparator ());
52
65
byKey (AnalyzerGuru .getPrefixesMap ()).forEach ((kv ) -> {
53
- b .append (String .format ("%-10s : %s\ n " , reportable (kv .key + '*' ),
66
+ b .append (String .format ("%-10s : %s% n" , reportable (kv .key + '*' ),
54
67
reportable (kv .fac )));
55
68
});
56
69
57
- b .append (" \n AnalyzerGuru extensions:\n " );
70
+ b .append (System . lineSeparator () + "AnalyzerGuru extensions:" + System . lineSeparator () );
58
71
byKey (AnalyzerGuru .getExtensionsMap ()).forEach ((kv ) -> {
59
- b .append (String .format ("*.%-7s : %s\ n " ,
72
+ b .append (String .format ("*.%-7s : %s% n" ,
60
73
reportable (kv .key .toLowerCase (Locale .ROOT )),
61
74
reportable (kv .fac )));
62
75
});
63
76
64
- b .append (" \n AnalyzerGuru magic strings:\n " );
77
+ b .append (System . lineSeparator () + "AnalyzerGuru magic strings:" + System . lineSeparator () );
65
78
byFactory (AnalyzerGuru .getMagicsMap ()).forEach ((kv ) -> {
66
- b .append (String .format ("%-23s : %s\ n " , reportable (kv .key ),
79
+ b .append (String .format ("%-23s : %s% n" , reportable (kv .key ),
67
80
reportable (kv .fac )));
68
81
});
69
82
70
- b .append (" \n AnalyzerGuru magic matchers:\n " );
83
+ b .append (System . lineSeparator () + "AnalyzerGuru magic matchers:" + System . lineSeparator () );
71
84
AnalyzerGuru .getAnalyzerFactoryMatchers ().forEach ((m ) -> {
72
85
if (m .getIsPreciseMagic ()) {
73
86
b .append (reportable (m ));
@@ -121,7 +134,7 @@ private static String reportable(String value) {
121
134
}
122
135
123
136
private static String reportable (FileAnalyzerFactory .Matcher m ) {
124
- final String MATCHER_FMT = "%-11s %-1s %s\ n " ;
137
+ final String MATCHER_FMT = "%-11s %-1s %s% n" ;
125
138
StringBuilder b = new StringBuilder ();
126
139
String [] lines = splitLines (m .description (), 66 );
127
140
for (int i = 0 ; i < lines .length ; ++i ) {
@@ -172,8 +185,7 @@ private static String[] splitLines(String str, int width) {
172
185
return res .stream ().toArray (String []::new );
173
186
}
174
187
175
- private static List <MappedFactory > byKey (
176
- Map <String , AnalyzerFactory > mapped ) {
188
+ private static List <MappedFactory > byKey (Map <String , AnalyzerFactory > mapped ) {
177
189
178
190
List <MappedFactory > res = mapped .entrySet ().stream ().map ((t ) -> {
179
191
return new MappedFactory (t .getKey (), t .getValue ());
@@ -186,8 +198,7 @@ private static List<MappedFactory> byKey(
186
198
return res ;
187
199
}
188
200
189
- private static List <MappedFactory > byFactory (
190
- Map <String , AnalyzerFactory > mapped ) {
201
+ private static List <MappedFactory > byFactory (Map <String , AnalyzerFactory > mapped ) {
191
202
192
203
List <MappedFactory > res = mapped .entrySet ().stream ().map ((t ) -> {
193
204
return new MappedFactory (t .getKey (), t .getValue ());
0 commit comments