Commit Graph

75 Commits

Author SHA1 Message Date
Tom Alexander 9c1e6ccc97
Add a detect_element function.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
This is an optimization. When you have something like plain text which ends when it hits the next element, we only need to parse enough to detect that an element is about to occur. For elements like plain lists, this is as simple as parsing a line starting with optional whitespace and then a bullet, which avoids parsing the entire plain list tree. The benefit is most noticeable in deeply nested plain lists.
2023-08-25 01:07:53 -04:00
Tom Alexander dab598e5e7
Convert all functions to using the wrapped input type.
rust-test Build rust-test has failed Details
rust-build Build rust-build has failed Details
2023-08-24 16:06:29 -04:00
Tom Alexander cd1b4ba785
Make the tracing macros optional. 2023-08-10 20:22:34 -04:00
Tom Alexander 0ca6ce504f
Simulate trailing whitespace in empty greater blocks just like drawers. 2023-04-22 21:45:18 -04:00
Tom Alexander 0b3f414ecf
Get tracing back into the element parser. 2023-04-22 19:15:29 -04:00
Tom Alexander 4816a5dfc4
Code structure for latex environment. 2023-04-22 16:56:36 -04:00
Tom Alexander 92ee59558b
Remove unused import. 2023-04-22 01:36:43 -04:00
Tom Alexander af90ea6dfd
Fix infinite loop by only checking paragraph matcher when boolean is true.
Before I was checking afterwards with a verify, which was causing an infinite loop.
2023-04-22 01:34:34 -04:00
Tom Alexander 7855020927
Fix some errors. 2023-04-22 01:13:05 -04:00
Tom Alexander 4ac6d89311
Moving towards unifying into a single parameterized element matcher.
This is to give paragraph priority over keyword in parsing so that affiliated keywords for paragraphs will be parsed as such.
2023-04-22 00:55:31 -04:00
Tom Alexander fef5841713
Identify a problem. 2023-04-22 00:23:16 -04:00
Tom Alexander 7b7779ee7e
Set the source using the full range of affiliated keywords to trailing whitespace. 2023-04-22 00:09:14 -04:00
Tom Alexander 0b989b53a6
Fix warnings. 2023-04-21 23:55:18 -04:00
Tom Alexander e97cf6630f
Move consuming the trailing whitespace up to the element matchers. 2023-04-21 23:54:54 -04:00
Tom Alexander 7df899e3a7
Read affiliated keywords. 2023-04-21 23:36:38 -04:00
Tom Alexander f0bab39778
Code structure for keyword. 2023-04-21 22:33:10 -04:00
Tom Alexander bfffde3fdb
Implement the horizontal rule parser. 2023-04-21 22:23:59 -04:00
Tom Alexander 5ae8ac61e5
Code structure for fixed width area. 2023-04-21 22:04:22 -04:00
Tom Alexander db78faa36f
Add the code structure for diary sexp. 2023-04-21 20:22:31 -04:00
Tom Alexander c2ccf4da37
Set up the initial code structure for the clock. 2023-04-21 19:05:30 -04:00
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 dbb04dcba6
Defining new structs for each type of lesser block. 2023-04-21 17:55:10 -04:00
Tom Alexander 0293ca6b12
Set up code structure for lesser blocks. 2023-04-21 16:31:25 -04:00
Tom Alexander d780981baf
Separate out the element parsers. 2023-04-21 16:10:56 -04:00