`ExtensionSet.gitHubFlavored` leads to incorrect parsing of `"a\n-"`
(This issue is a copy of #1953, which was created when package:markdown label was unavailable.)
Problem
If UnorderedListWithCheckboxSyntax precedes SetextHeaderSyntax in BlockParser's blockSyntaxes (as is the case when ExtensionSet.gitHubFlavored is enabled, due to its inclusion of UnorderedListWithCheckboxSyntax), the following text will be rendered as an empty list item:
I am paragraph
-
Actual Output
I am paragraph is ignored, producing an empty list item, as follows:
Expected Output
I am paragraph should be rendered as a SETEXT-style heading. Check:
https://spec.commonmark.org/dingus/?text=I%20am%20paragraph%0A-
Minimal Reproducible Example
import 'package:markdown/markdown.dart' as md;
void main() {
final md.Document document = md.Document(
blockSyntaxes: [
const md.UnorderedListSyntax(), // <-- This line breaks the case
],
);
final List<md.Node> astNodes = document.parse("I am paragraph\n-");
print((astNodes[0] as md.Element).tag); // should print: h2; actual print: ul
}
Concur, making it a header is what GitHub does.
Banana Banana
Apricot Apricot
Multiple unindented lines followed by a line of only =s for H1 or -s for H2. including just one - or =.
Is there anyone working on this? If not, I'll try to figure out some workaround…