org-mode parser in rust
Go to file
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
.lighthouse Update the run targets for the Makefiles for the docker containers. 2023-08-27 17:46:36 -04:00
docker Remove volumes in the clean step. 2023-08-27 17:53:51 -04:00
notes
org_mode_samples Switch to using bracket depth from OrgSource instead of from the context for footnote references. 2023-08-28 03:04:32 -04:00
scripts Fix tracing in the run_docker_compare.bash script. 2023-08-28 01:18:45 -04:00
src Switch to using bracket depth from OrgSource instead of from the context for footnote references. 2023-08-28 03:04:32 -04:00
tests Make the autogen prefix fully integrated into the test name. 2023-08-21 00:14:10 -04:00
.dockerignore
.gitignore
Cargo.toml Add a script for testing organic parse times. 2023-08-27 16:56:32 -04:00
LICENSE
Makefile Fix make dockertest. 2023-08-27 22:41:55 -04:00
README.md
build.rs Update org-mode version. 2023-08-25 02:56:28 -04:00
rustfmt.toml

README.md

Organic - Free Range Org-Mode

Organic is an emacs-less implementation of an org-mode parser.

Project Status

This project is a personal learning project to grow my experience in rust. It is under development and at this time I would not recommend anyone use this code. The goal is to turn this into a project others can use, at which point more information will appear in this README.

License

This project is released under the public-domain-equivalent 0BSD license. This license puts no restrictions on the use of this code (you do not even have to include the copyright notice or license text when using it). HOWEVER, this project has a couple permissively licensed dependencies which do require their copyright notices and/or license texts to be included. I am not a lawyer and this is not legal advice but it is my layperson's understanding that if you distribute a binary with this library linked in, you will need to abide by their terms since their code will also be linked in your binary. I try to keep the dependencies to a minimum and the most restrictive dependency I will ever include is a permissively licensed one.