Tom Alexander
786521ad4a
Add affiliated keyword matching to the detect_* functions.
2023-10-04 21:03:32 -04:00
Tom Alexander
d8102b7bc2
Move the affiliated keywords parser inside the specific element parsers.
...
We need access to the affiliated keywords to do things like set the name of the element, and only half the element parsers are allowed to have affiliated keywords, so it makes sense to move it inside the specific parsers.
2023-10-04 20:55:48 -04:00
Tom Alexander
b4c985071c
Add a GetStandardProperties trait.
2023-09-23 19:13:01 -04:00
Tom Alexander
85454a0a27
Fix footnote reference function label matcher.
...
Previously when a label started with a number but contained other characters, this parser would fail because it would not match the entire label.
2023-09-15 21:14:44 -04:00
Tom Alexander
84953c1669
Put back in needed pubs.
2023-09-11 14:59:23 -04:00
Tom Alexander
7650a9edff
Remove all pub.
2023-09-11 13:11:08 -04:00
Tom Alexander
f54081437a
Add detect element functions for all elements that can be reasonably detected more efficiently than just parsing normally.
2023-09-11 12:28:15 -04:00
Tom Alexander
21c60d1036
Do not consume trailing whitespace on the footnote definition's final element.
2023-09-08 21:30:03 -04:00
Tom Alexander
6a1bdd5fee
Support blank lines before content in footnote definitions.
2023-09-08 21:11:47 -04:00
Tom Alexander
df79cbd0b7
Give global options their own lifetime.
2023-09-03 16:22:40 -04:00
Tom Alexander
0b009511ff
Fixing more errors.
2023-09-03 12:28:45 -04:00
Tom Alexander
fdf35ba23c
Fixing more errors.
2023-09-03 12:07:51 -04:00
Tom Alexander
74a6101de7
Update RefContext to three lifetimes.
2023-09-02 22:45:46 -04:00
Tom Alexander
564104f1e8
Switch to RefContext.
2023-09-02 19:16:44 -04:00
Tom Alexander
eabffe5ecc
Move over the rest of the types.
2023-09-02 19:08:01 -04:00
Tom Alexander
b2383d9f93
Fix footnote definition performance.
...
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
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
e84e2b5147
Update tests to compile again.
2023-08-24 17:15:24 -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
cd1b4ba785
Make the tracing macros optional.
2023-08-10 20:22:34 -04:00
Tom Alexander
5fb66a586d
Implement a function to detect the end of a footnote reference definition with balanced brackets.
2023-07-19 20:52:09 -04:00
Tom Alexander
0ca6ce504f
Simulate trailing whitespace in empty greater blocks just like drawers.
2023-04-22 21:45:18 -04:00
Tom Alexander
9861084afe
Cleanup.
2023-04-22 01:45:38 -04:00
Tom Alexander
ba74bb58bb
Separate out calls to build element parser.
2023-04-22 01:08:45 -04:00
Tom Alexander
4ac6d89311
Moving towards unifying into a single parameterized element matcher.
...
This is to give paragraph priority over keyword in parsing so that affiliated keywords for paragraphs will be parsed as such.
2023-04-22 00:55:31 -04:00
Tom Alexander
fbdf40fed0
Fix failing tests that were relying on the captured trailing whitespace.
2023-04-22 00:19:01 -04:00
Tom Alexander
0b989b53a6
Fix warnings.
2023-04-21 23:55:18 -04:00
Tom Alexander
e97cf6630f
Move consuming the trailing whitespace up to the element matchers.
2023-04-21 23:54:54 -04:00
Tom Alexander
a1724dae52
Combine the error types.
2023-04-21 18:36:01 -04:00
Tom Alexander
d780981baf
Separate out the element parsers.
2023-04-21 16:10:56 -04:00
Tom Alexander
c6fd04e9ce
Fix footnote definition end matcher detecting the next footnote definition.
2023-04-19 14:30:02 -04:00
Tom Alexander
45d0ce17c3
Do not allow elements to immediately nest inside themselves.
...
Plain list is omitted because they can nest.
2023-04-18 22:10:44 -04:00
Tom Alexander
a2051aca4f
Remove ChainBehavior.
2023-04-18 20:44:58 -04:00
Tom Alexander
35eff51d1b
First implementation moving over to the new exit matcher class system.
2023-04-18 20:33:01 -04:00
Tom Alexander
1ecdd61fed
Do not consume trailing whitespace if the parent exit matcher is matching.
2023-04-10 13:13:11 -04:00
Tom Alexander
895ee9f3b6
Add a test showing the footnote exit matcher is not handling multiple blank lines properly.
2023-04-10 12:16:49 -04:00
Tom Alexander
6fdd613bed
Cleanup.
2023-04-10 12:13:31 -04:00
Tom Alexander
ea753ad33c
Fix footnote definition end matcher to use trailing whitespace.
2023-04-10 12:03:01 -04:00
Tom Alexander
6578ddc100
Add a test for footnote definition.
2023-04-10 11:54:05 -04:00
Tom Alexander
e5bc4cb14b
Footnote definitions are parsing on their own.
2023-04-10 11:50:43 -04:00
Tom Alexander
9a0172e1a4
Add a context element for tracking whether or not elements should consume their trailing whitespace.
2023-04-10 10:36:16 -04:00
Tom Alexander
6813c7c991
Identified the problem as being the handling of the trailing whitespace.
2023-04-10 09:49:24 -04:00
Tom Alexander
716f80b0ec
Add initial implementation of footnote definition.
2023-04-07 17:14:44 -04:00