Tom Alexander
36210c2d7f
Add a DocumentRoot context element storing the original full document.
...
This might be used for look-behind instead of storing previous element nodes in the context tree.
2023-03-23 16:40:39 -04:00
Tom Alexander
7402de6a7c
Add a test org document with an asterisk inside the bold.
...
This is to prove that bold can contain an asterisk if it doesn't satisfy the exit matcher.
2023-03-23 14:20:14 -04:00
Tom Alexander
f060e7189b
Minor cleanup.
2023-03-23 14:13:21 -04:00
Tom Alexander
150b4d4387
Merge branch 'exit_matcher_investigation'
2023-03-21 15:30:04 -04:00
Tom Alexander
61638e80a0
Looks like tables cannot contain lists so we don't have to worry about more complicated exit rules.
2023-03-21 15:20:42 -04:00
Tom Alexander
fd879de353
Add a test case showing 2 blank lines exits the top-level plain list.
2023-03-21 15:13:50 -04:00
Tom Alexander
95fe88a5f4
Make all the makefiles recursive.
2023-03-21 14:32:26 -04:00
Tom Alexander
8cfa40737a
Fixed it so that each source file has its own role.
2023-03-21 14:20:33 -04:00
Tom Alexander
f8bce7e1a6
Create a more automatic makefile for org-mode trees.
...
Unfortunately, this seems to rebuild every source file every time so I still need to work on fixing that.
2023-03-21 14:18:14 -04:00
Tom Alexander
6b5db46205
Merge branch 'plainlist'
2023-03-21 13:44:30 -04:00
Tom Alexander
cee12b7512
Allow IgnoreParent to be dead code.
2023-03-21 13:44:22 -04:00
Tom Alexander
77d8c5e029
Mark the plain list functions as allow dead code.
2023-03-21 13:38:23 -04:00
Tom Alexander
2fcb445fe9
Switch to ending plain lists with 2 blank lines instead of just 1.
2023-03-21 13:36:52 -04:00
Tom Alexander
e3f0aaefdf
Add TODO.
2023-03-19 18:28:59 -04:00
Tom Alexander
a5a03126d2
Add test for nested list end via 2 blank lines.
2023-03-19 14:52:29 -04:00
Tom Alexander
6a0dc2fc62
Format the ast.
2023-03-19 14:21:02 -04:00
Tom Alexander
33a69fbe0e
fixup
2023-03-19 14:17:11 -04:00
Tom Alexander
4e7d7d3bcf
Add scripts for dumping the org-mode ast to investigate how emacs parses various inputs.
2023-03-19 14:07:47 -04:00
Tom Alexander
bf3464c65c
End list items when the following line is indented less than or equal to the current item.
2023-03-19 13:05:37 -04:00
Tom Alexander
6d19eeb0f4
Add parsers for lines that are indented less than or equal to the current line item's indent.
2023-03-18 17:32:07 -04:00
Tom Alexander
29904f2bb5
Detect next list item as ender for current list item.
2023-03-18 14:36:33 -04:00
Tom Alexander
88c974f8e4
Record the list item indent depth in the context tree.
2023-03-18 13:26:35 -04:00
Tom Alexander
32897270a5
Support leading whitespace for list items.
2023-03-18 13:26:32 -04:00
Tom Alexander
37070689c6
Continued work on item parser.
...
Still needs to:
1. Do context things
2. Fix the double-space after the tag separator issue
3. Add support for indentation
4. Write item_end
5. Write plain_list
2022-12-18 07:52:02 -05:00
Tom Alexander
5e7c891681
Start of list item implementation.
2022-12-18 07:52:02 -05:00
Tom Alexander
62e5499150
Add parsers for most of the rest of item.
2022-12-18 07:52:02 -05:00
Tom Alexander
b4e28f3d4d
Implement a parser for a bullet in a list item.
2022-12-18 07:52:02 -05:00
Tom Alexander
f39319702c
Switch to nom's consumed.
2022-12-18 07:52:01 -05:00
Tom Alexander
76b2325486
Start the plain list module.
2022-12-18 07:52:01 -05:00
Tom Alexander
89758721ed
Rename contents to source to match objects that need to store a separate source.
2022-12-18 04:42:13 -05:00
Tom Alexander
448dcfac72
Create an also_recognize combinator to make providing source slices fast and safe.
2022-12-18 04:36:12 -05:00
Tom Alexander
60d9487fdf
Add comment.
2022-12-18 04:36:12 -05:00
Tom Alexander
f7de564deb
Add a source trait to ensure we can re-create the source document using the parsed objects.
2022-12-18 04:36:12 -05:00
Tom Alexander
50a67c65ef
Standardize order of lifetimes for r and s.
2022-12-18 03:30:36 -05:00
Tom Alexander
2def475337
Move the structs into the token module.
2022-12-18 03:24:35 -05:00
Tom Alexander
8211e1043f
Move in_section to a util module.
2022-12-18 03:18:43 -05:00
Tom Alexander
6404e5f50e
Cleanup
2022-12-18 03:15:11 -05:00
Tom Alexander
4ac3a47deb
Move the text element parser into the text module.
2022-12-18 03:15:11 -05:00
Tom Alexander
46672b40b2
Cleanup.
2022-12-18 03:04:31 -05:00
Tom Alexander
54ed989300
Move Res into the error type module.
2022-12-18 03:04:31 -05:00
Tom Alexander
a005502d97
Move another function inside bold that was only used by bold.
2022-12-18 02:55:14 -05:00
Tom Alexander
eaf8721ae9
Move paragraph to its own module.
2022-12-18 02:53:26 -05:00
Tom Alexander
7fc19cc9a6
Rename the parser for bold and link.
2022-12-18 02:39:29 -05:00
Tom Alexander
58f2f4e6aa
Move link to its own module.
2022-12-18 02:37:42 -05:00
Tom Alexander
0b35491047
Move bold out to its own module.
2022-12-18 02:30:24 -05:00
Tom Alexander
6352f92ebc
Rename nom context to parser context.
2022-12-18 02:16:28 -05:00
Tom Alexander
279b9dceb4
Merge branch 'context_many1'
2022-12-18 02:09:42 -05:00
Tom Alexander
6caaeddc37
Update link to use the new contextual combinators like bold.
2022-12-18 02:05:21 -05:00
Tom Alexander
9eab737aa8
Add comment.
2022-12-16 01:39:57 -05:00
Tom Alexander
1da38c8f7d
Use context_many1 for paragraphs in a document.
2022-12-16 01:35:49 -05:00