Rename markdown Header to Heading to avoid ambiguity and for consistency with MD/HTML standards

This commit is contained in:
Tyrrrz 2023-06-02 13:59:39 +03:00
parent 30b447d2ae
commit bf0d8ab31e
4 changed files with 14 additions and 14 deletions

View file

@ -89,20 +89,20 @@ internal partial class HtmlMarkdownVisitor : MarkdownVisitor
_buffer.Append(closingTag);
}
protected override async ValueTask VisitHeaderAsync(
HeaderNode header,
protected override async ValueTask VisitHeadingAsync(
HeadingNode heading,
CancellationToken cancellationToken = default)
{
_buffer.Append(
// lang=html
$"<h{header.Level}>"
$"<h{heading.Level}>"
);
await VisitAsync(header.Children, cancellationToken);
await VisitAsync(heading.Children, cancellationToken);
_buffer.Append(
// lang=html
$"</h{header.Level}>"
$"</h{heading.Level}>"
);
}

View file

@ -2,7 +2,7 @@
namespace DiscordChatExporter.Core.Markdown;
internal record HeaderNode(
internal record HeadingNode(
int Level,
IReadOnlyList<MarkdownNode> Children
) : MarkdownNode, IContainerNode;

View file

@ -95,10 +95,10 @@ internal static partial class MarkdownParser
(s, m) => new FormattingNode(FormattingKind.Quote, Parse(s.Relocate(m.Groups[1])))
);
private static readonly IMatcher<MarkdownNode> HeaderNodeMatcher = new RegexMatcher<MarkdownNode>(
private static readonly IMatcher<MarkdownNode> HeadingNodeMatcher = new RegexMatcher<MarkdownNode>(
// Consume the linebreak so that it's not attached to following nodes.
new Regex(@"^(\#{1,3})\s(.+)\n", DefaultRegexOptions),
(s, m) => new HeaderNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2])))
(s, m) => new HeadingNode(m.Groups[1].Length, Parse(s.Relocate(m.Groups[2])))
);
private static readonly IMatcher<MarkdownNode> ListNodeMatcher = new RegexMatcher<MarkdownNode>(
@ -330,7 +330,7 @@ internal static partial class MarkdownParser
MultiLineQuoteNodeMatcher,
RepeatedSingleLineQuoteNodeMatcher,
SingleLineQuoteNodeMatcher,
HeaderNodeMatcher,
HeadingNodeMatcher,
ListNodeMatcher,
// Code blocks

View file

@ -16,10 +16,10 @@ internal abstract class MarkdownVisitor
CancellationToken cancellationToken = default) =>
await VisitAsync(formatting.Children, cancellationToken);
protected virtual async ValueTask VisitHeaderAsync(
HeaderNode header,
protected virtual async ValueTask VisitHeadingAsync(
HeadingNode heading,
CancellationToken cancellationToken = default) =>
await VisitAsync(header.Children, cancellationToken);
await VisitAsync(heading.Children, cancellationToken);
protected virtual async ValueTask VisitListAsync(
ListNode list,
@ -72,9 +72,9 @@ internal abstract class MarkdownVisitor
return;
}
if (node is HeaderNode header)
if (node is HeadingNode heading)
{
await VisitHeaderAsync(header, cancellationToken);
await VisitHeadingAsync(heading, cancellationToken);
return;
}