Commit Graph

55 Commits

Author SHA1 Message Date
Tom Alexander
18323a2b43
Solve the rest of the compiler warnings. 2023-04-21 18:42:31 -04:00
Tom Alexander
a1724dae52
Combine the error types. 2023-04-21 18:36:01 -04:00
Tom Alexander
d780981baf
Separate out the element parsers. 2023-04-21 16:10:56 -04:00
Tom Alexander
45d0ce17c3
Do not allow elements to immediately nest inside themselves.
Plain list is omitted because they can nest.
2023-04-18 22:10:44 -04:00
Tom Alexander
a2051aca4f
Remove ChainBehavior. 2023-04-18 20:44:58 -04:00
Tom Alexander
35eff51d1b
First implementation moving over to the new exit matcher class system. 2023-04-18 20:33:01 -04:00
Tom Alexander
412bdcda28
Fix problem with detecting end of plain list item.
The problem is line indented lte does not match because we aren't consuming the whitespace that the plain list would consume.
2023-04-14 23:56:55 -04:00
Tom Alexander
be64eb92af
Ran into a bigger issue. 2023-04-14 20:17:53 -04:00
Tom Alexander
8549a6b0db
Fix case where indentation was causing the plain list item matcher to match items it wouldn't use in other parts. 2023-04-14 19:56:54 -04:00
Tom Alexander
143ac49777
Fix plain list item parser to not consume trailing whitespace on the last element. 2023-04-14 19:32:08 -04:00
Tom Alexander
08fed1301e
Fix plain list parser to not consume trailing whitespace on the last item. 2023-04-14 19:24:05 -04:00
Tom Alexander
665c1d70fb
Add a test case demonstrating an issue. 2023-04-12 15:24:18 -04:00
Tom Alexander
ba9ef7907f
Add a test proving that nested lists are exited by two blank lines. 2023-04-12 13:21:31 -04:00
Tom Alexander
f27965001d
End plain lists when there are two blank lines. 2023-04-12 13:09:44 -04:00
Tom Alexander
1ecdd61fed
Do not consume trailing whitespace if the parent exit matcher is matching. 2023-04-10 13:13:11 -04:00
Tom Alexander
e5bc4cb14b
Footnote definitions are parsing on their own. 2023-04-10 11:50:43 -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
716f80b0ec
Add initial implementation of footnote definition. 2023-04-07 17:14:44 -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
9ad428bb20
Standardize on the children name instead of contents. 2023-04-03 17:33:01 -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
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
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
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
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
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
5d9771c3b6
Move old modules out of the src tree. 2023-03-25 12:25:05 -04:00
Tom Alexander
77d8c5e029
Mark the plain list functions as allow dead code. 2023-03-21 13:38:23 -04:00
Tom Alexander
2fcb445fe9
Switch to ending plain lists with 2 blank lines instead of just 1. 2023-03-21 13:36:52 -04:00
Tom Alexander
e3f0aaefdf
Add TODO. 2023-03-19 18:28:59 -04:00
Tom Alexander
bf3464c65c
End list items when the following line is indented less than or equal to the current item. 2023-03-19 13:05:37 -04:00
Tom Alexander
6d19eeb0f4
Add parsers for lines that are indented less than or equal to the current line item's indent. 2023-03-18 17:32:07 -04:00
Tom Alexander
29904f2bb5
Detect next list item as ender for current list item. 2023-03-18 14:36:33 -04:00
Tom Alexander
88c974f8e4
Record the list item indent depth in the context tree. 2023-03-18 13:26:35 -04:00
Tom Alexander
32897270a5
Support leading whitespace for list items. 2023-03-18 13:26:32 -04:00