Tom Alexander
df79cbd0b7
Give global options their own lifetime.
2023-09-03 16:22:40 -04:00
Tom Alexander
a7b9eb9db4
Lifetime issue.
2023-09-03 12:58:46 -04:00
Tom Alexander
d262833f9b
Fixing more errors.
2023-09-03 12:52:09 -04:00
Tom Alexander
0d438a8e0f
Fixing more errors.
2023-09-03 12:45:12 -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
fdf35ba23c
Fixing more errors.
2023-09-03 12:07:51 -04:00
Tom Alexander
cd69e08516
Fixing more errors.
2023-09-03 11:05:34 -04:00
Tom Alexander
b54c6d366c
Fixing more errors.
2023-09-03 00:27:50 -04:00
Tom Alexander
15e8d1ab77
Implement check_exit_matcher.
2023-09-03 00:05:47 -04:00
Tom Alexander
8502a8830d
Fixing some errors.
2023-09-02 23:16:02 -04:00
Tom Alexander
74a6101de7
Update RefContext to three lifetimes.
2023-09-02 22:45:46 -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
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
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-31 18:53:28 -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
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
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
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
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
b48d472546
Fix build.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-29 18:07:35 -04:00
Tom Alexander
80b55fdd45
Consume trailing whitespace for macro.
2023-08-29 17:42:58 -04:00
Tom Alexander
f426e32798
Do not include trailing punctuation or whitespace in plain links.
2023-08-29 17:35:04 -04:00
Tom Alexander
1bcd1895c0
Allow affiliating keywords with regular keywords.
2023-08-29 17:19:13 -04:00
Tom Alexander
2ba0dc49be
Support export affiliated keywords.
2023-08-29 17:01:35 -04:00
Tom Alexander
9df40fb13f
Only allow specific keywords for affiliated keywords.
2023-08-29 16:56:07 -04:00
Tom Alexander
cc671925db
Support empty sections under headings.
2023-08-29 16:07:43 -04:00
Tom Alexander
950baa9d5d
Only allow a single section under a heading.
2023-08-29 16:03:13 -04:00
Tom Alexander
56865c68fc
Do not allow plain links without a path.
2023-08-29 15:44:04 -04:00
Tom Alexander
3206027b96
Add all entities.
2023-08-29 15:16:22 -04:00
Tom Alexander
3e6df7ba78
Print character offset from rust's parse perspective during compare.
2023-08-29 14:40:58 -04:00
Tom Alexander
f21385a901
Add a helper function for logging during debugging.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-08-29 14:03:14 -04:00
Tom Alexander
1d06d95bb1
Add a minimum stars figure to heading parser to reduce re-parses.
2023-08-29 14:01:28 -04:00
Tom Alexander
bfc88c1d1b
Use a detect_headline function instead of the full headline parse for the section_end exit matcher.
...
This shaved 2 seconds off the first 800 lines of org-mode/doc/org-guide.org.
2023-08-29 11:35:54 -04:00