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
3bdb24ad88
Fixing more errors.
2023-09-03 12:23:18 -04:00
Tom Alexander
15e8d1ab77
Implement check_exit_matcher.
2023-09-03 00:05:47 -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
67f79aeb51
Remove context from detect plain list.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-31 18:53:28 -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
a6d742a536
Fix handling line breaks after divider in description lists.
2023-08-29 21:27:54 -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
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
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
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
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
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
7cf1b2d2b8
Disable the failing plain list whitespace ownership test.
rust-build Build rust-build has failed
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
2023-08-17 00:03:05 -04:00
Tom Alexander
7fafbfb6bb
Do not consume whitespace in the final plain list item.
2023-08-16 17:37:19 -04:00
Tom Alexander
56281633f3
Support blank link in plain_list_item_end, move exit matcher to end of loop in plain_list, and maybe consume trailing whitespace in plain_list_item.
2023-08-16 17:09:06 -04:00
Tom Alexander
7df393f31d
Make a new naive implementation of plain_list_item.
...
Still need to update plain_list_item_end and handle the whitespace ownership issues, but starting from a simplified state will help.
2023-08-16 16:05:24 -04:00
Tom Alexander
72d5f8f35c
Make a new naive implementation of plain_list.
2023-08-16 16:05:24 -04:00
Tom Alexander
e5e5120a10
Move telemetry handling to the tracing-specific main function.
...
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
This is so main_body can exit with an error at any time without missing the shutdown_telemetry function. This does not catch panics.
2023-08-16 16:05:24 -04:00
Tom Alexander
cd1b4ba785
Make the tracing macros optional.
2023-08-10 20:22:34 -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
7855020927
Fix some errors.
2023-04-22 01:13:05 -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
18323a2b43
Solve the rest of the compiler warnings.
2023-04-21 18:42:31 -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
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
412bdcda28
Fix problem with detecting end of plain list item.
...
The problem is line indented lte does not match because we aren't consuming the whitespace that the plain list would consume.
2023-04-14 23:56:55 -04:00
Tom Alexander
be64eb92af
Ran into a bigger issue.
2023-04-14 20:17:53 -04:00
Tom Alexander
8549a6b0db
Fix case where indentation was causing the plain list item matcher to match items it wouldn't use in other parts.
2023-04-14 19:56:54 -04:00
Tom Alexander
143ac49777
Fix plain list item parser to not consume trailing whitespace on the last element.
2023-04-14 19:32:08 -04:00
Tom Alexander
08fed1301e
Fix plain list parser to not consume trailing whitespace on the last item.
2023-04-14 19:24:05 -04:00