Commit Graph

1131 Commits

Author SHA1 Message Date
Tom Alexander c309d14776
Fix a reference to RefContext. 2023-09-02 20:52:02 -04:00
Tom Alexander 0d728510d7
Implement iterator for context. 2023-09-02 20:46:17 -04:00
Tom Alexander 22e9bc991f
Fixing up compiler errors. 2023-09-02 19:28:33 -04:00
Tom Alexander 564104f1e8
Switch to RefContext. 2023-09-02 19:16:44 -04:00
Tom Alexander 12ad3b09f0
Fixing imports. 2023-09-02 19:15:47 -04:00
Tom Alexander eabffe5ecc
Move over the rest of the types. 2023-09-02 19:08:01 -04:00
Tom Alexander b47029fdbb
Starting to separate the context and parsed tokens into their own modules. 2023-09-02 18:46:45 -04:00
Tom Alexander 25b8c80d4e
Add default constructors. 2023-09-02 18:40:01 -04:00
Tom Alexander 54825538e4
fixup 2023-09-02 18:21:43 -04:00
Tom Alexander 66d10a7a1b
Started switching over to a stack-based context tree with global settings.
This change should hopefully allow for matchers to have captured borrowed values, it should eliminate the use of heap-allocated reference counting on the context nodes, and it adds in a global settings struct for passing around values that do not change during parsing.
2023-09-02 18:20:10 -04:00
Tom Alexander acf1205e75
Merge branch 'file_based_diff'
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
2023-09-02 17:28:31 -04:00
Tom Alexander 2cd2f7570c
Update scripts to handle passing files as parameters. 2023-09-02 17:28:22 -04:00
Tom Alexander f16a554154
Handle org-mode documents passed as args.
We were running into issues where the documents grew too large for being passed as a string to emacs, and we need to handle #+setupfile so we need to start handling org-mode documents as files and not just as anonymous streams of text.

The anonymous stream of text handling will remain because the automated tests use it.
2023-09-02 17:28:22 -04:00
Tom Alexander a40a504f94
Switch to using read-only root in docker containers.
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 21:23:51 -04:00
Tom Alexander 80d77ff5d6
Fix handling of unicode in compare 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-31 20:20:00 -04:00
Tom Alexander ee92049e5d
Merge branch 'special_block'
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 19:19:29 -04:00
Tom Alexander 510985e97c
Fix greater blocks by preventing nesting even if they are not the immediate parent. 2023-08-31 19:17:46 -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 7a903acedc
Support special blocks in compare. 2023-08-31 19:04:44 -04:00
Tom Alexander 5171326d63
Create a test for special blocks. 2023-08-31 19:02:18 -04:00
Tom Alexander 67f79aeb51
Remove context from detect plain list.
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 18:53:28 -04:00
Tom Alexander b2383d9f93
Fix footnote definition performance.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
We were re-parsing each footnote definition in the footnote definition exit matcher which causes their contents to get re-parsed. This compounds with long lists of footnote definitions.
2023-08-31 18:47:23 -04:00
Tom Alexander 9e2a323f6f
Merge branch 'trailing_whitespace_at_end_of_file'
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 17:29:52 -04:00
Tom Alexander 0fcb3f73f9
Move handling of contentless item to handle contentless description item. 2023-08-31 17:25:42 -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 b5f0521b56
Only consume trailing whitespace when not exiting for all objects. 2023-08-31 15:45:31 -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 214e895d85
Support backslash at the end of a macro. 2023-08-29 23:42:16 -04:00
Tom Alexander db3086743c
Publish version 0.1.4.
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:28:17 -04:00
Tom Alexander 207a0546b0
Run full test suite despite default feature selection.
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:23:31 -04:00
Tom Alexander e9480fd156
Disable the compare tests when the compare feature is disabled.
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:17:46 -04:00
Tom Alexander 28aca041f7
Publish version 0.1.3.
rustfmt Build rustfmt has failed Details
rust-test Build rust-test has failed Details
rust-build Build rust-build has succeeded Details
2023-08-29 23:05:36 -04:00
Tom Alexander d82def2a70
Merge branch 'compare_improvements'
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 22:58:42 -04:00
Tom Alexander d471f7178b
Wrap the components of headlines in diff layers. 2023-08-29 22:57:08 -04:00
Tom Alexander 2c5c26c55f
Allow diff layers that are not associated with tokens. 2023-08-29 22:47:40 -04:00
Tom Alexander 7944659802
Compare headline level. 2023-08-29 22:11:56 -04:00
Tom Alexander 58aca53144
Move get_property into util. 2023-08-29 22:07:23 -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 eaa38ce772
Include an error message for failed bounds checking.
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 21:27:54 -04:00
Tom Alexander a6d742a536
Fix handling line breaks after divider in description lists. 2023-08-29 21:27:54 -04:00
Tom Alexander 45be9e7bde
Merge branch 'description_list'
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 19:36:45 -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 b48d472546
Fix build.
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 18:07:35 -04:00
Tom Alexander ea6faf728c
Add test for description list. 2023-08-29 18:07:35 -04:00
Tom Alexander f4ea1b7303
Merge branch 'accuracy_fixes_from_feeding_large_documents'
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has failed Details
2023-08-29 17:49:19 -04:00