Commit Graph

1956 Commits

Author SHA1 Message Date
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
Tom Alexander 601fc4776a
Have to rework the paragraph parser to return something that I'd want to put in a token, like a Paragraph struct. 2022-12-16 00:53:29 -05:00
Tom Alexander 6459cc64d0
I think thats all for context_many1. Just need to start using it. 2022-12-16 00:47:33 -05:00
Tom Alexander 1f1a18782e
Start of many1. 2022-12-16 00:21:13 -05:00
Tom Alexander 0504c48b66
Implement an iter_until. 2022-12-15 23:52:52 -05:00
Tom Alexander 0d2dfe3a14
Move context_many_till to its own combinators file. 2022-12-15 23:28:09 -05:00
Tom Alexander c74b802038
Cleanup. 2022-12-15 23:23:03 -05:00
Tom Alexander ef60559428
Merge branch 'custom_error' into context_many_till 2022-12-15 23:15:48 -05:00
Tom Alexander cd2daf6fef
Replace all TODOs wanting a custom error with a generic custom error. 2022-12-15 23:15:27 -05:00
Tom Alexander a1adf2aa41
Custom error seems to be working. 2022-12-15 23:09:40 -05:00
Tom Alexander f2e68612c4
Create a custom error enum to contain regular nom errors. 2022-12-15 22:57:08 -05:00
Tom Alexander 4a9bb31aed
Start of a custom error. 2022-12-15 22:38:28 -05:00
Tom Alexander 4c09c390fa
Prevent bold inside bold. 2022-12-15 21:57:21 -05:00
Tom Alexander c6f75e1736
Don't increment Rc counters when checking exit matchers. 2022-12-15 21:30:53 -05:00
Tom Alexander 4af09a69a1
Rename fail matcher to exit matcher. 2022-12-15 21:24:53 -05:00
Tom Alexander 0c676c44c2
I need to prevent matching bold inside a bold. 2022-12-15 21:14:49 -05:00
Tom Alexander b27be8eab1
Pass context into fail matchers. 2022-12-15 20:33:52 -05:00
Tom Alexander 23e567ca93
Add a comment with a note about what my next step is. 2022-12-11 02:31:14 -05:00
Tom Alexander 50a57ef15b
Check that there is blank space after the ending asterisk. 2022-12-11 02:24:19 -05:00
Tom Alexander 48942d2b45
Add a line that has no bolds because of the starting/stopping surrounding text rule. 2022-12-11 02:10:50 -05:00
Tom Alexander bb09ed41a4
Deciding if bold can start. 2022-12-11 02:07:12 -05:00
Tom Alexander b6b88a7d78
Switch to using borrows instead of cloning the Rc during iteration. 2022-12-11 01:07:16 -05:00