| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:io'; | 5 import 'dart:io'; |
| 6 | 6 |
| 7 import 'package:args/args.dart'; | 7 import 'package:args/args.dart'; |
| 8 | 8 |
| 9 String capitalize(String s) => s.substring(0, 1).toUpperCase() + s.substring(1); | 9 String capitalize(String s) => s.substring(0, 1).toUpperCase() + s.substring(1); |
| 10 | 10 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 stdout.write('''$message | 77 stdout.write('''$message |
| 78 Usage: rule | 78 Usage: rule |
| 79 ${parser.usage} | 79 ${parser.usage} |
| 80 '''); | 80 '''); |
| 81 } | 81 } |
| 82 | 82 |
| 83 String toClassName(String libName) => | 83 String toClassName(String libName) => |
| 84 libName.split('_').map((bit) => capitalize(bit)).join(); | 84 libName.split('_').map((bit) => capitalize(bit)).join(); |
| 85 | 85 |
| 86 String _generateStub(String libName, String className) => ''' | 86 String _generateStub(String libName, String className) => """ |
| 87 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 87 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 88 // for details. All rights reserved. Use of this source code is governed by a | 88 // for details. All rights reserved. Use of this source code is governed by a |
| 89 // BSD-style license that can be found in the LICENSE file. | 89 // BSD-style license that can be found in the LICENSE file. |
| 90 | 90 |
| 91 library linter.src.rules.$libName; | 91 library linter.src.rules.$libName; |
| 92 | 92 |
| 93 import 'package:analyzer/src/generated/ast.dart'; | 93 import 'package:analyzer/src/generated/ast.dart'; |
| 94 import 'package:analyzer/src/generated/scanner.dart'; | 94 import 'package:analyzer/src/generated/scanner.dart'; |
| 95 import 'package:linter/src/linter.dart'; | 95 import 'package:linter/src/linter.dart'; |
| 96 | 96 |
| 97 const desc = r' '; | 97 const desc = r' '; |
| 98 | 98 |
| 99 const details = r' '; | 99 const details = r''' |
| 100 |
| 101 **DO** ... |
| 102 |
| 103 **BAD:** |
| 104 ``` |
| 105 |
| 106 ``` |
| 107 |
| 108 **GOOD:** |
| 109 ``` |
| 110 |
| 111 ``` |
| 112 |
| 113 '''; |
| 100 | 114 |
| 101 class $className extends LintRule { | 115 class $className extends LintRule { |
| 102 $className() : super( | 116 $className() : super( |
| 103 name: '$libName', | 117 name: '$libName', |
| 104 description: desc, | 118 description: desc, |
| 105 details: details, | 119 details: details, |
| 106 group: Group.STYLE_GUIDE, | 120 group: Group.style); |
| 107 kind: Kind.AVOID); | |
| 108 | 121 |
| 109 @override | 122 @override |
| 110 AstVisitor getVisitor() => new Visitor(this); | 123 AstVisitor getVisitor() => new Visitor(this); |
| 111 } | 124 } |
| 112 | 125 |
| 113 class Visitor extends SimpleAstVisitor { | 126 class Visitor extends SimpleAstVisitor { |
| 114 LintRule rule; | 127 final LintRule rule; |
| 115 Visitor(this.rule); | 128 Visitor(this.rule); |
| 116 | 129 |
| 117 | 130 |
| 118 } | 131 } |
| 119 '''; | 132 """; |
| 120 | 133 |
| 121 String _generateTest(String libName, String className) => ''' | 134 String _generateTest(String libName, String className) => ''' |
| 122 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 135 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 123 // for details. All rights reserved. Use of this source code is governed by a | 136 // for details. All rights reserved. Use of this source code is governed by a |
| 124 // BSD-style license that can be found in the LICENSE file. | 137 // BSD-style license that can be found in the LICENSE file. |
| 125 | 138 |
| 126 '''; | 139 '''; |
| 127 | 140 |
| 128 void addToRuleIndex(String libName, String className) { | 141 void addToRuleIndex(String libName, String className) { |
| 129 //TODO: find right place to insert into imports and ruleMap | 142 //TODO: find right place to insert into imports and ruleMap |
| 130 } | 143 } |
| OLD | NEW |