Commit Graph

1462 Commits

Author SHA1 Message Date
Tom Alexander
17d8e76e05
Do not match POST for entities that end with a space.
This is a special case for en-spaces.
2023-10-18 08:52:18 -04:00
Tom Alexander
a276ba70e0
Fix empty content items with final item whitespace cut-off before headlines.
Some checks failed
clippy Build clippy has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
2023-10-17 15:56:02 -04:00
Tom Alexander
b7442c1e92
Do not match headlines as plain list items. 2023-10-17 15:35:43 -04:00
Tom Alexander
364ba79517
It actually worked on trailing whitespace ownership test case 2. 2023-10-17 15:22:31 -04:00
Tom Alexander
47408763e5
A first stab at a final item whitespace cut-off exit matcher. 2023-10-17 15:08:36 -04:00
Tom Alexander
bd187ebfe7
Remove re-parsing of the final list child. 2023-10-17 14:17:47 -04:00
Tom Alexander
59cb3c2bbf
Remove unnecessary closures in plain lists. 2023-10-17 13:59:33 -04:00
Tom Alexander
01464057ad
Remove unused event types. 2023-10-17 13:43:33 -04:00
Tom Alexander
0208020e3e
Also print byte offset.
Some checks failed
clippy Build clippy has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
2023-10-17 13:35:40 -04:00
Tom Alexander
a2f53361eb
Record element start events and report them when the event_count feature is enabled. 2023-10-17 13:32:01 -04:00
Tom Alexander
17db05c2c7
Unify more error handling. 2023-10-17 12:42:34 -04:00
Tom Alexander
6139ea328d
Unify some more error handling. 2023-10-17 12:22:52 -04:00
Tom Alexander
d20b4a410b
Remove pointless map_err calls. 2023-10-17 11:56:36 -04:00
Tom Alexander
05c64f53b1
Remove boxed error from CustomError. 2023-10-17 11:40:11 -04:00
Tom Alexander
f65d0bb82d
Remove redundant call to space0. 2023-10-17 11:33:26 -04:00
Tom Alexander
50d2831081
Cleanup. 2023-10-17 11:30:23 -04:00
Tom Alexander
bc9bd4f97b
Eliminate some closures. 2023-10-17 11:10:18 -04:00
Tom Alexander
369d3e8c50
Add a full-document parse benchmark. 2023-10-17 10:57:04 -04:00
Tom Alexander
f59f153ee7
Clean up. 2023-10-17 10:39:21 -04:00
Tom Alexander
20c4a0f8f7
Continue removing MyError. 2023-10-17 10:35:33 -04:00
Tom Alexander
e776a051ad
Continue removing MyError. 2023-10-17 10:13:00 -04:00
Tom Alexander
77e6c22ad8
Continue removing MyError. 2023-10-17 10:09:37 -04:00
Tom Alexander
c9d7251e3b
Begin removing the MyError type. 2023-10-17 09:45:18 -04:00
Tom Alexander
8417b5fc9d
Add an owned string entry for CustomError. 2023-10-17 09:27:15 -04:00
Tom Alexander
e2d55e13d3
Fix some clippy errors that didn't appear on my host version of clippy.
Some checks failed
rust-foreign-document-test Build rust-foreign-document-test has failed
clippy Build clippy has succeeded
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
2023-10-16 19:43:15 -04:00
Tom Alexander
9a4d290cf8
Apply more suggestions. 2023-10-16 19:12:25 -04:00
Tom Alexander
acd24d6198
Apply more suggestions. 2023-10-16 19:02:34 -04:00
Tom Alexander
880b00ef3f
Apply more suggestions. 2023-10-16 18:54:41 -04:00
Tom Alexander
3069711447
Apply more suggestions. 2023-10-16 18:29:21 -04:00
Tom Alexander
4b6c717812
Apply more suggestions. 2023-10-16 17:58:52 -04:00
Tom Alexander
1d329cc310
Apply more suggestions. 2023-10-16 17:28:28 -04:00
Tom Alexander
b4f9a3b9b6
Apply more suggestions. 2023-10-16 17:14:44 -04:00
Tom Alexander
2dd5246506
Apply more suggestions. 2023-10-16 17:03:39 -04:00
Tom Alexander
4ba0e3611b
Apply more suggestions. 2023-10-16 17:03:39 -04:00
Tom Alexander
728f79b86c
Apply more suggestions. 2023-10-16 17:03:39 -04:00
Tom Alexander
192a4a2891
Remove unnecessary lifetimes. 2023-10-16 17:03:39 -04:00
Tom Alexander
f10efec21d
No performance change switching affiliated_key to using element macro. 2023-10-16 15:57:18 -04:00
Tom Alexander
72b4cf8e71
Add the first use of the rust benchmark tests. 2023-10-16 15:50:08 -04:00
Tom Alexander
547fc40dbe
No measurable performance improvement with native builds over LTO release builds.
Some checks failed
rustfmt Build rustfmt has succeeded
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
Leaving the code for this commented out because it involved an unstable cargo feature without showing any benefit. I would like to revisit this later.
2023-10-16 15:21:36 -04:00
Tom Alexander
18d0676fad
Clean up. 2023-10-16 15:03:23 -04:00
Tom Alexander
7833a58461
Apply a similar optimization to the detect element parser but also unify detection of affiliated keywords. 2023-10-16 14:55:40 -04:00
Tom Alexander
0020d71089
Extend that optimization to more object parsers. 2023-10-16 14:41:12 -04:00
Tom Alexander
cfdf39d1fa
Significantly reduce the use of closures in the object parsers. 2023-10-16 14:25:02 -04:00
Tom Alexander
3eff85059a
Add support for planning before property drawer when calculating additional properties for headlines. 2023-10-16 13:35:03 -04:00
Tom Alexander
c86d1000c0
Do not clear values in lists of strings.
Some checks failed
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-build Build rust-build has succeeded
This is a hold-over from when I had list of single string which was a misunderstanding of the optional pair type.
2023-10-16 12:58:20 -04:00
Tom Alexander
911634cb42
Attr_ affiliated keywords should be lists of strings. 2023-10-16 12:55:18 -04:00
Tom Alexander
0aa746fb1e
Implement comparison for object tree. 2023-10-16 12:50:53 -04:00
Tom Alexander
33800c4a88
Implement comparison for optional pair. 2023-10-16 12:05:36 -04:00
Tom Alexander
909ccadfa1
Beginning update to compare_affiliated_keywords. 2023-10-16 11:45:54 -04:00
Tom Alexander
e352deb989
Update parse_affiliated_keywords for handling optional pairs. 2023-10-16 11:42:20 -04:00
Tom Alexander
f5a6a26c43
Disable the existing handling of affiliated keywords. 2023-10-15 20:31:14 -04:00
Tom Alexander
f5dcacc79d
Do not match keyword name if a longer keyword name would match. 2023-10-15 15:55:19 -04:00
Tom Alexander
e7c3c7aab6
Switch the keyword parsers over to using the settings from GlobalSettings. 2023-10-15 15:17:08 -04:00
Tom Alexander
d2d8c1ffcf
Fix build for compare with tracing. 2023-10-14 19:20:49 -04:00
Tom Alexander
b9c638c280
Fix tracing.
Some checks failed
rustfmt Build rustfmt has succeeded
rust-build Build rust-build has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-test Build rust-test has succeeded
2023-10-14 19:02:35 -04:00
Tom Alexander
ad5efc4b0f
Only require sync on FileAccessInterface when compiling for compare utilities.
Some checks failed
rust-test Build rust-test has failed
rust-build Build rust-build has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
Otherwise async compatibility would impact sync users of the plain library.
2023-10-14 18:09:50 -04:00
Tom Alexander
e1fde88a60
Switch to using tokio too invoke emacs async. 2023-10-14 17:58:50 -04:00
Tom Alexander
123da9cca3
Make the compare functions async. 2023-10-14 17:51:12 -04:00
Tom Alexander
c20e7b5f2f
Make compare an always-async program.
This program is used as a development tool, so it is more valuable that we make it simple by only supporting one mode of operation (async) than making it widely compatible by supporting both.
2023-10-14 17:50:53 -04:00
Tom Alexander
74a3512038
Report whether all the tests passed. 2023-10-14 17:50:53 -04:00
Tom Alexander
ff04c4a131
Sort files in a compare_all_org_document. 2023-10-14 17:50:53 -04:00
Tom Alexander
aa35d1dc03
Copy over the rest of the foreign document test config. 2023-10-14 15:18:57 -04:00
Tom Alexander
92afdc0ea6
Strip prefix from file path. 2023-10-14 15:18:57 -04:00
Tom Alexander
f43920fc7c
Add a silent mode for running the diff. 2023-10-14 15:18:57 -04:00
Tom Alexander
dde4bc7920
Add code for structured printing of test results. 2023-10-14 14:30:24 -04:00
Tom Alexander
8271f6b44a
Start invoking the tests. 2023-10-13 13:20:21 -04:00
Tom Alexander
8a26965e14
Write a function to compare all org-mode files in a directory. 2023-10-13 13:02:17 -04:00
Tom Alexander
3927889e66
Change test status to pass/fail. 2023-10-13 12:14:46 -04:00
Tom Alexander
5ecd7b8bef
Launch tests in parallel. 2023-10-13 12:07:52 -04:00
Tom Alexander
b0b795d13b
Limit concurrency of running tests. 2023-10-13 11:41:49 -04:00
Tom Alexander
182c2737cd
Add futures. 2023-10-13 11:27:43 -04:00
Tom Alexander
5f93cabff5
Hit recursive async. 2023-10-13 11:27:42 -04:00
Tom Alexander
a1f8cbe079
Working on invoking the tests. 2023-10-13 11:27:42 -04:00
Tom Alexander
d7e870cba1
Starting to make result structs. 2023-10-13 11:27:42 -04:00
Tom Alexander
591b5ed382
Starting to define a TestConfig enum. 2023-10-13 11:27:42 -04:00
Tom Alexander
fd141762f0
Start a rust-based foreign document test.
Instead of using a simple bash script, this will use async rust to run multiple tests in parallel.
2023-10-13 11:27:42 -04:00
Tom Alexander
c039e0d62c
Keywords without affiliated keywords should be lower priority than paragraphs with affiliated keywords. 2023-10-12 17:32:29 -04:00
Tom Alexander
e6e3783ec6
Support parsing affiliated keywords as keywords. 2023-10-12 17:23:54 -04:00
Tom Alexander
5ae19e455d
Remove unused imports. 2023-10-12 17:14:18 -04:00
Tom Alexander
f475754a71
Port the rest of the element parsers over. 2023-10-12 17:12:55 -04:00
Tom Alexander
767f44f94d
Port comment. 2023-10-12 16:52:49 -04:00
Tom Alexander
1411aca7b5
Port footnote definition. 2023-10-12 16:48:50 -04:00
Tom Alexander
9ccdcaac24
Port dynamic block. 2023-10-12 16:46:15 -04:00
Tom Alexander
d1223dcdb7
Port paragraph parser to use ak_element. 2023-10-12 16:37:31 -04:00
Tom Alexander
59448a4f2c
Port greater blocker over to ak_element!(). 2023-10-12 16:27:57 -04:00
Tom Alexander
5136880532
Fix tests. 2023-10-12 16:14:23 -04:00
Tom Alexander
8654cf5507
Fully port over the first parser. 2023-10-12 16:09:35 -04:00
Tom Alexander
6ca4dc8ffc
Add a macro for calling parsers that take in the affiliated keywords. 2023-10-12 16:06:59 -04:00
Tom Alexander
a6f36ba679
Create a template for new element functions that will take in the affiliated keywords instead of re-parsing them multiple times. 2023-10-12 15:47:06 -04:00
Tom Alexander
176e37874e
Remove the parser to parse affiliated keywords as regular keywords. 2023-10-12 15:25:26 -04:00
Tom Alexander
0d579263cb
Remove affiliated keyword non-exit for paragraph. 2023-10-12 14:07:57 -04:00
Tom Alexander
8bc942a26f
Create artificial scopes for the optional value and mandatory value. 2023-10-11 19:14:32 -04:00
Tom Alexander
dff7550038
Remove prints. 2023-10-11 19:09:51 -04:00
Tom Alexander
c4edcb8c24
Fix parsing the optional value. 2023-10-11 19:07:47 -04:00
Tom Alexander
4a44d88461
Better error messages. 2023-10-11 19:05:39 -04:00
Tom Alexander
efc6bd11d9
Do not exit on first loop. 2023-10-11 18:59:13 -04:00
Tom Alexander
51429e3155
Handle optval when translating names. 2023-10-11 18:50:22 -04:00
Tom Alexander
b1a0fa4acf
Compare optional value. 2023-10-11 18:44:21 -04:00
Tom Alexander
aeb2b6fe68
Parse out the optional value objects. 2023-10-11 18:29:07 -04:00
Tom Alexander
6679db98a8
Add comments. 2023-10-11 17:53:32 -04:00
Tom Alexander
dc9188dffc
Better error logging when emacs errors out.
Some checks failed
rustfmt Build rustfmt has succeeded
rust-build Build rust-build has succeeded
rust-test Build rust-test has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
2023-10-11 17:22:01 -04:00
Tom Alexander
bd620ccd0d
Format. 2023-10-11 16:32:08 -04:00
Tom Alexander
3fcf1b3864
Compare Document additional properties. 2023-10-11 16:27:25 -04:00
Tom Alexander
d965dd6fd1
Implement get_additional_properties for Document. 2023-10-11 16:14:03 -04:00
Tom Alexander
a9f067e25a
Update name tests to use all the affiliated keywords. 2023-10-11 15:25:09 -04:00
Tom Alexander
41b4b1015e
Update all comparisons to handle affiliated keywords. 2023-10-11 14:57:32 -04:00
Tom Alexander
9523365090
Update all elements to the new AffiliatedKeywords. 2023-10-11 14:44:25 -04:00
Tom Alexander
aa33fe42a8
Update compare_properties to handle affiliated keywords. 2023-10-11 14:14:33 -04:00
Tom Alexander
78a9b93f22
Nevermind, it did work. 2023-10-11 14:03:42 -04:00
Tom Alexander
a89339e472
Using owned string did not solve it. 2023-10-11 14:00:18 -04:00
Tom Alexander
f3307a8159
Lifetime issue. 2023-10-11 13:55:43 -04:00
Tom Alexander
4bfa25dcb3
Comparing lists of quoted strings. 2023-10-11 13:04:33 -04:00
Tom Alexander
441a240c33
Comparing single string values. 2023-10-11 13:00:21 -04:00
Tom Alexander
e767892dd5
Add capitalization. 2023-10-11 12:42:42 -04:00
Tom Alexander
8e0a7dea0f
A very simple GetAffiliatedKeywords trait. 2023-10-11 12:19:27 -04:00
Tom Alexander
c4cc40f5e1
Parsing the affiliated keywords. 2023-10-11 12:16:35 -04:00
Tom Alexander
a5129199c7
I need to parse the affiliated keywords during parsing because it relies on the global settings. 2023-10-11 12:16:35 -04:00
Tom Alexander
c0e462944d
Comment out the broken stuff. 2023-10-11 12:16:35 -04:00
Tom Alexander
63614841e8
Trait lifetime issues. 2023-10-11 12:16:35 -04:00
Tom Alexander
bc4c09c546
Add constants for affiliated keyword settings. 2023-10-11 12:16:35 -04:00
Tom Alexander
0d1ab0e75a
Add a debug assert for org entities being sorted. 2023-10-11 12:16:35 -04:00
Tom Alexander
6e39029f91
Store the affiliated keywords on the plainlist. 2023-10-10 18:10:34 -04:00
Tom Alexander
7cb71a5a0a
Compare the additional properties on headlines. 2023-10-10 17:40:27 -04:00
Tom Alexander
6b90a9bfa8
Add TODO. 2023-10-10 17:15:51 -04:00
Tom Alexander
6d4db60688
Support ("") as being equal to None in compare_property_list_of_ast_nodes. 2023-10-10 16:35:16 -04:00
Tom Alexander
3aca01891d
Remove the old implementation of comparing headlines. 2023-10-10 16:12:29 -04:00
Tom Alexander
275ed87c3f
Add a compare_properties variant with support for additional properties. 2023-10-10 16:10:12 -04:00
Tom Alexander
b385270d7b
Implement a function to get the additional properties on a headline. 2023-10-10 15:54:44 -04:00
Tom Alexander
585b1d2b74
compare_properties for document. 2023-10-10 15:30:27 -04:00
Tom Alexander
c578bb45af
Implement ExactSizeIterator for the other node types. 2023-10-10 15:27:03 -04:00
Tom Alexander
b7f7876706
Impl ExactSizeIterator for multi_field_iter. 2023-10-10 15:23:04 -04:00
Tom Alexander
ee5ed17c20
Implement ExactSizeIterator for DocumentIter. 2023-10-10 15:19:42 -04:00
Tom Alexander
a873794068
Starting a compare properties document function. 2023-10-10 14:58:18 -04:00
Tom Alexander
534c5ded3c
Fix table type is required. 2023-10-10 02:07:36 -04:00
Tom Alexander
bdaf90af03
compare_properties timestamp. 2023-10-10 02:05:31 -04:00
Tom Alexander
1a67aac502
compare_properties latex environment. 2023-10-10 01:39:47 -04:00
Tom Alexander
9f166278f4
compare_properties babel call. 2023-10-10 01:36:48 -04:00
Tom Alexander
c2222c9102
compare_properties keyword. 2023-10-10 01:32:36 -04:00
Tom Alexander
fc104680eb
compare_properties horizontal rule. 2023-10-10 01:29:00 -04:00
Tom Alexander
e40e3ff553
compare_properties fixed width area. 2023-10-10 01:27:37 -04:00
Tom Alexander
0b465fe290
compare_properties planning. 2023-10-10 01:24:44 -04:00
Tom Alexander
d5396e311b
compare_properties diary sexp. 2023-10-10 01:22:16 -04:00
Tom Alexander
384242af87
compare_properties clock. 2023-10-10 01:19:14 -04:00
Tom Alexander
ec755bae8b
compare_properties src block. 2023-10-10 01:13:09 -04:00
Tom Alexander
0b1e06f0d5
compare_properties export block. 2023-10-10 01:07:41 -04:00
Tom Alexander
bdfa050ee3
compare_properties example block. 2023-10-10 01:02:45 -04:00
Tom Alexander
ec98e1c3c5
compare_properties comment block. 2023-10-10 00:15:04 -04:00
Tom Alexander
0d0b1b2051
compare_properties verse block. 2023-10-10 00:12:40 -04:00
Tom Alexander
2215c32e57
compare_properties table cell. 2023-10-10 00:11:05 -04:00
Tom Alexander
cf257443b0
compare_properties table row. 2023-10-10 00:07:34 -04:00
Tom Alexander
62815621e4
compare_properties table. 2023-10-10 00:05:34 -04:00
Tom Alexander
7af5359e00
compare_properties node property. 2023-10-09 22:45:32 -04:00
Tom Alexander
d1184fa1d0
compare_properties property drawer. 2023-10-09 22:42:02 -04:00
Tom Alexander
5b146d7c07
compare_properties drawer. 2023-10-09 22:37:53 -04:00
Tom Alexander
926682d513
compare_properties comment. 2023-10-09 22:36:15 -04:00
Tom Alexander
4c89d6c813
compare_properties footnote definition. 2023-10-09 22:32:25 -04:00
Tom Alexander
62926bb91d
compare_properties dynamic block. 2023-10-09 22:28:32 -04:00
Tom Alexander
9ab649ebd4
compare_properties special block. 2023-10-09 22:20:20 -04:00
Tom Alexander
ca1b633a9f
compare_properties quote block. 2023-10-09 21:57:11 -04:00
Tom Alexander
f543caee00
compare_properties plain list item. 2023-10-09 21:55:29 -04:00
Tom Alexander
409a92333e
compare_properties plain list. 2023-10-09 21:55:28 -04:00
Tom Alexander
7a38d1ead3
compare_properties paragraph. 2023-10-09 21:55:28 -04:00
Tom Alexander
33c53a14ab
Switch back to the old compare heading function until we support additional properties. 2023-10-09 21:32:29 -04:00
Tom Alexander
65615c64d2
Implement a new compare_properties implementation of the heading comparison. 2023-10-09 21:27:18 -04:00
Tom Alexander
166e59b922
Implement a compare_property_numeric. 2023-10-09 21:04:41 -04:00
Tom Alexander
8e357ed3b6
compare_properties section. 2023-10-09 20:54:31 -04:00
Tom Alexander
ee1d8ca321
Text markup uses confine context. 2023-10-09 20:36:38 -04:00
Tom Alexander
25531cc443
Accept eof as a disallowed character for plain links. 2023-10-09 20:24:43 -04:00
Tom Alexander
47a440147f
Fix formatting.
Some checks failed
rust-build Build rust-build has succeeded
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
2023-10-09 19:52:32 -04:00
Tom Alexander
d1ef83afca
Compare properties of subscript and superscript. 2023-10-09 19:51:31 -04:00
Tom Alexander
4d88256394
Compare statistics cookies properties. 2023-10-09 19:40:13 -04:00
Tom Alexander
a588da2c4a
Compare target properties. 2023-10-09 19:37:47 -04:00
Tom Alexander
869c98d8b2
Compare line break properties. 2023-10-09 19:33:51 -04:00
Tom Alexander
4bc2f48738
Compare inline source block properties. 2023-10-09 19:31:57 -04:00
Tom Alexander
0d0b9863c3
Populate inline babel call fields. 2023-10-09 19:25:00 -04:00
Tom Alexander
6bc6fdc87b
Compare properties for inline babel calls. 2023-10-09 19:21:58 -04:00
Tom Alexander
bf1a281c29
Footnote reference description is in a confined context. 2023-10-09 18:23:13 -04:00
Tom Alexander
df4daa0e16
Do not include context in tracing. 2023-10-09 18:02:36 -04:00
Tom Alexander
5cd34ba3a2
Create a new context tree when calling into confine_context.
The parent exit matchers were causing an issue.
2023-10-09 18:02:36 -04:00
Tom Alexander
13b95cd0a1
Fix handling of text markup at the start/end of regular link descriptions and radio targets. 2023-10-09 18:02:36 -04:00
Tom Alexander
876d042c37
Fix tests. 2023-10-09 15:54:30 -04:00
Tom Alexander
81c0b7079f
Do not include leading slash in citation style.
Some checks failed
rust-build Build rust-build has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-test Build rust-test has failed
2023-10-09 15:48:43 -04:00
Tom Alexander
4a367dd7e0
Include closing semicolon in citation reference. 2023-10-09 15:45:10 -04:00
Tom Alexander
8a0f9d4540
Fix comparing key and mark prefix/suffix as optional. 2023-10-09 15:41:21 -04:00
Tom Alexander
f6155ecf93
Switch to returning ComparePropertiesResult.
This is to support returning lists of child results for properties that contain lists of ast nodes.
2023-10-09 15:33:33 -04:00
Tom Alexander
c077d34933
Populate citation reference properties. 2023-10-09 15:33:33 -04:00
Tom Alexander
1ecc3ecf9d
Fill citation fields. 2023-10-09 15:33:33 -04:00
Tom Alexander
840dc0a750
Support text markup at the start of a regular link description.
Some checks failed
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
2023-10-09 14:02:27 -04:00
Tom Alexander
adc5a383c3
Allow text markup at the start of a radio target. 2023-10-09 13:47:36 -04:00
Tom Alexander
5ac12229f4
Fix footnote reference type. 2023-10-09 13:23:08 -04:00
Tom Alexander
9565435526
Compare footnote reference properties. 2023-10-09 13:14:35 -04:00
Tom Alexander
e39562c85d
Roll out the new children functions to all compare functions using the new compare_properties macro.
We will roll it out to the rest of them when we move them over to the new compare_properties macro.
2023-10-09 13:08:45 -04:00
Tom Alexander
84ec2f2023
Introduce functions to compare children and assert there are no children. 2023-10-09 13:01:55 -04:00
Tom Alexander
00ed63dcaa
Compare properties for export snippets. 2023-10-09 13:01:55 -04:00
Tom Alexander
4e551e6d7e
Compare latex fragment properties.
All checks were successful
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
2023-10-09 12:30:59 -04:00
Tom Alexander
99318f39e3
Do not accept escaping {} for entities ending in whitespace. 2023-10-09 10:33:07 -04:00
Tom Alexander
c679a85e77
Fix sorting of entity names. 2023-10-09 10:33:07 -04:00
Tom Alexander
fc17fc224c
Update definitions to the version of entities used in the org-mode in the docker container. 2023-10-09 10:33:07 -04:00
Tom Alexander
7fe7e7a6ea
Add use_brackets. 2023-10-09 10:33:07 -04:00
Tom Alexander
ef591556fe
Populate entity fields. 2023-10-08 18:06:56 -04:00
Tom Alexander
c150aa4dea
Add support for an org-entities global setting. 2023-10-08 18:01:42 -04:00
Tom Alexander
1df6777b0b
Starting to compare entity properties. 2023-10-08 17:24:03 -04:00
Tom Alexander
f07d041eb9
Fix handling capitalization in macro names.
All checks were successful
rust-build Build rust-build has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
rust-test Build rust-test has succeeded
2023-10-08 16:51:44 -04:00
Tom Alexander
9bdec391f1
Do not capture trailing whitespace on the final macro arg.
Some checks failed
rust-build Build rust-build has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
rust-test Build rust-test has succeeded
2023-10-08 16:39:22 -04:00
Tom Alexander
dd009498dd
Switch to using coalesce_whitespace_escaped for macro args.
Some checks failed
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has failed
2023-10-08 16:19:25 -04:00
Tom Alexander
17c745ee71
Improve coalesce_whitespace_escaped to borrow when single spaces are used. 2023-10-08 16:15:49 -04:00
Tom Alexander
41aa0349a0
Add tests for coalesce_whitespace_escaped. 2023-10-08 16:06:52 -04:00
Tom Alexander
a6adeee40b
Handle escaping the characters in org macro arguments. 2023-10-08 15:54:56 -04:00
Tom Alexander
a32cea8139
Coalesce whitespace in macro args. 2023-10-08 15:08:21 -04:00
Tom Alexander
37bc5ef712
Do not include whitespace at the end of value. 2023-10-08 14:48:29 -04:00
Tom Alexander
1a2f0856da
Compare macro properties. 2023-10-08 14:40:01 -04:00
Tom Alexander
e9276e35ca
Add comments. 2023-10-08 14:18:17 -04:00
Tom Alexander
3041a575f9
Fix lifetimes. 2023-10-08 14:13:02 -04:00
Tom Alexander
42dbda494a
Switch to using a similar optimized Cow function for regular link. 2023-10-08 14:11:46 -04:00
Tom Alexander
0e791e67ab
Move the angle link string processing functions to a util file.
Since I bothered to do the right thing and implement these as returning Cow so I can avoid unnecessary allocations, I figure I should move them to a util file so they can be re-used.
2023-10-08 13:36:57 -04:00
Tom Alexander
ba55e0df4f
Remove all whitespace from search option if it contains any line breaks and handle triple+ slashes for file links. 2023-10-08 13:23:12 -04:00
Tom Alexander
d987b9b75b
Remove line breaks from path and do not allow search option for protocol links. 2023-10-08 13:02:09 -04:00
Tom Alexander
aa253c38dd
Parse out the angle link properties. 2023-10-08 12:46:18 -04:00
Tom Alexander
ceb5376b21
Fix handling of search option for plain links when parenthesis are involved. 2023-10-08 10:57:05 -04:00
Tom Alexander
b64c1c944b
Allow :: to end links regardless of parenthesis. 2023-10-08 10:57:05 -04:00
Tom Alexander
120a06055f
Handle 3 or more slashes in the path for regular links. 2023-10-08 09:54:10 -04:00
Tom Alexander
bbcafef8bf
Handle 3 or more slashes in the path for plain links. 2023-10-08 09:51:12 -04:00
Tom Alexander
038535174b
Do not allow empty path in plain links and do not remove "//" in regular links. 2023-10-08 09:34:47 -04:00
Tom Alexander
1bbe8fc688
Do not strip "//" from plain link path. 2023-10-08 09:28:09 -04:00
Tom Alexander
ba8115c648
Remove "//" from file paths. 2023-10-08 09:16:48 -04:00
Tom Alexander
0030ef4459
Parse application and handle parenthesis in regular links. 2023-10-08 09:10:47 -04:00
Tom Alexander
20a8683894
Handle puncuation-only search options.
Some checks failed
rust-build Build rust-build has succeeded
rust-test Build rust-test has failed
rust-foreign-document-test Build rust-foreign-document-test has failed
2023-10-07 03:25:37 -04:00
Tom Alexander
7196e10b69
Set up regular links for adding application. 2023-10-07 03:14:16 -04:00
Tom Alexander
ddb09a1805
Add support for application in plain links. 2023-10-07 03:00:40 -04:00
Tom Alexander
c58b850570
Add support for search options. 2023-10-07 02:42:07 -04:00
Tom Alexander
a55694176c
Compare the properties of plain links. 2023-10-07 02:22:36 -04:00
Tom Alexander
6973d5a2c0
Since value and path are always the same for radio links, I removed the extra value. 2023-10-07 01:48:16 -04:00
Tom Alexander
36327e92d7
Radio link did not need Cow.
All checks were successful
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
I was only using Cow because regular links can use templates which would require owned data. Radio links do not share this feature.
2023-10-07 01:26:52 -04:00
Tom Alexander
c70eb69ed6
Compare radio target properties. 2023-10-07 01:24:32 -04:00
Tom Alexander
029791e0b2
Fix tests. 2023-10-07 01:01:04 -04:00
Tom Alexander
8d621b32dc
Compare radio link properties.
Some checks failed
rust-test Build rust-test has failed
rust-build Build rust-build has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
2023-10-07 00:57:55 -04:00
Tom Alexander
56348a6d54
Actually absolute paths are files too.
All checks were successful
rust-build Build rust-build has succeeded
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
2023-10-07 00:15:37 -04:00
Tom Alexander
65e142a215
Link templates support single-colons and inject the value at the end if no %s is found. 2023-10-06 23:55:21 -04:00
Tom Alexander
aa0a0b890e
Relative paths are file links, absolute paths are fuzzy. 2023-10-06 23:48:55 -04:00
Tom Alexander
4c8828b91b
Apply the link templates. 2023-10-06 23:33:09 -04:00
Tom Alexander
2ba5156ee1
Add a global setting for link templates. 2023-10-06 20:34:13 -04:00
Tom Alexander
4716e1ce5b
Switch to using AsRef<str> to make compare_property_quoted_string generic. 2023-10-06 20:23:19 -04:00
Tom Alexander
89fcf6cb54
Restrict protocol links to org-link-parameters. 2023-10-06 19:18:58 -04:00
Tom Alexander
f220fd63e5
Add org-link-parameters to the GlobalSettings. 2023-10-06 19:14:11 -04:00
Tom Alexander
7cf1f7b7bb
Only orgify the link text if there are line breaks present. 2023-10-06 19:05:56 -04:00
Tom Alexander
135ca133ea
Add tests for search option. 2023-10-06 18:56:11 -04:00
Tom Alexander
d126488891
Handle orgifying text in regular link path and raw-link. 2023-10-06 18:30:08 -04:00
Tom Alexander
51748afd41
Compare pathreg. 2023-10-06 17:28:26 -04:00
Tom Alexander
e84135985e
Parse out the pathreg on regular links. 2023-10-06 17:21:43 -04:00
Tom Alexander
448902bb05
Add regular link tests for all the types. 2023-10-06 16:52:45 -04:00