Commit Graph

262 Commits

Author SHA1 Message Date
Tom Alexander 2682779534
Add support for parsing description lists. 2023-08-29 18:13:55 -04:00
Tom Alexander ea6faf728c
Add test for description list. 2023-08-29 18:07:35 -04:00
Tom Alexander f426e32798
Do not include trailing punctuation or whitespace in plain links. 2023-08-29 17:35:04 -04:00
Tom Alexander 66037356c5
Add test showing plain links ending in punctuation currently do not parse correctly. 2023-08-29 17:24:44 -04:00
Tom Alexander 1bcd1895c0
Allow affiliating keywords with regular keywords. 2023-08-29 17:19:13 -04:00
Tom Alexander e3d38cfbe2
Add a test for floating affiliated keywords. 2023-08-29 17:05:19 -04:00
Tom Alexander 56865c68fc
Do not allow plain links without a path. 2023-08-29 15:44:04 -04:00
Tom Alexander f376f1cf8e
Add a test for empty sections. 2023-08-29 14:10:26 -04:00
Tom Alexander a46b358549
Switch citations to using bracket depth from OrgSource instead of from the context.
This is for the same reasons as footnote references.
2023-08-28 03:04:32 -04:00
Tom Alexander ec813e3b3f
Switch to using bracket depth from OrgSource instead of from the context for footnote references.
It is currently unknown if this will produce a performance increase, but unless it has a significant performance penalty we are going to go forward with this change because it makes it more explicit which values need to be read deeply from other elements (therefore needing to be in the context) vs values that can be bound to the exit matcher since they are only used within the confines of the current element.

I suspect we will get a performance boost since it will be reducing the nodes that need to be walked in the context but maintaining bracket depth count over the entire document instead of only inside elements that need balanced brackets could cost us.
2023-08-28 03:04:32 -04:00
Tom Alexander 16e788c36c
Add tests for LaTeX fragments and text markup that span more than three lines.
The documentation currently states that the body for these cannot span more than three lines but that is not the behavior I am seeing from emacs in practice. Waiting on a mailing list response to tell me if this is a documentation error or a parser error.
2023-08-28 01:18:46 -04:00
Tom Alexander 18a396b7cb
Remove deprecated tests.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-27 23:25:50 -04:00
Tom Alexander 1a3e26c148
Update plain list greater block exit matcher priority test to match blog post.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
It is still testing the same thing, but I changed the contents a bit to match what is being used in my blog post.
2023-08-27 21:03:16 -04:00
Tom Alexander 2d4e54845b
Add support for parsing tags in headlines. 2023-08-25 06:13:29 -04:00
Tom Alexander d5ea650b96
Add a test for dynamic blocks. 2023-08-25 05:36:57 -04:00
Tom Alexander efa372a9e9
Add a test case that breaks the current parser. 2023-08-25 04:39:58 -04:00
Tom Alexander 69ecfd2646
Move all the specific-token tests into subfolders.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-20 23:38:47 -04:00
Tom Alexander 8162f03051
Put all trailing whitespace ownership test cases into the automated tests.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
Notes for this investigation moved to cba1d1e988/notes/plain_list_ownership_notes.org .

Mailing list thread on the investigation: https://list.orgmode.org/9372527e-3852-419e-936a-7b4dd38cc847@app.fastmail.com/ .
2023-08-20 16:03:31 -04:00
Tom Alexander f7ec89858d
Add notes about optimization ideas. 2023-08-14 23:16:23 -04:00
Tom Alexander 92abac37e2
s/precedent/precedence/
I used the wrong word. This is referring to the priority between paragraphs ending vs export snippets ending, not a reference to something occurring in the past.
2023-08-14 13:57:01 -04:00
Tom Alexander fc28e3b514
Add a test for trailing blank lines after paragraphs.
rust-test Build rust-test has failed Details
rustfmt Build rustfmt has succeeded Details
rust-build Build rust-build has succeeded Details
The behavior in emacs does not match the description in the org-mode documentation. I have sent an email to the org-mode mailing list and I am waiting their response so I can adjust (or not adjust) my parser accordingly.
2023-08-11 01:37:04 -04:00
Tom Alexander 73e15286dc
Add test cases. 2023-07-24 17:15:27 -04:00
Tom Alexander f717d5e7df
Implement parser for braceless subscript/superscript. 2023-07-24 15:41:14 -04:00
Tom Alexander 8c00ee24ba
Add a test to prove that subscript/superscript cannot start without a leading character even though its at the start of the file. 2023-07-24 14:33:04 -04:00
Tom Alexander 4a565601c1
Add test cases. 2023-07-24 14:29:20 -04:00
Tom Alexander b8b2e33137
Implement the statistics cookie parser. 2023-07-22 02:12:21 -04:00
Tom Alexander caa6c41798
Add a test case. 2023-07-22 01:40:27 -04:00
Tom Alexander 6b82214ec3
Add test case. 2023-07-21 23:41:29 -04:00
Tom Alexander 0b41e12424
Fix counting brackets in inline source block. 2023-07-21 23:14:52 -04:00
Tom Alexander 2773b35438
Add test case. 2023-07-21 19:53:18 -04:00
Tom Alexander 7ce9dafd96
Fix parsing citations inside paragraphs. 2023-07-21 18:52:02 -04:00
Tom Alexander 640a9375bc
Add a testcase populating all the optional fields for citations. 2023-07-21 18:28:16 -04:00
Tom Alexander c1a99a03f8
Add test case. 2023-07-19 17:52:59 -04:00
Tom Alexander eb03342506
Add test cases. 2023-07-18 23:46:10 -04:00
Tom Alexander 5ad8fdf4b2
Add test cases. 2023-07-18 21:14:49 -04:00
Tom Alexander 2966b91a09
Add an example for org-mode entities. 2023-07-18 19:40:09 -04:00
Tom Alexander f3592347c1
Add a test showing that radio targets only have to semantically match their links. 2023-07-14 12:28:52 -04:00
Tom Alexander c0371ff958
Add sample org documents with macros. 2023-07-13 23:16:56 -04:00
Tom Alexander b3ab8cde43
Add test data for angle links. 2023-07-13 22:45:13 -04:00
Tom Alexander a352699fdc
Remove the id link.
semver Build semver has succeeded Details
cargo-fmt Build cargo-fmt has succeeded Details
build-organic-test Build build-organic-test has succeeded Details
organic-test Build organic-test has succeeded Details
build-cargo-fmt Build build-cargo-fmt has succeeded Details
This was not added to org-link-parameters until emacs 29. Since I use emacs 29 locally, but the CI uses emacs 28, I am removing the test case until emacs 29 is released.
2023-07-13 19:43:26 -04:00
Tom Alexander 5f4e240af0
Add an initial implementation of PlainLink. 2023-07-13 19:20:17 -04:00
Tom Alexander ab7eb76e13
Radio links can exist before their target is defined. 2023-04-24 19:55:23 -04:00
Tom Alexander 5c37373419
Add a simple radio link example. 2023-04-24 18:42:15 -04:00
Tom Alexander ed174c1c41
Fix nested bolds child eating the parent exit. 2023-04-24 16:48:33 -04:00
Tom Alexander f1bd7f2d1b
Add support for rust-coreutils in integration test script. 2023-04-23 16:12:34 -04:00
Tom Alexander 72e656751a
It looks like paragraphs inside empty drawers just capture the first new line and then the rest are trailing whitespace capture. 2023-04-22 21:11:22 -04:00
Tom Alexander 401fb339d0
Add a text markup text with all variants. 2023-04-22 20:05:58 -04:00
Tom Alexander 80f43d54da
Add a simple example of text markup. 2023-04-22 18:55:24 -04:00
Tom Alexander 8072430265
Add an example of text markup opening and closing. 2023-04-22 17:31:21 -04:00
Tom Alexander 185f16d2cc
Add latex environment simple test. 2023-04-22 16:48:56 -04:00
Tom Alexander 0117a9490a
Add a test for affiliated keywords. 2023-04-21 23:01:12 -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 591d9c5e1f
Make the test a little more complex. 2023-04-21 21:26:38 -04:00
Tom Alexander ead643b3c7
Add a simple planning example. 2023-04-21 21:24:36 -04:00
Tom Alexander fa88a7d600
Add a simple diary sexp test case. 2023-04-21 20:23:58 -04:00
Tom Alexander 30c82ca1bb
Add a simple clock test. 2023-04-21 19:24:23 -04:00
Tom Alexander 6fce666983
Add test case for invalid src block. 2023-04-21 18:13:23 -04:00
Tom Alexander cdcaae11c4
Add tests for broken export blocks. 2023-04-21 18:11:26 -04:00
Tom Alexander 77d3f40c19
Add a simple example of each lesser block type. 2023-04-21 17:37:48 -04:00
Tom Alexander f1b0d7e6be
Add a simple test table org-mode document. 2023-04-21 14:39:20 -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 f7f29e7a56
Finish property drawer parser but node property is unstarted. 2023-04-19 17:15:00 -04:00
Tom Alexander fcf1ba4ea6
Add an example of nested properties adding to previous properties. 2023-04-19 16:43:23 -04:00
Tom Alexander 2a04455955
Remove the makefiles from org_mode_samples.
These Makefiles were beautiful, but now that the org_mode_samples are integrated into the rust test framework, it no longer makes sense to keep using these Makefiles. Instead, running scripts/run_integration_test.bash <org file under org_mode_samples>... will output the same information, additional information, and it will do it all without writing anything to disk (besides any files generated during compilation).
2023-04-19 16:22:53 -04:00
Tom Alexander 8214efdfcb
Make the integration test script work from anywhere. 2023-04-19 16:15:58 -04:00
Tom Alexander 09442a0530
Oddly enough emacs is breaking up lines with 🔚 as a separate paragraph when regular letters would get combined. 2023-04-18 21:41:13 -04:00
Tom Alexander 0effc7c087
You can have a block containing only whitespace which gets matched as a paragraph whose value is just a single newline. 2023-04-18 20:58:25 -04:00
Tom Alexander 98a46cd707
More notes. 2023-04-17 20:53:51 -04:00
Tom Alexander dc5fc863f5
Add more paragraph tests. 2023-04-17 20:40:23 -04:00
Tom Alexander 867a55fbf7
More paragraph tests. 2023-04-17 20:33:51 -04:00
Tom Alexander 4dd18006a5
Add some tests for paragraphs. 2023-04-17 20:13:07 -04:00
Tom Alexander 89040c51a6
Update test case 1. 2023-04-17 19:45:50 -04:00
Tom Alexander 49be5ae7b1
Identify a mistake in the plain list drawer test. 2023-04-17 17:29:35 -04:00
Tom Alexander f1880fdb7d
Add plain list first tests. 2023-04-17 16:41:58 -04:00
Tom Alexander 16218ec040
Add footnote definition first tests. 2023-04-16 18:01:47 -04:00
Tom Alexander 4c4d79a665
Add the dynamic block first tests. 2023-04-16 17:56:03 -04:00
Tom Alexander a6036e257e
Add the drawer second tests. 2023-04-16 17:50:16 -04:00
Tom Alexander beff8f8999
Add the drawer first tests. 2023-04-16 17:41:14 -04:00
Tom Alexander ed6fda9918
Add the greater block second tests. 2023-04-16 17:33:33 -04:00
Tom Alexander 6da7cb2c17
Add greater block first tests. 2023-04-16 17:18:41 -04:00
Tom Alexander e20bd793be
Include comment about section-first and section-second tests. 2023-04-16 17:08:56 -04:00
Tom Alexander 70596dc27b
Add all the section-first tests. 2023-04-16 17:06:08 -04:00
Tom Alexander f41197b096
Add the first test. 2023-04-16 16:55:53 -04:00
Tom Alexander d155ca1027
Set up an experiment for figuring out exit matcher priority. 2023-04-16 16:48:22 -04:00
Tom Alexander 0be554bfb6
Add an example of headlines breaking a drawer. 2023-04-16 15:55:39 -04:00
Tom Alexander 9e4bf553d3
First attempt at implementing drawers. 2023-04-15 17:56:07 -04:00
Tom Alexander 6e4aa38fce
Add test demonstrating problem. 2023-04-15 17:04:47 -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 cfcf6443ca
Added example org-mode file with comments. 2023-04-15 16:27:28 -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 4c920b9d3c
Add an example showing footnote definitions and their associated trailing whitespace. 2023-04-10 13:19:30 -04:00
Tom Alexander ab329f367f
Add an exmaple showing that greater blocks begin can be indented different from end. 2023-04-07 16:14:57 -04:00
Tom Alexander 352532b759
Add an example showing greater blocks can be nested if they are different types. 2023-04-07 16:14:08 -04:00
Tom Alexander 942b486078
Add a test file showing lists where the earlier one is indented. 2023-03-31 13:32:07 -04:00
Tom Alexander e7397f818d
Adding some notes on the exit matcher loop issue. 2023-03-27 12:33:58 -04:00
Tom Alexander 422535fbe4
Wrote a plain list item parser. 2023-03-25 14:23:52 -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 d98a11059c
Introduce the document structure. 2023-03-23 17:52:16 -04:00
Tom Alexander fd45e4381c
Add a test org-mode document that shows backslashes before a line break create an explicit line break.
This line break appears in the output (for example a <br> in HTML) as opposed to the line breaks in paragraphs syntactically that get reduced to a single space on the same line.
2023-03-23 16:57:03 -04:00
Tom Alexander 7402de6a7c
Add a test org document with an asterisk inside the bold.
This is to prove that bold can contain an asterisk if it doesn't satisfy the exit matcher.
2023-03-23 14:20:14 -04:00
Tom Alexander 61638e80a0
Looks like tables cannot contain lists so we don't have to worry about more complicated exit rules. 2023-03-21 15:20:42 -04:00
Tom Alexander fd879de353
Add a test case showing 2 blank lines exits the top-level plain list. 2023-03-21 15:13:50 -04:00
Tom Alexander 95fe88a5f4
Make all the makefiles recursive. 2023-03-21 14:32:26 -04:00
Tom Alexander 8cfa40737a
Fixed it so that each source file has its own role. 2023-03-21 14:20:33 -04:00
Tom Alexander f8bce7e1a6
Create a more automatic makefile for org-mode trees.
Unfortunately, this seems to rebuild every source file every time so I still need to work on fixing that.
2023-03-21 14:18:14 -04:00
Tom Alexander a5a03126d2
Add test for nested list end via 2 blank lines. 2023-03-19 14:52:29 -04:00
Tom Alexander 6a0dc2fc62
Format the ast. 2023-03-19 14:21:02 -04:00
Tom Alexander 33a69fbe0e
fixup 2023-03-19 14:17:11 -04:00
Tom Alexander 4e7d7d3bcf
Add scripts for dumping the org-mode ast to investigate how emacs parses various inputs. 2023-03-19 14:07:47 -04:00