Commit Graph

90 Commits

Author SHA1 Message Date
Tom Alexander
b557b9ca5d
Accounting for the blank lines at the head of documents and comments plus property drawer at the head of the zeroth section. 2023-04-19 18:37:39 -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
52b401d548
comparing begin and end offsets for top-level sections and headlines. 2023-04-11 19:16:04 -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
6fdd613bed
Cleanup. 2023-04-10 12:13:31 -04:00
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
e5bc4cb14b
Footnote definitions are parsing on their own. 2023-04-10 11:50:43 -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
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
2d1df18544
Cleanup. 2023-04-03 15:15:16 -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
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
e6752b9d83
Building the plain list item context. 2023-03-25 14:10:22 -04:00
Tom Alexander
23eb4d01f4
Add title to heading object. 2023-03-25 12:18:47 -04:00
Tom Alexander
3a0a4c8953
Consume the trailing whitespace after a headline. 2023-03-25 11:59:19 -04:00
Tom Alexander
3c26933e7f
Move some functions into util. 2023-03-25 11:25:10 -04:00
Tom Alexander
d582c8603a
Implement a basic paragraph parser. 2023-03-25 11:22:59 -04:00
Tom Alexander
f2d16d302a
Implement document parser. 2023-03-24 17:34:56 -04:00
Tom Alexander
7ab3df6938
Use headline instead of heading for section_end.
This should be more performant.
2023-03-24 17:30:33 -04:00
Tom Alexander
8013f127df
Implement heading parser. 2023-03-24 17:19:46 -04:00
Tom Alexander
dc9f3eb2e6
Implement the section parser. 2023-03-24 17:00:27 -04:00
Tom Alexander
754c1922df
Create a start_of_line parser. 2023-03-24 16:37:34 -04:00
Tom Alexander
ceb7788cfa
Check the exit matcher in more places. 2023-03-23 20:12:42 -04:00
Tom Alexander
3502a31b28
Simple version of the headline parser done. 2023-03-23 20:03:45 -04:00
Tom Alexander
4f10f2abec
Solved the lifetime issue by using the standard many1 combinator. 2023-03-23 20:00:35 -04:00
Tom Alexander
02d04b59db
Ran into a lifetime issue. 2023-03-23 19:53:20 -04:00
Tom Alexander
5c8a064eca
Start writing the parser for headings. 2023-03-23 19:35:32 -04:00
Tom Alexander
6042c44514
Starting to define document parser. 2023-03-23 17:59:39 -04:00
Tom Alexander
d98a11059c
Introduce the document structure. 2023-03-23 17:52:16 -04:00
Tom Alexander
36210c2d7f
Add a DocumentRoot context element storing the original full document.
This might be used for look-behind instead of storing previous element nodes in the context tree.
2023-03-23 16:40:39 -04:00
Tom Alexander
60d9487fdf
Add comment. 2022-12-18 04:36:12 -05:00
Tom Alexander
2def475337
Move the structs into the token module. 2022-12-18 03:24:35 -05:00
Tom Alexander
8211e1043f
Move in_section to a util module. 2022-12-18 03:18:43 -05:00
Tom Alexander
6404e5f50e
Cleanup 2022-12-18 03:15:11 -05:00
Tom Alexander
4ac3a47deb
Move the text element parser into the text module. 2022-12-18 03:15:11 -05:00