lints!
diff --git a/pkgs/markdown/analysis_options.yaml b/pkgs/markdown/analysis_options.yaml index 5d0d0c2..9d40fb5 100644 --- a/pkgs/markdown/analysis_options.yaml +++ b/pkgs/markdown/analysis_options.yaml
@@ -1,26 +1,21 @@ analyzer: - strong-mode: true - errors: - unused_element: error - unused_import: error - unused_local_variable: error - dead_code: error + strong-mode: + implicit-casts: false + errors: + dead_code: error + override_on_non_overriding_method: error + unused_element: error + unused_import: error + unused_local_variable: error linter: rules: - #- always_declare_return_types - #- always_specify_types #- annotate_overrides - #- avoid_as - avoid_empty_else - avoid_init_to_null - - avoid_null_checks_in_equality_operators - #- avoid_return_types_on_setters + - avoid_return_types_on_setters - await_only_futures - camel_case_types - - cancel_subscriptions - #- close_sinks - comment_references - - constant_identifier_names - control_flow_in_finally - directives_ordering - empty_catches @@ -28,30 +23,18 @@ - empty_statements - hash_and_equals - implementation_imports - - iterable_contains_unrelated_type - library_names - library_prefixes - - list_remove_unrelated_type - #- non_constant_identifier_names - #- one_member_abstracts + - non_constant_identifier_names + - omit_local_variable_types - only_throw_errors - - overridden_fields - - package_api_docs - - package_names - - package_prefixed_library_names - prefer_final_fields - prefer_is_not_empty - #- public_member_api_docs + #- prefer_single_quotes - slash_for_doc_comments - #- sort_constructors_first - #- sort_unnamed_constructors_first - - super_goes_last + - test_types_in_equals - test_types_in_equals - throw_in_finally - #- type_annotate_public_apis - type_init_formals - #- unawaited_futures - - unnecessary_brace_in_string_interps - #- unnecessary_getters_setters - unrelated_type_equality_checks - valid_regexps
diff --git a/pkgs/markdown/example/app.dart b/pkgs/markdown/example/app.dart index 1af874b..e0f4c53 100644 --- a/pkgs/markdown/example/app.dart +++ b/pkgs/markdown/example/app.dart
@@ -32,7 +32,7 @@ versionSpan.text = 'v${md.version}'; markdownInput.onKeyUp.listen(_renderMarkdown); - String savedMarkdown = window.localStorage['markdown']; + var savedMarkdown = window.localStorage['markdown']; if (savedMarkdown != null && savedMarkdown.isNotEmpty &&
diff --git a/pkgs/markdown/lib/src/block_parser.dart b/pkgs/markdown/lib/src/block_parser.dart index a25636c..1b09329 100644 --- a/pkgs/markdown/lib/src/block_parser.dart +++ b/pkgs/markdown/lib/src/block_parser.dart
@@ -221,7 +221,7 @@ bool canParse(BlockParser parser) { if (!_interperableAsParagraph(parser.current)) return false; - int i = 1; + var i = 1; while (true) { var nextLine = parser.peek(i); if (nextLine == null) { @@ -241,7 +241,7 @@ Node parse(BlockParser parser) { var lines = <String>[]; - var tag; + String tag; while (!parser.isDone) { var match = _setextPattern.firstMatch(parser.current); if (match == null) { @@ -534,15 +534,13 @@ /// In practice this means that the syntax dominates; it is allowed to eat /// many lines, including blank lines, before matching its `endPattern`. class LongBlockHtmlSyntax extends BlockHtmlSyntax { - final RegExp _pattern; + final RegExp pattern; final RegExp _endPattern; - LongBlockHtmlSyntax(pattern, endPattern) - : _pattern = new RegExp(pattern), + LongBlockHtmlSyntax(String pattern, String endPattern) + : pattern = new RegExp(pattern), _endPattern = new RegExp(endPattern); - RegExp get pattern => _pattern; - Node parse(BlockParser parser) { var childLines = <String>[]; // Eat until we hit [endPattern]. @@ -723,7 +721,7 @@ /// Removes any trailing empty lines and notes whether any items are separated /// by such lines. - bool removeTrailingEmptyLines(List items) { + bool removeTrailingEmptyLines(List<ListItem> items) { var anyEmpty = false; for (var i = 0; i < items.length; i++) { if (items[i].lines.length == 1) continue; @@ -803,7 +801,8 @@ }).toList(); } - Node parseRow(BlockParser parser, List<String> alignments, String cellType) { + Element parseRow( + BlockParser parser, List<String> alignments, String cellType) { var line = parser.current .replaceFirst(_openingPipe, '') .replaceFirst(_closingPipe, ''); @@ -812,7 +811,7 @@ var row = <Element>[]; String preCell; - for (String cell in cells) { + for (var cell in cells) { if (preCell != null) { cell = preCell + cell; preCell = null; @@ -873,7 +872,7 @@ bool lineStartsReflinkDefinition(int i) => lines[i].startsWith(_reflinkDefinitionStart); - int i = 0; + var i = 0; loopOverDefinitions: while (true) { // Check for reflink definitions.
diff --git a/pkgs/markdown/lib/src/document.dart b/pkgs/markdown/lib/src/document.dart index aa45092..7aeb97e 100644 --- a/pkgs/markdown/lib/src/document.dart +++ b/pkgs/markdown/lib/src/document.dart
@@ -33,7 +33,7 @@ /// Parses the given [lines] of Markdown to a series of AST nodes. List<Node> parseLines(List<String> lines) { - List<Node> nodes = new BlockParser(lines, this).parseLines(); + var nodes = new BlockParser(lines, this).parseLines(); _parseInlineContent(nodes); return nodes; } @@ -42,10 +42,10 @@ List<Node> parseInline(String text) => new InlineParser(text, this).parse(); void _parseInlineContent(List<Node> nodes) { - for (int i = 0; i < nodes.length; i++) { + for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (node is UnparsedContent) { - List<Node> inlineNodes = parseInline(node.textContent); + var inlineNodes = parseInline(node.textContent); nodes.removeAt(i); nodes.insertAll(i, inlineNodes); i += inlineNodes.length - 1;
diff --git a/pkgs/markdown/lib/src/html_renderer.dart b/pkgs/markdown/lib/src/html_renderer.dart index 0e545d1..2429ced 100644 --- a/pkgs/markdown/lib/src/html_renderer.dart +++ b/pkgs/markdown/lib/src/html_renderer.dart
@@ -105,8 +105,8 @@ return id; } - int suffix = 2; - String suffixedId = '$id-$suffix'; + var suffix = 2; + var suffixedId = '$id-$suffix'; while (uniqueIds.contains(suffixedId)) { suffixedId = '$id-${suffix++}'; }
diff --git a/pkgs/markdown/lib/src/inline_parser.dart b/pkgs/markdown/lib/src/inline_parser.dart index 9b884ef..8c66d6e 100644 --- a/pkgs/markdown/lib/src/inline_parser.dart +++ b/pkgs/markdown/lib/src/inline_parser.dart
@@ -383,9 +383,9 @@ return new Link(null, url, title); } else { - var id; + String id; String _contents() { - int offset = pattern.pattern.length - 1; + var offset = pattern.pattern.length - 1; return parser.source.substring(state.startPos + offset, parser.pos); }
diff --git a/pkgs/markdown/tool/dartdoc-compare.dart b/pkgs/markdown/tool/dartdoc-compare.dart index b6b0a94..f98fec2 100644 --- a/pkgs/markdown/tool/dartdoc-compare.dart +++ b/pkgs/markdown/tool/dartdoc-compare.dart
@@ -23,7 +23,7 @@ ..addFlag(_help, abbr: "h", hide: true); var options = parser.parse(arguments); - if (options[_help]) { + if (options[_help] as bool) { print(parser.usage); exitCode = 0; return; @@ -36,12 +36,12 @@ return; } var comparer = new DartdocCompare( - options[_dartdocDir], - options[_markdownBefore], - options[_markdownAfter], - absolute(options[_dartdocDir], "bin/dartdoc.dart"), - absolute(options[_dartdocDir], "pubspec.yaml"), - options[_sdk]); + options[_dartdocDir] as String, + options[_markdownBefore] as String, + options[_markdownAfter] as String, + absolute(options[_dartdocDir] as String, "bin/dartdoc.dart"), + absolute(options[_dartdocDir] as String, "pubspec.yaml"), + options[_sdk] as bool); String path; if (comparer.sdk) { @@ -72,15 +72,15 @@ bool compare(String package) { // Generate docs with Markdown "A". - var out_before = _runDartdoc(markdownBefore, package); + var outBefore = _runDartdoc(markdownBefore, package); // Generate docs with Markdown "B". - var out_after = _runDartdoc(markdownAfter, package); + var outAfter = _runDartdoc(markdownAfter, package); // Compare outputs - var diffOptions = ["-r", "-B", out_before, out_after]; + var diffOptions = ["-r", "-B", outBefore, outAfter]; var result = Process.runSync("diff", diffOptions, runInShell: true); - var nlines = "\n".allMatches(result.stdout).length; + var nlines = "\n".allMatches(result.stdout as String).length; print("Diff lines: $nlines"); print("diff ${diffOptions.join(" ")}"); return result.exitCode == 0; @@ -120,7 +120,7 @@ var dartdocPubspec = loadYaml(new File(dartdocPubspecPath).readAsStringSync()) as Map; // make modifiable copy - dartdocPubspec = JSON.decode(JSON.encode(dartdocPubspec)); + dartdocPubspec = JSON.decode(JSON.encode(dartdocPubspec)) as Map; dartdocPubspec['dependencies']['markdown'] = { 'git': {
diff --git a/pkgs/markdown/tool/stats.dart b/pkgs/markdown/tool/stats.dart index ec1c7b7..d488dc5 100644 --- a/pkgs/markdown/tool/stats.dart +++ b/pkgs/markdown/tool/stats.dart
@@ -49,7 +49,7 @@ return; } - if (options['help']) { + if (options['help'] as bool) { print(parser.usage); return; } @@ -67,7 +67,7 @@ return; } - final testPrefix = options['flavor']; + final testPrefix = options['flavor'] as String; var baseUrl = 'http://spec.commonmark.org/0.28/'; ExtensionSet extensionSet; @@ -343,7 +343,12 @@ this.markdown, this.html); factory CommonMarkTestCase.fromJson(Map<String, dynamic> json) { - return new CommonMarkTestCase(json['example'], json['section'], - json['start_line'], json['end_line'], json['markdown'], json['html']); + return new CommonMarkTestCase( + json['example'] as int, + json['section'] as String, + json['start_line'] as int, + json['end_line'] as int, + json['markdown'] as String, + json['html'] as String); } }