Tom Alexander
4c8828b91b
Apply the link templates.
2023-10-06 23:33:09 -04:00
Tom Alexander
2b5df83956
Format the code.
2023-10-02 19:24:47 -04:00
Tom Alexander
a62c3fc522
Move AstNode into the types crate.
...
Now that it is used for more than just iteration, it makes sense to promote it to the types crate.
2023-10-02 13:10:45 -04:00
Tom Alexander
599b3b8f0a
Apply category even if there are radio targets.
rustfmt Build rustfmt has failed
rust-build Build rust-build has failed
rust-test Build rust-test has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
2023-10-02 10:26:57 -04:00
Tom Alexander
186201a4b5
Remove category from global settings.
...
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
This setting does not impact parsing so we can iterate over the final document to find the keywords.
2023-09-30 14:35:22 -04:00
Tom Alexander
d38b0a84f6
Fix handling file names with periods before the file extension.
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-09-30 01:26:24 -04:00
Tom Alexander
846a8b3729
Support reading category from in-buffer-settings.
2023-09-30 00:14:26 -04:00
Tom Alexander
fc7d4bd949
Set Document path and category based on file path.
2023-09-29 23:59:32 -04:00
Tom Alexander
3fb2b5d31c
Undo the getters change.
...
The getters were a good idea, but if we are going to support editing later, we will need to expose the fields or write A LOT of boiler-plate. The getters also would prevent people from moving values out of the AST without even more boiler-plate. It is simply not worth it at this stage, so we will need to tolerate frequently changing semver versions as the public interface changes since *every* field in the AST is public.
2023-09-29 21:14:55 -04:00
Tom Alexander
d1dac0b8de
Compare document category.
2023-09-29 20:57:09 -04:00
Tom Alexander
48d550e1fc
Remove old implementation of iteration.
2023-09-27 19:45:40 -04:00
Tom Alexander
9ce042d5b6
Replace old iteration with new iteration.
2023-09-27 19:44:06 -04:00
Tom Alexander
e4c0e32536
Change public interface to return boxed dynamic error instead of String.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
rust-foreign-document-test Build rust-foreign-document-test has succeeded
2023-09-12 15:52:01 -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
2e6e6fdd2b
Move sections to their own source file.
2023-09-08 15:08:16 -04:00
Tom Alexander
3cc2294387
Move headlines into their own file.
2023-09-08 15:05:42 -04:00
Tom Alexander
c2eb1f51c8
Support blank lines between nested headlines.
2023-09-08 12:41:48 -04:00
Tom Alexander
12cbb89861
Compare todo-type on headlines.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-09-06 12:39:03 -04:00
Tom Alexander
400f53e440
Cleanup.
2023-09-06 11:53:21 -04:00
Tom Alexander
028aeb70aa
Use the global settings todo keywords when parsing headlines.
2023-09-06 11:45:35 -04:00
Tom Alexander
70fafd801e
Apply the TODO keyword settings.
2023-09-06 11:07:57 -04:00
Tom Alexander
b0392ad6fb
Trim the trailing space off keywords with values.
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-09-04 22:35:46 -04:00
Tom Alexander
1c142b68c6
Make the parse entry point call the parse_with_settings entry point.
2023-09-04 22:11:56 -04:00
Tom Alexander
9060f9b26d
Only do a single pre-pass on the full document pulling out both setupfile and all other in-buffer settings.
...
rust-test Build rust-test has failed
rust-build Build rust-build has failed
Previously we made a separate pass just to find setupfile and then we pulled the in-buffer settings from everything.
2023-09-04 22:05:59 -04:00
Tom Alexander
275b4b53d1
Use a single function for finding all keywords.
2023-09-04 19:19:23 -04:00
Tom Alexander
d38e198258
Add a parse_with_settings function.
2023-09-04 17:44:27 -04:00
Tom Alexander
c7d5c89a60
Passing the setupfile contents to the document parser.
2023-09-04 17:16:08 -04:00
Tom Alexander
ee02e07717
Read the setup file into memory.
2023-09-04 16:53:02 -04:00
Tom Alexander
a8f277efe5
Scan for setupfile at the beginning of a parse.
2023-09-04 12:48:59 -04:00
Tom Alexander
0ef141d65e
Switch to putting radio targets in the global settings instead of the context tree.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-09-04 12:28:33 -04:00
Tom Alexander
33091112a5
Remove OrgSource from the public document parser interface.
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
2023-09-04 11:38:12 -04:00
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
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
25b8c80d4e
Add default constructors.
2023-09-02 18:40:01 -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
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
Tom Alexander
3e143796f7
Compare heading todo keywords.
...
rust-test Build rust-test has succeeded
rust-build Build rust-build has succeeded
This only handles the default case where the only valid TODO keywords are TODO and DONE.
2023-08-27 15:56:08 -04:00
Tom Alexander
be6197e4c7
Store the tags in the heading.
2023-08-25 06:20:06 -04:00
Tom Alexander
2d4e54845b
Add support for parsing tags in headlines.
2023-08-25 06:13:29 -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