Commit Graph

925 Commits

Author SHA1 Message Date
Tom Alexander 9df40fb13f
Only allow specific keywords for affiliated keywords. 2023-08-29 16:56:07 -04:00
Tom Alexander cc671925db
Support empty sections under headings. 2023-08-29 16:07:43 -04:00
Tom Alexander 950baa9d5d
Only allow a single section under a heading. 2023-08-29 16:03:13 -04:00
Tom Alexander 56865c68fc
Do not allow plain links without a path. 2023-08-29 15:44:04 -04:00
Tom Alexander f592b73ae7
Merge branch 'reduce_context_usage_in_exit_matchers'
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 15:17:16 -04:00
Tom Alexander 3206027b96
Add all entities. 2023-08-29 15:16:22 -04:00
Tom Alexander 3e6df7ba78
Print character offset from rust's parse perspective during compare. 2023-08-29 14:40:58 -04:00
Tom Alexander ac313d093e
Improve error handling in compare. 2023-08-29 14:20:53 -04:00
Tom Alexander f376f1cf8e
Add a test for empty sections. 2023-08-29 14:10:26 -04:00
Tom Alexander f21385a901
Add a helper function for logging during debugging.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-29 14:03:14 -04:00
Tom Alexander 1d06d95bb1
Add a minimum stars figure to heading parser to reduce re-parses. 2023-08-29 14:01:28 -04:00
Tom Alexander bfc88c1d1b
Use a detect_headline function instead of the full headline parse for the section_end exit matcher.
This shaved 2 seconds off the first 800 lines of org-mode/doc/org-guide.org.
2023-08-29 11:35:54 -04:00
Tom Alexander f29720e5b9
Switch to using a type for bracket depth.
This is to make changing the type easier in the future.
2023-08-29 11:18:15 -04:00
Tom Alexander 27a9b5aeb1
Switch to i16 for backet depth count.
This is having a measurable performance increase. 32k bracket depth should be enough for any non-malicious document.
2023-08-29 11:14:50 -04:00
Tom Alexander 8051c3d2b7
Remove line number tracking.
The documentation was incorrect, none of the org-mode elements have a line number restriction for their contents.
2023-08-29 11:09:28 -04:00
Tom Alexander bd97d2f69d
Switch to i32 for tracking bracket depth. 2023-08-29 11:07:00 -04:00
Tom Alexander 14b1d0526c
Manually implement Debug and make convert_error more generic.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-29 10:58:05 -04:00
Tom Alexander 288350daef
Iterate over the bytes instead of characters when counting brackets.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-28 03:52:21 -04:00
Tom Alexander c683516620
Switch inline source blocks 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:33 -04:00
Tom Alexander e731e8ff6b
Switch inline babel call 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:33 -04:00
Tom Alexander 4c2037ec44
Switch subscript and superscript 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:33 -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 f11f7bcc73
Keep track of bracket, brace, and parenthesis depth when iterating over the OrgSource. 2023-08-28 01:18:46 -04:00
Tom Alexander 9e0e5f6f0a
Remove line number limit for LaTeX fragments. 2023-08-28 01:18:46 -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 b35d785e73
Fix tracing in the run_docker_compare.bash script.
rust-build Build rust-build has failed Details
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
2023-08-28 01:18:45 -04:00
Tom Alexander 1952d175c0
Record line number in OrgSource.
This will be used for elements who have limits on the number of lines inside of them. This includes LaTeX fragment bodies and text markup.
2023-08-28 01:18:45 -04:00
Tom Alexander 20c17c40be
Switch greater blocks to using name provided when building exit matcher instead of from context. 2023-08-28 01:18:45 -04:00
Tom Alexander b6b869df25
Minor improvement to error message in diff.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-28 01:05:09 -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 085490476e
Fix make dockertest.
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 22:41:55 -04:00
Tom Alexander 9c9964c66f
Add lt and gt entities.
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 22:15:23 -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 e9e6a8ff64
Merge branch 'clean_up_docker'
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 18:03:51 -04:00
Tom Alexander b124317f30
Fix up scripts to handle the changes to the docker containers. 2023-08-27 18:03:37 -04:00
Tom Alexander ad389f0776
Remove volumes in the clean step.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-27 17:53:51 -04:00
Tom Alexander 75dfc7f812
Depend on build when using the docker images. 2023-08-27 17:51:57 -04:00
Tom Alexander c17de8ef5e
Set up the same mounts when running make shell. 2023-08-27 17:50:33 -04:00
Tom Alexander 378b6bb391
Update the run targets for the Makefiles for the docker containers.
This was previously using the standard docker makefile I use as a starting point for all of my docker makefiles. Now it will properly mount the source directory.
2023-08-27 17:46:36 -04:00
Tom Alexander cc86591a6c
Support the debug/dev profile in the perf script.
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 17:02:12 -04:00
Tom Alexander f25dbc1d7c
Add a script for testing organic parse times.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
This is not meant to produce publishable or comparable benchmarks. Such a script would have to run many iterations with the input already loaded into memory, proper prioritization via nice/ionice, and have a warm-up phase. This is just automating a basic test I am frequently running to compare parse times when investigating performance issues.
2023-08-27 16:56:32 -04:00
Tom Alexander daee50c160
Merge branch 'dynamic_block_test'
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 16:23:28 -04:00
Tom Alexander 3e143796f7
Compare heading todo keywords.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
This only handles the default case where the only valid TODO keywords are TODO and DONE.
2023-08-27 15:56:08 -04:00
Tom Alexander 9cc5e63c1b
Compare heading tags.
rust-test Build rust-test has failed Details
rust-build Build rust-build has succeeded Details
2023-08-25 07:05:59 -04:00
Tom Alexander be6197e4c7
Store the tags in the heading. 2023-08-25 06:20:06 -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 60363579b5
Merge branch 'plain_list_content_on_next_line'
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-08-25 05:28:14 -04:00
Tom Alexander 1b678fe81f
Add tests for detect_plain_list. 2023-08-25 05:27:09 -04:00