Commit Graph

270 Commits

Author SHA1 Message Date
Tom Alexander 1a41cfc6c7
Support detecting line indentation when checking for contentless plain list items. 2023-09-21 20:08:04 -04:00
Tom Alexander 4f34ab9089
Support subscript/superscript wrapped in parenthesis. 2023-09-21 19:21:47 -04:00
Tom Alexander 9b2348c0ef
Allow matched parenthesis inside plain links. 2023-09-21 18:51:11 -04:00
Tom Alexander 5716cbccea
Remove unnecessary peak. 2023-09-21 16:34:24 -04:00
Tom Alexander 124cd50243
Add more test cases. 2023-09-21 15:36:55 -04:00
Tom Alexander bac5d6e1d9
Add a test for parenthesis in regular links for good measure.
We are properly handling this currently, but it is good to have more test coverage.
2023-09-21 14:34:51 -04:00
Tom Alexander ba15999534
Add a test showing we are not handling parenthesis in links properly.
rust-test Build rust-test has failed Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-21 14:31:13 -04:00
Tom Alexander a7e130838d
Add a test showing that table formulas with no value do not get associated with the table. 2023-09-21 14:10:20 -04:00
Tom Alexander 7b61329889
Add test showing we are not parsing links wrapped in brackets correctly.
rust-build Build rust-build has succeeded Details
rust-test Build rust-test has failed Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-20 03:48:22 -04:00
Tom Alexander 9bcfb2f1da
Decide headline nesting by star count, not headline level.
It is possible to have two headlines that have the same level but different star counts when set to Odd because of rounding. Deciding nesting by star count instead of headline level avoids this issue.
2023-09-20 03:22:25 -04:00
Tom Alexander 4c8d9a3063
Do not require a colon to close dynamic blocks. 2023-09-20 02:37:26 -04:00
Tom Alexander 9e60ff6683
Support rematching on italic, underline, and strike-through. 2023-09-19 23:25:49 -04:00
Tom Alexander c1de001786
Require a space after colon instead of tab for fixed width area. 2023-09-19 20:22:29 -04:00
Tom Alexander 1a704dd312
Honor the odd startup setting from org-mode files.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-15 22:54:49 -04:00
Tom Alexander 8450785186
Add test showing we are not handling the odd startup option for headline depth.
rust-test Build rust-test has failed Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-15 22:08:42 -04:00
Tom Alexander 6c7203410e
Add a test showing we're not handling leading blank lines in greater blocks. 2023-09-15 17:02:41 -04:00
Tom Alexander ca6fdf1924
Support different cases in radio links. 2023-09-14 04:04:21 -04:00
Tom Alexander 876d33239e
Allow any character to be escaped in the path for links. 2023-09-14 03:05:11 -04:00
Tom Alexander 830097b0a9
Add a test showing we are not handling fast access states in todo keywords. 2023-09-14 02:18:49 -04:00
Tom Alexander 44e9f708c9
Handle the possibility of a title-less headline. 2023-09-14 02:01:24 -04:00
Tom Alexander fc4ff97c14
Add a test showing we are not handling empty headlines properly. 2023-09-14 00:50:31 -04:00
Tom Alexander ac0db64081
Add cargo directive to rebuild the auto-generated tests when files under org_mode_samples get updated.
rust-test Build rust-test has failed Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-13 21:28:44 -04:00
Tom Alexander 925c42c8fb
Add test showing we currently are letting emacs align tables at startup. 2023-09-13 21:02:38 -04:00
Tom Alexander f103d168d5
Update diary sexp parser to match org-mode's behavior. 2023-09-11 12:34:57 -04:00
Tom Alexander 8440a3b256
Update test to show that we are not parsing description lists with double colon inside the tag correctly. 2023-09-11 10:01:50 -04:00
Tom Alexander cc56b79683
Add a test showing we're not handling table formulas. 2023-09-08 22:42:24 -04:00
Tom Alexander d79035e14d
Add a test showing we are not handling empty statistics cookies. 2023-09-08 22:21:19 -04:00
Tom Alexander f30069efe7
Add a test showing we're not handling colons in keyword keys correctly. 2023-09-08 21:59:02 -04:00
Tom Alexander 6a1bdd5fee
Support blank lines before content in footnote definitions. 2023-09-08 21:11:47 -04:00
Tom Alexander 5d20d3e99b
Add a test showing we are not handling empty space for footnote definitions correctly. 2023-09-08 20:28:21 -04:00
Tom Alexander 344ef04453
Add tests showing we are not handling tabs appropriately for description list tags. 2023-09-08 19:53:58 -04:00
Tom Alexander b04341882c
Add test showing that we are not handling trailing spaces in description list tags correctly. 2023-09-08 19:24:03 -04:00
Tom Alexander 0110d23387
Update empty list test to show that we're not handling trailing whitespace for empty list items properly. 2023-09-08 18:41:57 -04:00
Tom Alexander 0d7a15bfeb
Handle spaces after statistics cookies. 2023-09-08 18:35:33 -04:00
Tom Alexander 0056657b65
Add a test showing the plain text parser is not handling subsets of objects like inside a table cell. 2023-09-08 17:27:02 -04:00
Tom Alexander dc8b8d08ab
Add test showing we break on empty sections that contain a planning. 2023-09-08 16:25:18 -04:00
Tom Alexander b32c21eb1d
Add a test for a comment heading. 2023-09-08 16:00:16 -04:00
Tom Alexander 57c2922e4a
Add test showing problem is description list parser. 2023-09-08 12:50:51 -04:00
Tom Alexander 6676012eb1
Change footnote reference class to Gamma. 2023-09-07 04:15:59 -04:00
Tom Alexander f8b99ed235
Support counter set in plain list items. 2023-09-06 19:09:20 -04:00
Tom Alexander 49afcf0db6
Support property nodes with colons in their key. 2023-09-06 18:54:01 -04:00
Tom Alexander c4d7e646fc
Support spaces after the end of a lesser block. 2023-09-06 18:54:01 -04:00
Tom Alexander 3fc3a5d1ef
Add support for empty lesser blocks. 2023-09-06 18:11:57 -04:00
Tom Alexander 6e2fc362ea
Add support for babel-call keywords. 2023-09-06 18:04:53 -04:00
Tom Alexander 90fa48661c
Prefer the longer version of affiliated keywords. 2023-09-06 17:41:00 -04:00
Tom Alexander 28b2d27054
Consume trailing whitespace after a plain link.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-09-06 14:39:31 -04:00
Tom Alexander 728a79f9a4
Handle zero-width space in text markup.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-09-06 13:56:27 -04:00
Tom Alexander 949d0989f4
Add a test showing the current parser is broken with deeply nested greater blocks. 2023-08-31 19:15:28 -04:00
Tom Alexander 2a4d22bdd4
Add test for nesting of greater blocks.
This shows that greater blocks of different types can be directly nested even if they are both special blocks (as long as they are different special blocks).
2023-08-31 19:09:38 -04:00
Tom Alexander 5171326d63
Create a test for special blocks. 2023-08-31 19:02:18 -04:00
Tom Alexander bfc9e7f58d
When re-parsing last item in list, only disable white space consumption for last element in item. 2023-08-31 17:08:21 -04:00
Tom Alexander 2048d8f0b6
Support comments at the end of the line in diary sexp.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-31 15:31:54 -04:00
Tom Alexander 466716881e
Fix macros consuming whitespace even when the exit matcher is calling for an exit.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-31 15:11:29 -04:00
Tom Alexander eb9c582fa5
'>' is allowed as a post character in text markup.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-29 23:57:15 -04:00
Tom Alexander 6f2d90162b
Do not use the plain text parser for property drawers.
This additional exit condition was causing property drawers to parse incorrectly.
2023-08-29 22:03:20 -04:00
Tom Alexander f170a557ed
Use character offsets in diff. 2023-08-29 21:49:16 -04:00
Tom Alexander a6d742a536
Fix handling line breaks after divider in description lists. 2023-08-29 21:27:54 -04:00
Tom Alexander f6c895319f
Add support for diffing description lists. 2023-08-29 19:35:54 -04:00
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