Commit Graph

567 Commits

Author SHA1 Message Date
Tom Alexander
35eff51d1b First implementation moving over to the new exit matcher class system. 2023-04-18 20:33:01 -04:00
Tom Alexander
fcd5c7d3cd Add an enum for exit class. 2023-04-17 21:16:39 -04:00
Tom Alexander
9e4bf553d3 First attempt at implementing drawers. 2023-04-15 17:56:07 -04:00
Tom Alexander
1f7c24545b Initial structure for drawer. 2023-04-15 17:36:07 -04:00
Tom Alexander
50d05b99be Require space after hash in comment if comment line is not empty. 2023-04-15 17:08:22 -04:00
Tom Alexander
6e4aa38fce Add test demonstrating problem. 2023-04-15 17:04:47 -04:00
Tom Alexander
4e460e4a8c Consume line ending in comments. 2023-04-15 16:59:30 -04:00
Tom Alexander
33bc1af17d First stab at implementing comments. 2023-04-15 16:53:58 -04:00
Tom Alexander
d1a7d0b835 Show that trailing whitespace belongs to comments. 2023-04-15 16:37:25 -04:00
Tom Alexander
26e0ad5800 Add an example exploring indentation with comments. 2023-04-15 16:36:11 -04:00
Tom Alexander
1b10b197f2 Initial structure for adding support for comments. 2023-04-15 16:31:38 -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
05c9ec86b8 Compare plain list items inside plain lists. 2023-04-12 14:07:33 -04:00
Tom Alexander
57f56eb860 Compare footnote definition and greater block bounds. 2023-04-12 13:45:22 -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
75a47deedd Compare plain list bounds. 2023-04-12 13:16:25 -04:00
Tom Alexander
f27965001d End plain lists when there are two blank lines. 2023-04-12 13:09:44 -04:00
Tom Alexander
2a601475fd Compare children of sections. 2023-04-12 11:46:49 -04:00
Tom Alexander
c4e6549feb Compare children of heading. 2023-04-12 11:35:02 -04:00
Tom Alexander
4dbf8b9c69 Capture the trailing whitespace for the file as regular trailing whitespace for elements.
This makes our ranges for sections and headlines match up with the emacs org-mode parser for the example at org_mode_samples/sections_and_headings/sections_and_headings.org.
2023-04-12 11:17:21 -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
6e62bd5ff2 Initial return and printing of tree diff output. 2023-04-11 18:29:40 -04:00
Tom Alexander
287cc8dea3 Just barely starting to diff the two parsed forms. 2023-04-11 17:35:09 -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
895ee9f3b6 Add a test showing the footnote exit matcher is not handling multiple blank lines properly. 2023-04-10 12:16:49 -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
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