Commit Graph

817 Commits

Author SHA1 Message Date
Tom Alexander bdd04f4d5c
Do not allow '<' as a pre-character for text-markup but do allow start of file. 2023-09-16 14:06:31 -04:00
Tom Alexander 1a704dd312
Honor the odd startup setting from org-mode files.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-15 22:54:49 -04:00
Tom Alexander a74ea730f4
Read the odd startup option from org-mode files. 2023-09-15 22:31:15 -04:00
Tom Alexander d443dbd468
Introduce the tab_width setting and give tabs a greater value when counting indentation level. 2023-09-15 21:59:48 -04:00
Tom Alexander c9ce32c881
Remve redundant org_spaces functions.
Turns out the nom space0/space1 parsers accept tab characters already.
2023-09-15 21:28:40 -04:00
Tom Alexander 85454a0a27
Fix footnote reference function label matcher.
Previously when a label started with a number but contained other characters, this parser would fail because it would not match the entire label.
2023-09-15 21:14:44 -04:00
Tom Alexander fdebf6dec5
Delete already solved TODO. 2023-09-15 21:08:52 -04:00
Tom Alexander 444d6758aa
Handle leading blank lines in greater blocks.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-15 21:03:35 -04:00
Tom Alexander bfe67b1f75
Parse plain list item checkboxes. 2023-09-15 16:09:57 -04:00
Tom Alexander fd41ad9c29
Pretend dos line endings do not exist. 2023-09-15 14:13:17 -04:00
Tom Alexander 7f751d4f28
Allow no digit in repeater in timestamp. 2023-09-15 13:12:54 -04:00
Tom Alexander 52a4dab67c
Use the timestamp parser in planning.
Previously we did not support inactive timestamps in planning. This fixes that.
2023-09-15 12:45:19 -04:00
Tom Alexander 3d86e75059
Always match the entire entity name.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has failed Details
2023-09-14 04:29:50 -04:00
Tom Alexander ca6fdf1924
Support different cases in radio links. 2023-09-14 04:04:21 -04:00
Tom Alexander 66d16d89ed
Support interchangeable whitespace in re-matching plain text. 2023-09-14 04:00:34 -04:00
Tom Alexander 22681b6a58
Support trailing whitespace in fixed-width areas. 2023-09-14 03:20:44 -04:00
Tom Alexander 876d33239e
Allow any character to be escaped in the path for links. 2023-09-14 03:05:11 -04:00
Tom Alexander 87941271a4
Handle headlines with trailing spaces without tags. 2023-09-14 02:43:40 -04:00
Tom Alexander 32b19d68d0
Support todo keywords with fast access. 2023-09-14 02:24:06 -04:00
Tom Alexander 44e9f708c9
Handle the possibility of a title-less headline. 2023-09-14 02:01:24 -04:00
Tom Alexander 33372429dd
Add a config option for org-list-allow-alphabetical.
This fixes an issue where lines in a paragraph were incorrectly getting identified as lists because I had defaulted to assuming alphabetical bullets were allowed.
2023-09-14 00:27:54 -04:00
Tom Alexander b8a4876779
Disable auto-aligning tables when Emacs loads Org-mode.
Emacs will auto-align tables when org-mode is loaded if the document contains "#+STARTUP: align". Since Organic is just a parser, it has no business editing the input it receives so we are disabling this auto-align in Emacs to make the tests work properly.
2023-09-13 21:02:38 -04:00
Tom Alexander e4c0e32536
Change public interface to return boxed dynamic error instead of String.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has succeeded Details
2023-09-12 15:52:01 -04:00
Tom Alexander 37e85158ea
Reduce the exposed functions when compare feature is enabled. 2023-09-12 15:48:37 -04:00
Tom Alexander a651b79e77
Move sexp into compare. 2023-09-11 15:37:20 -04:00
Tom Alexander 98de5e4ec5
Remove unused sexp parser entry point. 2023-09-11 15:07:52 -04:00
Tom Alexander cf383fa394
Only include sexp module if compare feature is enabled.
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has succeeded Details
2023-09-11 14:59:24 -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 a74319d381
Add TODO. 2023-09-11 13:09:46 -04:00
Tom Alexander f103d168d5
Update diary sexp parser to match org-mode's behavior. 2023-09-11 12:34:57 -04:00
Tom Alexander f54081437a
Add detect element functions for all elements that can be reasonably detected more efficiently than just parsing normally. 2023-09-11 12:28:15 -04:00
Tom Alexander 1561e1e580
Update plain list item tag parser to allow double colon as long as its not the last one on that line. 2023-09-11 10:29:15 -04:00
Tom Alexander 1f11bfa2ec
Join the plain list item tag end matchers again. 2023-09-11 10:13:22 -04:00
Tom Alexander de7ad182b3
Make parse and compare their own binaries.
rustfmt Build rustfmt has succeeded Details
rust-test Build rust-test has succeeded Details
rust-build Build rust-build has succeeded Details
rust-foreign-document-test Build rust-foreign-document-test has succeeded Details
This ensures that both code paths are capable of being parsed by rust-analyzer simultaneously and I think it will be less confusing to newcomers.
2023-09-09 04:21:34 -04:00
Tom Alexander b75d9f5c91
Remove an outdated comment. 2023-09-09 00:00:12 -04:00
Tom Alexander 5587e19f16
Cleanup. 2023-09-08 23:19:08 -04:00
Tom Alexander 80f7098f9b
Compare table formulas. 2023-09-08 23:05:04 -04:00
Tom Alexander 84d2babda9
Parse table formulas. 2023-09-08 22:47:07 -04:00
Tom Alexander cc56b79683
Add a test showing we're not handling table formulas. 2023-09-08 22:42:24 -04:00
Tom Alexander 0105b49d0d
Handle empty statistics cookies. 2023-09-08 22:21:49 -04:00
Tom Alexander 7545fb7e1a
Support keywords with colons in the key and without a space between the colon and value. 2023-09-08 22:17:10 -04:00
Tom Alexander 21c60d1036
Do not consume trailing whitespace on the footnote definition's final element. 2023-09-08 21:30:03 -04:00
Tom Alexander 6a1bdd5fee
Support blank lines before content in footnote definitions. 2023-09-08 21:11:47 -04:00
Tom Alexander a8fbf01124
Handle tabs for plain list descriptions.
This bug probably exists in hundreds of places across the code base. I am going to have to write a "fuzzer" that replaces random whitespace with tabs to find them all.
2023-09-08 20:02:49 -04:00
Tom Alexander ceb722e476
Check exit matcher after each space consumed for object trailing whitespace.
Since description list tags need to end with a space unconsumed for " ::", we need to check the exit matcher after each space consumed.
2023-09-08 19:38:49 -04:00
Tom Alexander 494fe5cceb
Handle contentless list items mid-document. 2023-09-08 19:01:46 -04:00
Tom Alexander 0d7a15bfeb
Handle spaces after statistics cookies. 2023-09-08 18:35:33 -04:00
Tom Alexander 669da4073e
Accept the end condition as a parameter to the plain text parser so it can adapt to the context. 2023-09-08 17:54:49 -04:00
Tom Alexander 8780976c15
Consume trailing whitespace after planning. 2023-09-08 16:30:40 -04:00