mirror of
https://github.com/AdaCore/markdown.git
synced 2026-02-12 13:11:15 -08:00
Skip leading spaces in ATX headers
This commit is contained in:
@@ -9,7 +9,7 @@ with VSS.Regular_Expressions;
|
||||
package body Markdown.Implementation.ATX_Headings is
|
||||
|
||||
Prefix_Pattern : constant Wide_Wide_String :=
|
||||
"^(?: | | |)(######|#####|####|###|##|#)(?: |$)";
|
||||
"^(?: | | |)(######|#####|####|###|##|#)(?: +|$)";
|
||||
|
||||
Suffix_Pattern : constant Wide_Wide_String := " +#* *$";
|
||||
|
||||
@@ -37,6 +37,8 @@ package body Markdown.Implementation.ATX_Headings is
|
||||
overriding function Create
|
||||
(Input : not null access Input_Position) return ATX_Heading
|
||||
is
|
||||
Ignore : Boolean;
|
||||
|
||||
Prefix_Match : constant VSS.Regular_Expressions.Regular_Expression_Match
|
||||
:= Prefix.Match (Input.Line.Expanded, Input.First);
|
||||
|
||||
@@ -50,11 +52,11 @@ package body Markdown.Implementation.ATX_Headings is
|
||||
Result.Level := Positive (Prefix_Match.Marker (1).Character_Length);
|
||||
|
||||
Input.First.Set_At (Prefix_Match.Last_Marker);
|
||||
Ignore := Input.First.Forward; -- Move to char after space
|
||||
|
||||
if Suffix_Match.Has_Match then
|
||||
declare
|
||||
Last : VSS.Strings.Character_Iterators.Character_Iterator;
|
||||
Ignore : Boolean;
|
||||
begin
|
||||
Last.Set_At (Suffix_Match.First_Marker);
|
||||
Ignore := Last.Backward;
|
||||
|
||||
@@ -29,7 +29,6 @@ Example 59 (lines 1053-1060) Thematic breaks
|
||||
Example 65 (lines 1158-1162) ATX headings
|
||||
Example 66 (lines 1167-1171) ATX headings
|
||||
Example 76 (lines 1269-1277) ATX headings
|
||||
Example 79 (lines 1307-1315) ATX headings
|
||||
Example 80 (lines 1347-1356) Setext headings
|
||||
Example 81 (lines 1361-1368) Setext headings
|
||||
Example 82 (lines 1375-1382) Setext headings
|
||||
@@ -198,4 +197,4 @@ Example 631 (lines 9191-9195) Raw HTML
|
||||
Example 632 (lines 9198-9202) Raw HTML
|
||||
Example 642 (lines 9305-9311) Hard line breaks
|
||||
Example 643 (lines 9314-9320) Hard line breaks
|
||||
452 passed, 200 failed, 0 errored, 0 skipped
|
||||
453 passed, 199 failed, 0 errored, 0 skipped
|
||||
|
||||
Reference in New Issue
Block a user