Require Dart 2.17, cleanup up lints (dart-lang/markdown#442)

Update pkg:lints to 2.0.0 - remove redundant lints
Added and fixed use_super_parameters
diff --git a/pkgs/markdown/.github/workflows/test-package.yml b/pkgs/markdown/.github/workflows/test-package.yml
index e47bf66..1712bfe 100644
--- a/pkgs/markdown/.github/workflows/test-package.yml
+++ b/pkgs/markdown/.github/workflows/test-package.yml
@@ -47,7 +47,7 @@
       matrix:
         # Add macos-latest and/or windows-latest if relevant for this package.
         os: [ubuntu-latest]
-        sdk: [2.12.0, dev]
+        sdk: [2.17.0, dev]
     steps:
       - uses: actions/checkout@v2
       - uses: dart-lang/setup-dart@v1.0
diff --git a/pkgs/markdown/CHANGELOG.md b/pkgs/markdown/CHANGELOG.md
index 1172756..0072bcb 100644
--- a/pkgs/markdown/CHANGELOG.md
+++ b/pkgs/markdown/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## 6.0.0-dev
 
+* Require Dart 2.17
 * Add support to GFM extension for GitHub task lists (aka checkboxes).  These
   are only active in the `gitHubFlavored` and `gitHubWeb` extension sets.
 * Add support for `#ff0000` color swatches.
diff --git a/pkgs/markdown/analysis_options.yaml b/pkgs/markdown/analysis_options.yaml
index 92ca266..8dc8263 100644
--- a/pkgs/markdown/analysis_options.yaml
+++ b/pkgs/markdown/analysis_options.yaml
@@ -15,24 +15,15 @@
     unsafe_html: ignore
 linter:
   rules:
-    - camel_case_types
     # https://github.com/dart-lang/linter/issues/574
     #- comment_references
-    - control_flow_in_finally
     - directives_ordering
-    - empty_statements
-    - hash_and_equals
-    - implementation_imports
-    - iterable_contains_unrelated_type
-    - list_remove_unrelated_type
-    - non_constant_identifier_names
     - only_throw_errors
-    - overridden_fields
     - package_api_docs
     - test_types_in_equals
     - throw_in_finally
     - prefer_final_locals
     - use_if_null_to_convert_nulls_to_bools
     - use_raw_strings
+    - use_super_parameters
     - unnecessary_raw_strings
-    - prefer_interpolation_to_compose_strings
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/delimiter_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/delimiter_syntax.dart
index 7dbad63..7b48ce2 100644
--- a/pkgs/markdown/lib/src/inline_syntaxes/delimiter_syntax.dart
+++ b/pkgs/markdown/lib/src/inline_syntaxes/delimiter_syntax.dart
@@ -29,12 +29,12 @@
   /// emphasis delimiters.  If [startCharacter] is passed, it is used as a
   /// pre-matching check which is faster than matching against [pattern].
   DelimiterSyntax(
-    String pattern, {
+    super.pattern, {
     this.requiresDelimiterRun = false,
-    int? startCharacter,
+    super.startCharacter,
     this.allowIntraWord = false,
     this.tags,
-  }) : super(pattern, startCharacter: startCharacter);
+  });
 
   @override
   bool onMatch(InlineParser parser, Match match) {
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/image_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/image_syntax.dart
index 9643228..3c13679 100644
--- a/pkgs/markdown/lib/src/inline_syntaxes/image_syntax.dart
+++ b/pkgs/markdown/lib/src/inline_syntaxes/image_syntax.dart
@@ -10,9 +10,8 @@
 /// Matches images like `![alternate text](url "optional title")` and
 /// `![alternate text][label]`.
 class ImageSyntax extends LinkSyntax {
-  ImageSyntax({Resolver? linkResolver})
+  ImageSyntax({super.linkResolver})
       : super(
-          linkResolver: linkResolver,
           pattern: r'!\[',
           startCharacter: $exclamation,
         );
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart
index d284282..56b51f2 100644
--- a/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart
+++ b/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart
@@ -6,6 +6,5 @@
 
 @Deprecated('Use DelimiterSyntax instead')
 class TagSyntax extends DelimiterSyntax {
-  TagSyntax(String pattern, {bool requiresDelimiterRun = false})
-      : super(pattern, requiresDelimiterRun: requiresDelimiterRun);
+  TagSyntax(super.pattern, {super.requiresDelimiterRun});
 }
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/text_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/text_syntax.dart
index 9ab02bb..6ec4828 100644
--- a/pkgs/markdown/lib/src/inline_syntaxes/text_syntax.dart
+++ b/pkgs/markdown/lib/src/inline_syntaxes/text_syntax.dart
@@ -16,9 +16,8 @@
   /// If [sub] is passed, it is used as a simple replacement for [pattern]. If
   /// [startCharacter] is passed, it is used as a pre-matching check which is
   /// faster than matching against [pattern].
-  TextSyntax(String pattern, {String sub = '', int? startCharacter})
-      : substitute = sub,
-        super(pattern, startCharacter: startCharacter);
+  TextSyntax(super.pattern, {String sub = '', super.startCharacter})
+      : substitute = sub;
 
   /// Adds a [Text] node to [parser] and returns `true` if there is a
   /// [substitute], as long as the preceding character (if any) is not a `/`.
diff --git a/pkgs/markdown/pubspec.yaml b/pkgs/markdown/pubspec.yaml
index db11ff4..0dc576f 100644
--- a/pkgs/markdown/pubspec.yaml
+++ b/pkgs/markdown/pubspec.yaml
@@ -9,7 +9,7 @@
   markdown:
 
 environment:
-  sdk: '>=2.12.0 <3.0.0'
+  sdk: '>=2.17.0 <3.0.0'
 
 dependencies:
   args: ^2.0.0
@@ -23,7 +23,7 @@
   html: ^0.15.0
   io: ^1.0.0
   js: ^0.6.3
-  lints: ^1.0.1
+  lints: ^2.0.0
   path: ^1.8.0
   test: ^1.16.0
   yaml: ^3.0.0