@@ -52,6 +52,7 @@ These rules are under active development. Feedback is
52
52
53
53
const ruleLeadMatter = 'Rules are organized into familiar rule groups.' ;
54
54
55
+ final flutterRules = < String > [];
55
56
final pedanticRules = < String > [];
56
57
57
58
/// Sorted list of contributed lint rules.
@@ -81,14 +82,23 @@ String get enumerateStyleRules => rules
81
82
List <String > get sortedRules => rules.map ((r) => r.name).toList ()..sort ();
82
83
83
84
Future <void > fetchBadgeInfo () async {
84
- var client = new http.Client ();
85
- var req = await client.get (Uri .parse (
86
- 'https://raw.githubusercontent.com/dart-lang/pedantic/master/lib/analysis_options.yaml' ));
87
-
88
- var config = processAnalysisOptionsFile (req.body);
89
- for (var ruleConfig in config.ruleConfigs) {
85
+ var pedantic = await fetchConfig (
86
+ 'https://raw.githubusercontent.com/dart-lang/pedantic/master/lib/analysis_options.yaml' );
87
+ for (var ruleConfig in pedantic.ruleConfigs) {
90
88
pedanticRules.add (ruleConfig.name);
91
89
}
90
+
91
+ var flutter = await fetchConfig (
92
+ 'https://raw.githubusercontent.com/flutter/flutter/master/packages/flutter/lib/analysis_options_user.yaml' );
93
+ for (var ruleConfig in flutter.ruleConfigs) {
94
+ flutterRules.add (ruleConfig.name);
95
+ }
96
+ }
97
+
98
+ Future <LintConfig > fetchConfig (String url) async {
99
+ var client = new http.Client ();
100
+ var req = await client.get (url);
101
+ return processAnalysisOptionsFile (req.body);
92
102
}
93
103
94
104
Future <void > generateDocs (String dir) async {
@@ -125,11 +135,18 @@ Future<void> generateDocs(String dir) async {
125
135
new OptionsSample (rules).generate (outDir);
126
136
}
127
137
128
- String getBadges (String rule) => isPedantic (rule)
129
- ? '<a href="https://github.com/dart-lang/pedantic/#enabled-lints"><img alt="pedantic" src="style-pedantic.svg"></a>'
130
- : '' ;
131
-
132
- bool isPedantic (String rule) => pedanticRules.contains (rule);
138
+ String getBadges (String rule) {
139
+ var sb = new StringBuffer ();
140
+ if (flutterRules.contains (rule)) {
141
+ sb.write (
142
+ '<a href="https://github.com/flutter/flutter/blob/master/packages/flutter/lib/analysis_options_user.yaml"><img alt="flutter" src="style-flutter.svg"></a> ' );
143
+ }
144
+ if (pedanticRules.contains (rule)) {
145
+ sb.write (
146
+ '<a href="https://github.com/dart-lang/pedantic/#enabled-lints"><img alt="pedantic" src="style-pedantic.svg"></a>' );
147
+ }
148
+ return sb.toString ();
149
+ }
133
150
134
151
void printUsage (ArgParser parser, [String error]) {
135
152
var message = 'Generates lint docs.' ;
0 commit comments