Commit Graph

286 Commits

Author SHA1 Message Date
Tom Alexander
9c832053d4
Remove parent exit matcher check from section.
This was poorly thought out and causing exit due to the no exit error.
2023-04-10 12:08:03 -04:00
Tom Alexander
ea753ad33c
Fix footnote definition end matcher to use trailing whitespace. 2023-04-10 12:03:01 -04:00
Tom Alexander
6578ddc100
Add a test for footnote definition. 2023-04-10 11:54:05 -04:00
Tom Alexander
e5bc4cb14b
Footnote definitions are parsing on their own. 2023-04-10 11:50:43 -04:00
Tom Alexander
45db182421
Add comment about why we are not checking the parent exit matcher in paragraph. 2023-04-10 11:34:29 -04:00
Tom Alexander
df9265c2af
Updated paragraph to handle the new consumption of trailing whitespace. 2023-04-10 11:29:14 -04:00
Tom Alexander
e417e86bd4
Add a simple test for paragraphs. 2023-04-10 11:24:04 -04:00
Tom Alexander
204f319a92
Simplify headline_end and section_end now that eof is a special case. 2023-04-10 11:19:20 -04:00
Tom Alexander
cbe7ef4030
Update the section parser to handle the new whitespace-included element parsers. 2023-04-10 11:16:32 -04:00
Tom Alexander
54b0ff5036
Check for whitespace eof in exit matcher. 2023-04-10 10:50:42 -04:00
Tom Alexander
137815dbaf
Only use a local context when checking exit matchers.
This prevents context tree from deeper in the parse impacting exit checks for earlier in the parse. This is needed due to the trailing whitespace context element.
2023-04-10 10:49:28 -04:00
Tom Alexander
9a0172e1a4
Add a context element for tracking whether or not elements should consume their trailing whitespace. 2023-04-10 10:36:16 -04:00
Tom Alexander
6813c7c991
Identified the problem as being the handling of the trailing whitespace. 2023-04-10 09:49:24 -04:00
Tom Alexander
716f80b0ec
Add initial implementation of footnote definition. 2023-04-07 17:14:44 -04:00
Tom Alexander
42fca12e41
Add support for indenting greater blocks. 2023-04-07 16:18:13 -04:00
Tom Alexander
7023fb4617
Add a comment about a shortcoming. 2023-04-03 19:40:20 -04:00
Tom Alexander
d7f0a02bb8
Fix plain list ending with another element. 2023-04-03 19:30:17 -04:00
Tom Alexander
9257420c83
Add comment defining problem. 2023-04-03 19:19:33 -04:00
Tom Alexander
70225a668b
Do not match lesser blocks. 2023-04-03 18:38:35 -04:00
Tom Alexander
6e6ec56d1f
Basic implementation of greater block parser. 2023-04-03 18:33:07 -04:00
Tom Alexander
9e0bea4c3e
Starting the greater block source. 2023-04-03 17:36:56 -04:00
Tom Alexander
9ad428bb20
Standardize on the children name instead of contents. 2023-04-03 17:33:01 -04:00
Tom Alexander
11f127b545
Minor cleanup. 2023-04-03 17:25:30 -04:00
Tom Alexander
c7c922a4df
Do not allow plain lists to start with an asterisk with no indent. 2023-04-03 16:38:26 -04:00
Tom Alexander
b5b335b9b0
Fix handling of whitespace at the end of paragraphs and mandatory whitespace in list items. 2023-04-03 16:30:58 -04:00
Tom Alexander
2d1df18544
Cleanup. 2023-04-03 15:15:16 -04:00
Tom Alexander
2552ba28d1
Correctly parsing plain list items. 2023-04-03 15:06:12 -04:00
Tom Alexander
e681f8fdff
Remove the exit matcher block.
I'm not sure this is a problem, but while I'm debugging I want this removed to be safe.
2023-03-31 13:22:30 -04:00
Tom Alexander
2b0e88dc01
The current problem is plain_list_item_end is not taking into account depth. 2023-03-31 13:08:53 -04:00
Tom Alexander
68156f3667
Consume line break at the end of paragraph. 2023-03-31 11:42:04 -04:00
Tom Alexander
707eac5bf8
Move trailing whitespace parsing to a separate element.
I still need to parse the line break at the end of elements.
2023-03-31 11:16:37 -04:00
Tom Alexander
602cf4c374
Removing regurgitate calls.
This hacky solution ends up with whitespace getting captured twice so I will need to either use context or a separate parser.
2023-03-31 09:54:48 -04:00
Tom Alexander
775e703ade
Not sure whats going on. 2023-03-27 19:19:51 -04:00
Tom Alexander
9545990b52
Regurgitate seems to have made all text a paragraph. 2023-03-27 19:12:20 -04:00
Tom Alexander
3643f91bac
The current problem is whitespace at the end of a list item should not be consumed. 2023-03-27 18:50:25 -04:00
Tom Alexander
3d8fe253c9
Check for exit matcher between elements in a plain list item. 2023-03-27 18:22:08 -04:00
Tom Alexander
2c7a559869
Fix the line break consumption issue.
This leaves us with an issue of lists becoming needlessly nested.
2023-03-27 18:10:14 -04:00
Tom Alexander
028946ec90
Identified the problem.
The issue is plain text is eating the line break so paragraph is failing since it expects a line break at the end.
2023-03-27 18:08:17 -04:00
Tom Alexander
cddefdb963
Remove unnecessary exit matcher check. 2023-03-27 16:53:38 -04:00
Tom Alexander
a77d2655bd
Instrument the code. 2023-03-27 16:36:43 -04:00
Tom Alexander
22a2ed29f1
Integrate plain list parser into the parser tree. 2023-03-27 13:06:41 -04:00
Tom Alexander
81a9a754de
I seem to have solved the infinite loop issue by moving the exit check into the plain list parser. 2023-03-27 12:52:49 -04:00
Tom Alexander
188fdaacbc
Remove dead line of code. 2023-03-27 12:07:40 -04:00
Tom Alexander
d2923bfc0f
Add a special case exit matcher for end of file. 2023-03-25 14:45:35 -04:00
Tom Alexander
fc9d131740
Add basic test for plain list item. 2023-03-25 14:28:48 -04:00
Tom Alexander
422535fbe4
Wrote a plain list item parser. 2023-03-25 14:23:52 -04:00
Tom Alexander
e6752b9d83
Building the plain list item context. 2023-03-25 14:10:22 -04:00
Tom Alexander
4a863e92ff
Add a test case showing only paragraphs exist on the first line for plain lists. 2023-03-25 13:25:20 -04:00
Tom Alexander
ab09edb5de
Initial structures for plain lists. 2023-03-25 13:16:28 -04:00
Tom Alexander
74fc440cbd
Move parsers for specific objects/elements to their own files.
The parsers are the most complicated part, so I want them in their own files. I am uncertain if I want to move their corresponding structs or just the parsers.
2023-03-25 12:53:57 -04:00