Commit Graph

249 Commits

Author SHA1 Message Date
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
Tom Alexander
5d9771c3b6 Move old modules out of the src tree. 2023-03-25 12:25:05 -04:00
Tom Alexander
23eb4d01f4 Add title to heading object. 2023-03-25 12:18:47 -04:00
Tom Alexander
e3f6dd497a Test cases showing headings handling nesting properly. 2023-03-25 12:01:50 -04:00
Tom Alexander
3a0a4c8953 Consume the trailing whitespace after a headline. 2023-03-25 11:59:19 -04:00
Tom Alexander
b65c2f86b5 Consume trailing whitespace in paragraphs. 2023-03-25 11:50:15 -04:00
Tom Alexander
faf2bb401d Fix plain text matcher exit conditions. 2023-03-25 11:40:12 -04:00
Tom Alexander
2ab407bb83 Invoke the document parser. 2023-03-25 11:27:38 -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
b88365e7eb Wrote plain text parser. 2023-03-25 10:45:43 -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
d3c804942f Simplified context_many1 based on the assumption that we will not use previous element context elements. 2023-03-23 18:25:00 -04:00
Tom Alexander
ee60cf40dd Disable building the old combinator. 2023-03-23 18:01:33 -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
35d60c10ba Define greater and lesser elements. 2023-03-23 17:26:07 -04:00
Tom Alexander
66befc66a9 Define regular link. 2023-03-23 17:02:08 -04:00
Tom Alexander
87c4a955af Starting to define objects based on org-mode's definitions. 2023-03-23 16:49:52 -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
f060e7189b Minor cleanup. 2023-03-23 14:13:21 -04:00
Tom Alexander
cee12b7512 Allow IgnoreParent to be dead code. 2023-03-21 13:44:22 -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