Enable and fix a number of lints (dart-lang/markdown#166)
diff --git a/pkgs/markdown/.analysis_options b/pkgs/markdown/analysis_options.yaml similarity index 70% rename from pkgs/markdown/.analysis_options rename to pkgs/markdown/analysis_options.yaml index 37b2ae0..0eb0eaa 100644 --- a/pkgs/markdown/.analysis_options +++ b/pkgs/markdown/analysis_options.yaml
@@ -1,37 +1,45 @@ analyzer: - strong-mode: true + strong-mode: true + errors: + unused_element: error + unused_import: error + unused_local_variable: error + dead_code: error linter: rules: - - always_declare_return_types + #- always_declare_return_types #- always_specify_types #- annotate_overrides #- avoid_as - avoid_empty_else - avoid_init_to_null - - avoid_return_types_on_setters + - avoid_null_checks_in_equality_operators + #- avoid_return_types_on_setters - await_only_futures - camel_case_types - cancel_subscriptions - - close_sinks - #- comment_references + #- close_sinks + - comment_references - constant_identifier_names - control_flow_in_finally + - directives_ordering - empty_catches - empty_constructor_bodies - empty_statements - hash_and_equals - #- implementation_imports + - implementation_imports - iterable_contains_unrelated_type - library_names - library_prefixes - list_remove_unrelated_type #- non_constant_identifier_names #- one_member_abstracts - #- only_throw_errors + - 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 - slash_for_doc_comments @@ -43,7 +51,7 @@ #- type_annotate_public_apis - type_init_formals #- unawaited_futures - #- unnecessary_brace_in_string_interp + - unnecessary_brace_in_string_interp #- unnecessary_getters_setters - unrelated_type_equality_checks - valid_regexps
diff --git a/pkgs/markdown/lib/markdown.dart b/pkgs/markdown/lib/markdown.dart index 9f4a11d..f4faacf 100644 --- a/pkgs/markdown/lib/markdown.dart +++ b/pkgs/markdown/lib/markdown.dart
@@ -11,5 +11,5 @@ export 'src/extension_set.dart'; export 'src/html_renderer.dart'; export 'src/inline_parser.dart'; -export 'src/version.dart'; export 'src/util.dart' show escapeHtml; +export 'src/version.dart';
diff --git a/pkgs/markdown/lib/src/block_parser.dart b/pkgs/markdown/lib/src/block_parser.dart index c6589d9..80a98d0 100644 --- a/pkgs/markdown/lib/src/block_parser.dart +++ b/pkgs/markdown/lib/src/block_parser.dart
@@ -528,18 +528,17 @@ const OtherTagBlockHtmlSyntax(); } -/// A BlockHtmlSyntax that has a specific [endPattern]. +/// A BlockHtmlSyntax that has a specific `endPattern`. /// /// In practice this means that the syntax dominates; it is allowed to eat -/// many lines, including blank lines, before matching its [endPattern]. +/// many lines, including blank lines, before matching its `endPattern`. class LongBlockHtmlSyntax extends BlockHtmlSyntax { - RegExp _pattern; - RegExp _endPattern; + final RegExp _pattern; + final RegExp _endPattern; - LongBlockHtmlSyntax(pattern, endPattern) { - _pattern = new RegExp(pattern); - _endPattern = new RegExp(endPattern); - } + LongBlockHtmlSyntax(pattern, endPattern) + : _pattern = new RegExp(pattern), + _endPattern = new RegExp(endPattern); RegExp get pattern => _pattern;
diff --git a/pkgs/markdown/lib/src/inline_parser.dart b/pkgs/markdown/lib/src/inline_parser.dart index a1ebd92..2f4e243 100644 --- a/pkgs/markdown/lib/src/inline_parser.dart +++ b/pkgs/markdown/lib/src/inline_parser.dart
@@ -431,7 +431,7 @@ // // This conforms to the delimiters of inline code, both in Markdown.pl, and // CommonMark. - static String _pattern = r'(`+(?!`))((?:.|\n)*?[^`])\1(?!`)'; + static final String _pattern = r'(`+(?!`))((?:.|\n)*?[^`])\1(?!`)'; CodeSyntax() : super(_pattern);
diff --git a/pkgs/markdown/tool/common_mark_stats.dart b/pkgs/markdown/tool/common_mark_stats.dart index d76003c..d380237 100644 --- a/pkgs/markdown/tool/common_mark_stats.dart +++ b/pkgs/markdown/tool/common_mark_stats.dart
@@ -144,7 +144,7 @@ case CompareLevel.loose: return 'loose'; default: - throw 'huh?'; + throw new ArgumentError("`$obj` is unknown."); } } if (obj is Map) {