Commit Graph

589 Commits

Author SHA1 Message Date
Tom Alexander
1badd3b0fc Add TODO about a bug. 2023-04-19 19:56:21 -04:00
Tom Alexander
7728f3b71e Fix property drawers beneath headlines. 2023-04-19 19:53:37 -04:00
Tom Alexander
87bdedf2e6 Only drop trailing whitespace when there isn't a property drawer. 2023-04-19 19:39:56 -04:00
Tom Alexander
d0410391cc Drop blank lines after property drawer instead of owning them. 2023-04-19 19:28:21 -04:00
Tom Alexander
4e65d2cda9 Fix requiring no space between comment and property drawer for zeroth section. 2023-04-19 19:22:23 -04:00
Tom Alexander
603cc131a0 Numerous fixes to property drawers. 2023-04-19 19:03:51 -04:00
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
99677ee98e fixup 2023-04-19 18:10:55 -04:00
Tom Alexander
8de6f1a817 Implement node property. 2023-04-19 18:10:29 -04:00
Tom Alexander
f7f29e7a56 Finish property drawer parser but node property is unstarted. 2023-04-19 17:15:00 -04:00
Tom Alexander
2137b08e42 Detect the opening and build the context. 2023-04-19 17:03:46 -04:00
Tom Alexander
18f8e2562e Remove the old toy language binary.
Using the org_mode_samples integration tests through the rust test framework has removed the need for the toy language binary and I think removing it will make rust-analyzer less confused about imports. This repository is now solely a library repository.
2023-04-19 16:54:17 -04:00
Tom Alexander
a267f23e0f Initial code structure for property drawers. 2023-04-19 16:51:00 -04:00
Tom Alexander
7ac0cee223 Support nesting greater blocks of different names. 2023-04-19 15:00:02 -04:00
Tom Alexander
2b08b52c16 Support drawers with only whitespace. 2023-04-19 14:52:31 -04:00
Tom Alexander
c6fd04e9ce Fix footnote definition end matcher detecting the next footnote definition. 2023-04-19 14:30:02 -04:00
Tom Alexander
cab5ba70e5 Parser for dynamic blocks. 2023-04-19 13:51:18 -04:00
Tom Alexander
0d07a6aad3 Initial structure for dynamic blocks. 2023-04-19 13:30:15 -04:00
Tom Alexander
400e253cf1 Don't give paragraph a context since it just contains objects. 2023-04-18 22:18:21 -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
13a2ba1dc5 Handle greater blocks with only blank space inside them. 2023-04-18 21:28:22 -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
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