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
d3bb642a10
Unify status name handling on the emacs name.
2023-04-19 16:04:30 -04:00
Tom Alexander
94193d4fa5
Make name mismatch report an error rather than abort everything.
2023-04-19 15:38:36 -04:00
Tom Alexander
a6d8c873d4
Add an assert_bounds utility function.
2023-04-19 15:29:46 -04:00
Tom Alexander
a4c6e899ac
Add a utility function to check the first element in an sexp.
2023-04-19 15:19:21 -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
ed8cdae1cd
Add diff code for dynamic blocks.
2023-04-19 13:59:17 -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
d69522c7dc
Remove the compare binary since this is now integrated with the tests.
2023-04-19 00:12:14 -04:00
Tom Alexander
72c8da94a3
Hook the integration tests into rust's test framework.
...
Instead of using a hacked-together shell script, use rust's test framework to do the comparison.
2023-04-18 23:50:58 -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
31f6914194
Add code to compare drawers.
2023-04-15 18:00:34 -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
965c5dd15f
Add diffing of quote greater blocks.
2023-04-15 00:07:20 -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
9efc291d28
Add a script to check all sample org-mode documents with the compare program.
2023-04-12 15:03:14 -04:00
Tom Alexander
1a38ca43d6
Update the diff program to use exit code 1 for non-matching diff.
2023-04-12 14:50:56 -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
a456acd1e9
Do not print the parsed sexp.
...
These were particularly spammy.
2023-04-11 19:51:20 -04:00
Tom Alexander
52df376553
Calculate bad children on-the-fly.
2023-04-11 19:28:45 -04:00
Tom Alexander
52b401d548
comparing begin and end offsets for top-level sections and headlines.
2023-04-11 19:16:04 -04:00