Tom Alexander
cc86591a6c
Support the debug/dev profile in the perf script.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-27 17:02:12 -04:00
Tom Alexander
f25dbc1d7c
Add a script for testing organic parse times.
...
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-27 16:23:28 -04:00
Tom Alexander
3e143796f7
Compare heading todo keywords.
...
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
rust-build Build rust-build has succeeded
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
Tom Alexander
bfea828e62
Update detect_plain_list to support line breaks.
2023-08-25 05:27:08 -04:00
Tom Alexander
bc5745a95f
Add support for list items with a line break before their contents.
2023-08-25 05:18:26 -04:00
Tom Alexander
efa372a9e9
Add a test case that breaks the current parser.
2023-08-25 04:39:58 -04:00
Tom Alexander
2fb57daaec
Move the table cell object parser into the object parser file.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-25 04:35:54 -04:00
Tom Alexander
3a38f4cd35
Add support for the ast entity.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-25 04:28:24 -04:00
Tom Alexander
45e16fea2d
Honor the NO_COLOR environment variable.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-25 04:25:39 -04:00
Tom Alexander
5134cece7b
Add color to compare output.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
rustfmt Build rustfmt has succeeded
2023-08-25 04:09:52 -04:00
Tom Alexander
19432d91ab
Get the emacs and org-mode versions when launching the compare script.
rust-build Build rust-build has succeeded
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
2023-08-25 03:11:19 -04:00
Tom Alexander
16a107eebb
Update org-mode version.
2023-08-25 02:56:28 -04:00
Tom Alexander
77348b560c
Parameterize the emacs and org-mode versions in the dockerfiles.
rust-test Build rust-test has succeeded
rustfmt Build rustfmt has succeeded
rust-build Build rust-build has succeeded
2023-08-25 02:03:35 -04:00
Tom Alexander
fc79507ef3
Merge branch 'plain_list_perf_investigation'
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
rustfmt Build rustfmt has succeeded
2023-08-25 01:10:04 -04:00
Tom Alexander
9c1e6ccc97
Add a detect_element function.
...
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
This is an optimization. When you have something like plain text which ends when it hits the next element, we only need to parse enough to detect that an element is about to occur. For elements like plain lists, this is as simple as parsing a line starting with optional whitespace and then a bullet, which avoids parsing the entire plain list tree. The benefit is most noticeable in deeply nested plain lists.
2023-08-25 01:07:53 -04:00
Tom Alexander
0dbc8f0925
Remove redundant exit matcher checks.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-25 00:01:56 -04:00
Tom Alexander
02fe10fba3
Move objects to a lower exit class.
...
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
Paragraph's exit matcher which detects elements was causing the plain list parser to exit after the first item was parsed which was causing significant amounts of re-parsing.
2023-08-24 23:34:23 -04:00
Tom Alexander
33d7ae03d1
Add a TODO.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-24 21:35:34 -04:00
Tom Alexander
03faa7257f
Move the indent level for plain list's exit matcher to const fn instead of grabbing from the context.
...
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
This made a slight improvement to performance.
2023-08-24 20:50:24 -04:00
Tom Alexander
ae3510abd5
Do not cast lesser block name to lowercase at runtime.
...
This reduced the runtime of my problematic test case from 6.9 seconds to 6 seconds.
2023-08-24 20:10:43 -04:00
fluxcdbot
ad3f47864a
CI: autofix rust code.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has failed
2023-08-24 23:43:41 +00:00
Tom Alexander
533ef2a9a8
Merge branch 'wrapped_input'
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-24 19:40:55 -04:00
Tom Alexander
cf37bc4111
Remove unnecessary context from some util functions.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-24 19:29:00 -04:00
Tom Alexander
e5224cda63
Removing dead code.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-24 18:40:25 -04:00
Tom Alexander
64e3481660
Update get_consumed to use the new wrapped input type.
2023-08-24 18:33:40 -04:00
Tom Alexander
32071ce74d
Fix handling of start of line in OrgSource.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-24 18:08:16 -04:00
Tom Alexander
e84e2b5147
Update tests to compile again.
2023-08-24 17:15:24 -04:00
Tom Alexander
3348807a05
Eliminate the document root context element.
2023-08-24 17:01:12 -04:00
Tom Alexander
720afa5d32
Update getting the previous character and previous line.
...
This can be done a lot more efficiently now that we are keeping track of this information in the wrapped input type instead of having to fetch to the original document out of the context tree.
2023-08-24 16:56:07 -04:00
Tom Alexander
dab598e5e7
Convert all functions to using the wrapped input type.
rust-test Build rust-test has failed
rust-build Build rust-build has failed
2023-08-24 16:06:29 -04:00
Tom Alexander
b7a5dd48ea
Impl missing traits.
2023-08-22 23:32:27 -04:00
Tom Alexander
c475dce6da
Fix lifetime issue.
2023-08-22 23:14:23 -04:00
Tom Alexander
6d1675fa00
Lifetime issue.
2023-08-22 22:57:44 -04:00
Tom Alexander
cda49c628c
Move the wrapped input into the parser.
2023-08-22 22:33:50 -04:00
Tom Alexander
65b87bd65d
Merge remote-tracking branch 'input/main' into wrapped_input
2023-08-22 22:26:55 -04:00
Tom Alexander
5a7f34b63e
Prepare for merging into Organic.
2023-08-22 22:24:35 -04:00
Tom Alexander
edff1e089d
Implement text since line break.
2023-08-22 22:18:44 -04:00
Tom Alexander
bc29f1dfc0
Add slicing tests.
2023-08-22 21:38:50 -04:00
Tom Alexander
e4656cddf6
Implement slice, take, and compare.
2023-08-22 21:25:13 -04:00
Tom Alexander
1e3dadd458
Wrap the input.
2023-08-22 17:24:26 -04:00
Tom Alexander
2ec055af5a
Very simple setup.
2023-08-22 17:22:13 -04:00
Tom Alexander
6823db5c60
Initial commit.
2023-08-22 17:11:45 -04:00
Tom Alexander
21e1ceb8e0
Merge branch 'add_performance_check_scripts'
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-22 14:21:44 -04:00