Drop all deprecated APIs (dart-lang/markdown#475)
A number of the deprecated classes in block_syntaxes were not exposed,
so not including those in the changelog
diff --git a/pkgs/markdown/CHANGELOG.md b/pkgs/markdown/CHANGELOG.md
index a8b61a3..7c6672f 100644
--- a/pkgs/markdown/CHANGELOG.md
+++ b/pkgs/markdown/CHANGELOG.md
@@ -2,21 +2,22 @@
* **Breaking change**: `close()` of `DelimiterSyntax` and `LinkSyntax`
returns multiple nodes instead of single one.
-
-## 6.0.2-dev
-
-* Fix a crash in checkbox lists when mixing checkbox items with
- non-checkbox items.
-* Add a new syntax `BlockHtmlSyntax` to parse HTML blocks.
+* **Breaking change**: Remove deprecated APIs, including `TagSyntax`,
+ `indicatorForCheckedCheckBox`, and `indicatorForUncheckedCheckBox`.
+* **Breaking change**: Removed `BlockHtmlSyntax`, `BlockTagBlockHtmlSyntax`,
+ `LongBlockHtmlSyntax`, and `OtherTagBlockHtmlSyntax`.
+* Add a new syntax `HtmlBlockSyntax` to parse HTML blocks.
* Add a new syntax `DecodeHtmlSyntax` to decode HTML entity and numeric
character references.
* Add a new syntax `SoftLineBreakSyntax` to remove the single space before the
line ending.
-* Deprecate `BlockTagBlockHtmlSyntax`, `LongBlockHtmlSyntax` and
- `OtherTagBlockHtmlSyntax`. These syntaxes will be removed from the next major
- version.
* Add an option `caseSensitive` to `TextSyntax`.
+## 6.0.1
+
+* Fix a crash in checkbox lists when mixing checkbox items with
+ non-checkbox items.
+
## 6.0.0
* Require Dart 2.17
diff --git a/pkgs/markdown/lib/markdown.dart b/pkgs/markdown/lib/markdown.dart
index 58d0d8e..62d7576 100644
--- a/pkgs/markdown/lib/markdown.dart
+++ b/pkgs/markdown/lib/markdown.dart
@@ -38,7 +38,6 @@
export 'src/ast.dart';
export 'src/block_parser.dart';
-export 'src/block_syntaxes/block_html_syntax.dart';
export 'src/block_syntaxes/block_syntax.dart';
export 'src/block_syntaxes/blockquote_syntax.dart';
export 'src/block_syntaxes/code_block_syntax.dart';
@@ -68,6 +67,7 @@
export 'src/inline_syntaxes/autolink_syntax.dart';
export 'src/inline_syntaxes/code_syntax.dart';
export 'src/inline_syntaxes/color_swatch_syntax.dart';
+export 'src/inline_syntaxes/decode_html_syntax.dart';
export 'src/inline_syntaxes/delimiter_syntax.dart';
export 'src/inline_syntaxes/email_autolink_syntax.dart';
export 'src/inline_syntaxes/emoji_syntax.dart';
@@ -80,7 +80,6 @@
export 'src/inline_syntaxes/link_syntax.dart';
export 'src/inline_syntaxes/soft_line_break_syntax.dart';
export 'src/inline_syntaxes/strikethrough_syntax.dart';
-export 'src/inline_syntaxes/tag_syntax.dart';
export 'src/inline_syntaxes/text_syntax.dart';
const version = packageVersion;
diff --git a/pkgs/markdown/lib/src/block_syntaxes/block_html_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/block_html_syntax.dart
deleted file mode 100644
index 122c940..0000000
--- a/pkgs/markdown/lib/src/block_syntaxes/block_html_syntax.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import '../block_parser.dart';
-import 'block_syntax.dart';
-
-/// Parses inline HTML at the block level. This differs from other Markdown
-/// implementations in several ways:
-///
-/// 1. This one is way way WAY simpler.
-/// 2. Essentially no HTML parsing or validation is done. We're a Markdown
-/// parser, not an HTML parser!
-abstract class BlockHtmlSyntax extends BlockSyntax {
- @override
- bool canEndBlock(BlockParser parser) => true;
-
- const BlockHtmlSyntax();
-}
diff --git a/pkgs/markdown/lib/src/block_syntaxes/block_tag_block_html_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/block_tag_block_html_syntax.dart
deleted file mode 100644
index 7e40ac9..0000000
--- a/pkgs/markdown/lib/src/block_syntaxes/block_tag_block_html_syntax.dart
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import '../ast.dart';
-import '../block_parser.dart';
-import '../patterns.dart';
-import 'block_html_syntax.dart';
-
-@Deprecated('Use HtmlBlockSyntax instead')
-class BlockTagBlockHtmlSyntax extends BlockHtmlSyntax {
- static final _pattern = RegExp(
- '^ {0,3}</?(?:address|article|aside|base|basefont|blockquote|body|'
- 'caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|'
- 'figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|'
- 'iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|'
- 'option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|'
- 'title|tr|track|ul)'
- r'(?:\s|>|/>|$)');
-
- /// The [_pattern] regular expression above is very expensive, even on
- /// paragraphs of Markdown with no HTML. This regular expression can be used
- /// first as a basic check that the input might possibly be an HTML block
- /// tag, which occur very rarely in typical Markdown.
- static final _openBracketPattern = RegExp('^ {0,3}<');
-
- @override
- RegExp get pattern => _pattern;
-
- const BlockTagBlockHtmlSyntax();
-
- @override
- bool canParse(BlockParser parser) {
- if (!_openBracketPattern.hasMatch(parser.current)) return false;
- return super.canParse(parser);
- }
-
- @override
- Node parse(BlockParser parser) {
- final childLines = <String>[];
-
- // Eat until we hit a blank line.
- while (!parser.isDone && !parser.matches(emptyPattern)) {
- childLines.add(parser.current);
- parser.advance();
- }
-
- return Text(childLines.join('\n').trimRight());
- }
-}
diff --git a/pkgs/markdown/lib/src/block_syntaxes/list_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/list_syntax.dart
index 7b6d0b1..4105ec0 100644
--- a/pkgs/markdown/lib/src/block_syntaxes/list_syntax.dart
+++ b/pkgs/markdown/lib/src/block_syntaxes/list_syntax.dart
@@ -9,18 +9,6 @@
import 'ordered_list_with_checkbox_syntax.dart';
import 'unordered_list_with_checkbox_syntax.dart';
-/// As of Markdown 6.0.1 invisible indicators for checked/unchecked checkboxes are
-/// no longer used. These constants are now empty strings to reflect that.
-@Deprecated(
- 'This string is no longer used internally. It will be removed in a future version.')
-const indicatorForUncheckedCheckBox = '';
-
-/// As of Markdown 6.0.1 invisible indicators for checked/unchecked checkboxes are
-/// no longer used. These constants are now empty strings to reflect that.
-@Deprecated(
- 'This string is no longer used internally. It be will be removed in a future version.')
-const indicatorForCheckedCheckBox = '';
-
class ListItem {
const ListItem(
this.lines, {
diff --git a/pkgs/markdown/lib/src/block_syntaxes/long_block_html_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/long_block_html_syntax.dart
deleted file mode 100644
index 89e294a..0000000
--- a/pkgs/markdown/lib/src/block_syntaxes/long_block_html_syntax.dart
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import '../ast.dart';
-import '../block_parser.dart';
-import 'block_html_syntax.dart';
-
-/// 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`.
-@Deprecated('Use HtmlBlockSyntax instead')
-class LongBlockHtmlSyntax extends BlockHtmlSyntax {
- @override
- final RegExp pattern;
- final RegExp _endPattern;
-
- LongBlockHtmlSyntax(String pattern, String endPattern)
- : pattern = RegExp(pattern),
- _endPattern = RegExp(endPattern);
-
- @override
- Node parse(BlockParser parser) {
- final childLines = <String>[];
- // Eat until we hit [endPattern].
- while (!parser.isDone) {
- childLines.add(parser.current);
- if (parser.matches(_endPattern)) break;
- parser.advance();
- }
-
- parser.advance();
- return Text(childLines.join('\n').trimRight());
- }
-}
diff --git a/pkgs/markdown/lib/src/block_syntaxes/other_tag_block_html_syntax.dart b/pkgs/markdown/lib/src/block_syntaxes/other_tag_block_html_syntax.dart
deleted file mode 100644
index bcdc5c7..0000000
--- a/pkgs/markdown/lib/src/block_syntaxes/other_tag_block_html_syntax.dart
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import '../block_parser.dart';
-import 'block_tag_block_html_syntax.dart';
-
-@Deprecated('Use HtmlBlockSyntax instead')
-class OtherTagBlockHtmlSyntax extends BlockTagBlockHtmlSyntax {
- @override
- bool canEndBlock(BlockParser parser) => false;
-
- // Really hacky way to detect "other" HTML. This matches:
- //
- // * any opening spaces
- // * open bracket and maybe a slash ("<" or "</")
- // * some word characters
- // * either:
- // * a close bracket, or
- // * whitespace followed by not-brackets followed by a close bracket
- // * possible whitespace and the end of the line.
- @override
- RegExp get pattern => RegExp(r'^ {0,3}</?\w+(?:>|\s+[^>]*>)\s*$');
-
- const OtherTagBlockHtmlSyntax();
-}
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart
deleted file mode 100644
index 56b51f2..0000000
--- a/pkgs/markdown/lib/src/inline_syntaxes/tag_syntax.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright (c) 2022, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'delimiter_syntax.dart';
-
-@Deprecated('Use DelimiterSyntax instead')
-class TagSyntax extends DelimiterSyntax {
- TagSyntax(super.pattern, {super.requiresDelimiterRun});
-}