Tom Alexander
a7b298eeec
Fix lesser block exit priority.
...
The paragraph end was matching text inside lesser blocks.
2023-08-14 17:32:10 -04:00
Tom Alexander
1bbfbc3164
Add additional tracing to lesser block.
2023-08-14 17:32:09 -04:00
Tom Alexander
2bcc3f0599
Fix reporting of jaeger traces when diff does not match.
...
The early exit was causing some traces to not be reported.
2023-08-14 17:32:09 -04:00
Tom Alexander
b93a12c32c
Add support for escaped double quotes in sexp.
2023-08-14 16:55:04 -04:00
Tom Alexander
72b8fec1be
Add support for tracing in run_docker_compare.bash.
2023-08-14 16:12:31 -04:00
Tom Alexander
eb379af78d
Switch export snippet to use exit matchers.
2023-08-14 13:13:32 -04:00
Tom Alexander
cc83431d62
Consume trailing whitespace for property drawers.
...
rust-build Build rust-build has failed
rust-test Build rust-test has failed
This is a change between the org-mode in emacs 29.1 and the org-mode currently in main.
2023-08-14 11:57:12 -04:00
Tom Alexander
e33ec4a02c
Add support for reading begin/end bounds in the new standard-properties format.
2023-08-13 02:21:02 -04:00
Tom Alexander
f7afcec824
Add support for hash notation in the elisp parser.
2023-08-13 02:21:02 -04:00
Tom Alexander
cf0991fdff
Add support for parsing vectors in the elisp parser.
2023-08-13 02:21:02 -04:00
Tom Alexander
290a700a22
New, updated opentelemetry tracing exporter.
2023-08-10 23:27:15 -04:00
Tom Alexander
44ad6753ca
Fix feature gating the compare code.
2023-08-10 20:22:34 -04:00
Tom Alexander
cd1b4ba785
Make the tracing macros optional.
2023-08-10 20:22:34 -04:00
Tom Alexander
1f10d3d064
Disable all the old tracing stuff.
2023-08-10 20:22:34 -04:00
Tom Alexander
77de97703f
Remove all the old references to "toy language"
...
This is a relic from the early development days in this repo. When I first started this repo, it was a clean-slate playground to test ideas for solving the road blocks I hit with my previous attempt at an org-mode parser. To keep things simple, I originally only had a very basic set of syntax rules that only vaguely looked similar to org-mode. Once I had things figured out, I kept developing in this repo, morphing it into a full org-mode parser. A couple of references to those early days still remained, and this patch should get rid of the last of them.
2023-08-10 18:52:57 -04:00
Tom Alexander
66c71e7e40
Switch the compiled bin to running a diff just like the automated tests.
...
This is mostly so I can test a variety of org-mode documents without needing to integrate them into the org samples folder.
2023-08-10 18:46:19 -04:00
Tom Alexander
17e523b74c
Do not consume space in time rest when leading into a repeater or delay.
2023-07-27 20:39:13 -04:00
Tom Alexander
ece8fcd0c4
Implement parser for active/inactive timestamp time ranges.
2023-07-27 20:26:56 -04:00
Tom Alexander
1a5b7ca30c
Implement parser for active/inactive timestamp date ranges.
2023-07-27 19:59:36 -04:00
Tom Alexander
b5a029e2bf
Implement parser for inactive timestamps.
2023-07-27 19:54:33 -04:00
Tom Alexander
c5f81298ba
Switch to passing in the exit matcher from a higher context to reduce the permutations of functions.
2023-07-27 19:52:35 -04:00
Tom Alexander
529418a9d1
Implement parser for active timestamps.
2023-07-27 19:45:57 -04:00
Tom Alexander
d4a3628481
Implement parser for date.
2023-07-27 19:20:28 -04:00
Tom Alexander
70f2747291
Implement parser for diary timestamps.
2023-07-27 18:59:32 -04:00
Tom Alexander
49d5a4e4b5
Call out to the parsers for the various timestamp types.
...
The parsers for those types remain unimplemented.
2023-07-24 17:54:49 -04:00
Tom Alexander
fa5fc41121
Create structure for timestamps.
2023-07-24 17:34:07 -04:00
fluxcdbot
efa56a6bef
CI: autofix rust code.
semver Build semver has succeeded
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
2023-07-24 16:57:08 -04:00
Tom Alexander
23d587c699
Implement parser for subscript/superscript with braces.
2023-07-24 16:29:31 -04:00
Tom Alexander
f717d5e7df
Implement parser for braceless subscript/superscript.
2023-07-24 15:41:14 -04:00
Tom Alexander
993c73dc9f
Create structure for subscript and superscript.
2023-07-24 14:23:36 -04:00
Tom Alexander
b8b2e33137
Implement the statistics cookie parser.
2023-07-22 02:12:21 -04:00
Tom Alexander
c73e26e2d6
Create structure for statistics cookies.
2023-07-22 02:12:20 -04:00
fluxcdbot
abb0aeacaf
CI: autofix rust code.
semver Build semver has succeeded
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
2023-07-22 05:43:17 +00:00
Tom Alexander
caa6c41798
Add a test case.
2023-07-22 01:40:27 -04:00
Tom Alexander
e54218c0d7
Implement the target parser.
2023-07-22 01:36:00 -04:00
Tom Alexander
d60cad07e0
Create structure for targets.
2023-07-22 01:15:04 -04:00
Tom Alexander
5c1d913c99
Check that the preceding line for a line break is non-empty.
2023-07-22 00:43:02 -04:00
Tom Alexander
a1f3e9ea47
Implement line break parser.
2023-07-22 00:03:21 -04:00
Tom Alexander
4d114206ef
Create structure for line breaks.
2023-07-21 23:48:37 -04:00
Tom Alexander
80039aa605
Fix bracket counting in inline babel calls.
2023-07-21 23:20:10 -04:00
Tom Alexander
0b41e12424
Fix counting brackets in inline source block.
2023-07-21 23:14:52 -04:00
Tom Alexander
e8979513aa
Implement parser for inline source blocks.
2023-07-21 22:51:19 -04:00
Tom Alexander
e0d2bb8213
Create structure for inline source blocks.
2023-07-21 22:29:04 -04:00
Tom Alexander
45b01012b3
Implement the parser for inline babel calls.
2023-07-21 21:39:53 -04:00
Tom Alexander
eef2944307
Create structure for inline babel calls.
2023-07-21 19:53:02 -04:00
Tom Alexander
7ce9dafd96
Fix parsing citations inside paragraphs.
2023-07-21 18:52:02 -04:00
Tom Alexander
d678391789
Fix parsing semicolons.
2023-07-21 18:42:22 -04:00
Tom Alexander
1a8bf01fba
Fix simple citations by making prefixes and suffixes optional.
2023-07-21 18:19:39 -04:00
Tom Alexander
4ad297f58a
Add a test for a simple citation.
2023-07-21 18:00:19 -04:00
Tom Alexander
6b47a6c6c3
Initial implementation for citations.
...
This implementation definitely has bugs and is completely untested at this point. I'm just committing the initial "assume everything works" version before I did into debugging and fixing.
2023-07-21 17:52:18 -04:00
Tom Alexander
e24b413cd0
Finish first implementation of citation reference.
2023-07-21 16:38:49 -04:00
Tom Alexander
339ff5cd26
Implement key parser and begin key_suffix parser.
2023-07-20 01:13:49 -04:00
Tom Alexander
d5c611674e
Create structure for citations.
2023-07-20 00:38:16 -04:00
Tom Alexander
7611deb1ff
Forgot to add the exit matcher nodes to the context and match the trailing ']'.
2023-07-19 23:40:26 -04:00
Tom Alexander
b850f59640
Implement parser for inline footnotes.
2023-07-19 23:20:17 -04:00
Tom Alexander
a36a820e84
Implement parser for the simplest form of footnote reference.
2023-07-19 21:32:08 -04:00
Tom Alexander
6822069c2f
Implement the parser for anonymous footnotes.
2023-07-19 21:14:09 -04:00
Tom Alexander
5fb66a586d
Implement a function to detect the end of a footnote reference definition with balanced brackets.
2023-07-19 20:52:09 -04:00
Tom Alexander
9c2eb3b122
Create structure for footnote references.
2023-07-19 18:56:46 -04:00
Tom Alexander
95e033a99b
Implement the export snippet parser.
2023-07-19 00:38:19 -04:00
Tom Alexander
1fb8ce9af6
Create structure for export snippets.
2023-07-19 00:09:16 -04:00
Tom Alexander
5e73ca74d5
Fix embedding text that coincidentally matches org-mode object syntax inside a LaTeX environment.
...
I was using the plain_text matcher before which adds its own exit condition that does not apply to LaTeX environments.
2023-07-18 23:27:48 -04:00
Tom Alexander
0d6f6288c9
Support escaping backslash in sexp.
2023-07-18 23:08:58 -04:00
Tom Alexander
a817eefce7
Add form 6 of LaTeX fragment.
2023-07-18 22:39:05 -04:00
Tom Alexander
4f5c40cd4b
Add forms 4 and 5 of LaTeX fragment.
2023-07-18 22:21:52 -04:00
Tom Alexander
faf81d0143
Add forms 2 and 3 of LaTeX fragment.
2023-07-18 22:02:38 -04:00
Tom Alexander
c79b8c7833
Implement the first form of LaTeX fragment.
2023-07-18 21:50:29 -04:00
Tom Alexander
5ad8fdf4b2
Add test cases.
2023-07-18 21:14:49 -04:00
Tom Alexander
3ab0dd4531
Create structure for LaTeX fragments.
2023-07-18 21:14:49 -04:00
Tom Alexander
754e9ff7d7
Implement entity parser.
2023-07-18 20:35:55 -04:00
Tom Alexander
21f46d09e6
Create structure for entities.
2023-07-18 20:05:39 -04:00
fluxcdbot
bab9232ebc
CI: autofix rust code.
semver Build semver has succeeded
rust-test Build rust-test has succeeded
rustfmt Build rustfmt has succeeded
2023-07-18 17:51:28 +00:00
fluxcdbot
0cd398c30c
CI: autofix rust code.
rustfmt Build rustfmt has failed
rust-test Build rust-test has succeeded
semver Build semver has succeeded
2023-07-18 17:48:21 +00:00
Tom Alexander
167ffa650c
Enable another test.
2023-07-14 20:58:11 -04:00
Tom Alexander
27d863b875
Fix the simple test by allowing bold to start/end with <> and by capturing trailing whitespace from radio links.
2023-07-14 20:55:16 -04:00
Tom Alexander
e608b73d1a
Implement all-token iteration.
...
rust-test Build rust-test has failed
Radio targets are now being properly detected and they trigger re-parses but the tests do not yet pass.
2023-07-14 20:45:31 -04:00
Tom Alexander
b27f911ff3
Finish implementing token iteration.
2023-07-14 20:24:06 -04:00
Tom Alexander
08e6efe5f5
Filling in more of the iter_tokens tree.
2023-07-14 20:18:30 -04:00
Tom Alexander
0e73b83bf3
Filling in more of the iter_tokens tree.
2023-07-14 20:09:24 -04:00
Tom Alexander
793e560bd5
Boxing made it work.
2023-07-14 19:57:27 -04:00
Tom Alexander
0073af19e2
Running into an issue returning different iterators from the same function.
2023-07-14 19:54:41 -04:00
Tom Alexander
688779ba40
Fix tests.
2023-07-14 19:09:54 -04:00
Tom Alexander
bd04451d58
Implement the second parsing pass.
2023-07-14 19:06:58 -04:00
Tom Alexander
cdd3517655
Include the trailing space for the bolds.
2023-07-14 18:32:16 -04:00
Tom Alexander
7ca8beac5a
Allow matching bolds in radio link targets.
2023-07-14 18:27:09 -04:00
Tom Alexander
4ba1e63dde
Add a test for bold inside a radio target.
2023-07-14 18:12:04 -04:00
Tom Alexander
e4c6ca2880
Add tracing.
rust-test Build rust-test has failed
2023-07-14 18:05:31 -04:00
Tom Alexander
b9a7c3f7f3
Fix lifetime issue.
2023-07-14 18:04:01 -04:00
Tom Alexander
4966b02b79
Expanded rematch_target to 3 lifetimes, no fix.
2023-07-14 17:45:20 -04:00
Tom Alexander
ddaefdbf78
Nearly done implementing re-matching of bold, but running into a lifetime issue.
2023-07-14 17:37:46 -04:00
Tom Alexander
e5c1b68b0e
Add a basic test showing the radio link rematching working on plain text.
rust-test Build rust-test has failed
2023-07-14 16:51:23 -04:00
Tom Alexander
66ae70e790
Implement the rematch target parser.
2023-07-14 16:32:52 -04:00
Tom Alexander
0014dfc21f
Implement the radio link parser.
...
The parser depends on the rematch_target parser which is not yet implemented.
2023-07-14 16:18:04 -04:00
Tom Alexander
c44e7d642f
Starting code for iterating over the parsed ast.
2023-07-14 12:28:52 -04:00
Tom Alexander
3fc3ba58aa
Defining the RadioTarget context element.
2023-07-14 12:28:52 -04:00
Tom Alexander
22bb42882b
Implement rematch for plain text.
2023-07-14 12:28:51 -04:00
Tom Alexander
397083c658
Define a RematchObject trait for matching radio links based on radio targets.
2023-07-14 12:28:51 -04:00
fluxcdbot
57ac625350
CI: format rust code.
semver Build semver has succeeded
rustfmt Build rustfmt has succeeded
rust-test Build rust-test has succeeded
2023-07-14 04:28:56 +00:00
Tom Alexander
cdd813fbe6
First implementation of macro.
2023-07-14 00:20:32 -04:00
Tom Alexander
d24c26de7b
Create structure for org macros.
2023-07-13 23:30:06 -04:00
Tom Alexander
d353c1623a
Implement the angle link parser.
2023-07-13 23:02:12 -04:00
Tom Alexander
178221a0a2
Update plain link to allow for exit matchers to trigger during matching.
2023-07-13 22:54:59 -04:00
Tom Alexander
ed8b1405db
Create structure for angle links.
2023-07-13 22:42:42 -04:00
Tom Alexander
475e25ba8e
Add a TODO.
semver Build semver has succeeded
cargo-fmt Build cargo-fmt has succeeded
build-organic-test Build build-organic-test has succeeded
build-cargo-fmt Build build-cargo-fmt has succeeded
organic-test Build organic-test has failed
2023-07-13 19:33:38 -04:00
fluxcdbot
999c992bdf
CI: format rust code.
semver Build semver has succeeded
cargo-fmt Build cargo-fmt has succeeded
build-organic-test Build build-organic-test has failed
organic-test Build organic-test has failed
build-cargo-fmt Build build-cargo-fmt has succeeded
2023-07-13 23:22:10 +00:00
Tom Alexander
5f4e240af0
Add an initial implementation of PlainLink.
2023-07-13 19:20:17 -04:00
Tom Alexander
59f061ecca
Define pre and post matchers for plain link.
organic-test Build organic-test has succeeded
2023-07-13 18:30:18 -04:00
Tom Alexander
dcec5c490a
Create structure for plain links.
organic-test Build organic-test has succeeded
2023-07-13 18:18:07 -04:00
Tom Alexander
ec889bc868
Clean up old unused code.
2023-04-24 20:25:49 -04:00
Tom Alexander
a5585eb01f
Add a not yet implemented function.
...
This helps when creating new parsers since todo!()s will panic the whole parser.
2023-04-24 20:11:13 -04:00
Tom Alexander
6ed33d3522
Derive partial eq for all objects so we can match radio links.
2023-04-24 19:25:22 -04:00
Tom Alexander
fec7d51f75
Implement radio targets.
2023-04-24 19:18:38 -04:00
Tom Alexander
64c17e654a
Code structure for radio links and radio targets.
2023-04-24 19:06:45 -04:00
Tom Alexander
0fc3bb0245
Compare text length for plain text in the diffing.
2023-04-24 18:21:38 -04:00
Tom Alexander
bc8e640574
Make plain text exit condition not an exit matcher.
...
I think this condition needs to not exist deeper down the tree.
2023-04-24 18:08:28 -04:00
Tom Alexander
b2ee44ec09
Simplify the implementation of plain text.
2023-04-24 17:58:10 -04:00
Tom Alexander
90a47b7b49
Exit text markup if the parent exit matcher is triggering.
2023-04-24 17:16:07 -04:00
Tom Alexander
ed174c1c41
Fix nested bolds child eating the parent exit.
2023-04-24 16:48:33 -04:00
Tom Alexander
f9d83ee09d
Consume trailing whitespace for links.
2023-04-24 16:29:19 -04:00
Tom Alexander
b2b1e9272c
Format.
2023-04-24 16:19:48 -04:00
Tom Alexander
28759edb3b
Remove unused imports.
2023-04-24 16:19:29 -04:00
Tom Alexander
87be28ed15
Fix matching of description in links.
2023-04-24 16:05:46 -04:00
Tom Alexander
b4d4453186
Just doing a simple match everything for path reg.
2023-04-23 17:37:35 -04:00
Tom Alexander
8a828195bd
Implement all of regular link except for pathreg.
2023-04-23 16:53:02 -04:00
Tom Alexander
3600f46e3b
Initial code structure for regular links.
2023-04-23 16:17:52 -04:00
Tom Alexander
f1bd7f2d1b
Add support for rust-coreutils in integration test script.
2023-04-23 16:12:34 -04:00
Tom Alexander
1044625acb
Clean up import.
2023-04-22 22:58:10 -04:00
Tom Alexander
37b91d171d
Compare the objects in heading titles when diffing the asts.
2023-04-22 22:56:36 -04:00
Tom Alexander
9968aedd74
Make sure text markup doesn't have interior spaces.
2023-04-22 22:34:37 -04:00
Tom Alexander
f964481544
Switch to using plain text with no additional exit matcher added.
2023-04-22 22:06:34 -04:00
Tom Alexander
208e2cfe87
Clean up imports.
2023-04-22 21:51:53 -04:00
Tom Alexander
0ca6ce504f
Simulate trailing whitespace in empty greater blocks just like drawers.
2023-04-22 21:45:18 -04:00
Tom Alexander
4d4d30c597
Simulate trailing whitespace in empty dynamic blocks just like drawers.
2023-04-22 21:43:11 -04:00
Tom Alexander
cade02eb72
Make the empty drawer honor an immediate exit condition.
2023-04-22 21:39:46 -04:00
Tom Alexander
189edaa24a
Simulate the trailing whitespace capture for empty drawer.
2023-04-22 21:25:46 -04:00
Tom Alexander
62c226fb47
Fix matching only the specific markup.
2023-04-22 21:01:29 -04:00
Tom Alexander
e6c5670a85
Support string-based text markup (code and verbatim).
2023-04-22 20:57:30 -04:00
Tom Alexander
036f4add4a
The object parsers separated out.
2023-04-22 20:48:01 -04:00
Tom Alexander
d2fc8a513f
Separate out the text markup types into their own types.
2023-04-22 20:22:07 -04:00
Tom Alexander
fab4ce0544
Fix a warning.
2023-04-22 20:04:35 -04:00
Tom Alexander
b6233811c3
Fix the implementation of post.
2023-04-22 20:02:51 -04:00
Tom Alexander
a4cce121c0
Add an exit matcher to plain text.
2023-04-22 19:46:27 -04:00
Tom Alexander
9a3bde0d80
First attempt at text markup.
2023-04-22 19:34:13 -04:00
Tom Alexander
0b3f414ecf
Get tracing back into the element parser.
2023-04-22 19:15:29 -04:00
Tom Alexander
f70babdcf4
Get tracing back into the latex environemtn end parser.
2023-04-22 19:12:48 -04:00
Tom Alexander
c0809cce10
Starting to parse text markup.
2023-04-22 19:06:48 -04:00
Tom Alexander
538031c688
Call the text markup parser.
2023-04-22 18:54:19 -04:00
Tom Alexander
2ac0449630
Unquote the text.
2023-04-22 18:18:13 -04:00
Tom Alexander
b3e182d7fe
Plain text compare not yet working because the text is quoted from the sexp.
2023-04-22 17:58:16 -04:00
Tom Alexander
e7a08775eb
First stab at latex environment parser.
2023-04-22 17:12:49 -04:00
Tom Alexander
4816a5dfc4
Code structure for latex environment.
2023-04-22 16:56:36 -04:00
Tom Alexander
fee9166741
Remove a TODO.
2023-04-22 01:45:54 -04:00
Tom Alexander
9861084afe
Cleanup.
2023-04-22 01:45:38 -04:00
Tom Alexander
92ee59558b
Remove unused import.
2023-04-22 01:36:43 -04:00
Tom Alexander
af90ea6dfd
Fix infinite loop by only checking paragraph matcher when boolean is true.
...
Before I was checking afterwards with a verify, which was causing an infinite loop.
2023-04-22 01:34:34 -04:00
Tom Alexander
7855020927
Fix some errors.
2023-04-22 01:13:05 -04:00
Tom Alexander
ba74bb58bb
Separate out calls to build element parser.
2023-04-22 01:08:45 -04:00
Tom Alexander
4ac6d89311
Moving towards unifying into a single parameterized element matcher.
...
This is to give paragraph priority over keyword in parsing so that affiliated keywords for paragraphs will be parsed as such.
2023-04-22 00:55:31 -04:00
Tom Alexander
fef5841713
Identify a problem.
2023-04-22 00:23:16 -04:00
Tom Alexander
fbdf40fed0
Fix failing tests that were relying on the captured trailing whitespace.
2023-04-22 00:19:01 -04:00
Tom Alexander
9b66929c14
Update test to use elements to capture the trailing whitespace.
2023-04-22 00:14:41 -04:00
Tom Alexander
7b7779ee7e
Set the source using the full range of affiliated keywords to trailing whitespace.
2023-04-22 00:09:14 -04:00
Tom Alexander
0b989b53a6
Fix warnings.
2023-04-21 23:55:18 -04:00
Tom Alexander
e97cf6630f
Move consuming the trailing whitespace up to the element matchers.
2023-04-21 23:54:54 -04:00
Tom Alexander
7df899e3a7
Read affiliated keywords.
2023-04-21 23:36:38 -04:00
Tom Alexander
29c03c6655
Disallowing begin blocks for keywords makes some of the tests pass.
2023-04-21 22:49:00 -04:00
Tom Alexander
ee126d2673
Allow empty keywords.
2023-04-21 22:44:13 -04:00
Tom Alexander
7139fce48d
Implement the keyword parser.
2023-04-21 22:36:21 -04:00
Tom Alexander
f0bab39778
Code structure for keyword.
2023-04-21 22:33:10 -04:00
Tom Alexander
bfffde3fdb
Implement the horizontal rule parser.
2023-04-21 22:23:59 -04:00
Tom Alexander
8294832717
Implement fixed width area.
2023-04-21 22:11:06 -04:00
Tom Alexander
5ae8ac61e5
Code structure for fixed width area.
2023-04-21 22:04:22 -04:00
Tom Alexander
db948d6286
Implement a planning parser.
2023-04-21 21:54:08 -04:00
Tom Alexander
f5099356a1
Add support for parsing the planning element in sections.
2023-04-21 21:39:26 -04:00
Tom Alexander
2ec1d4f855
Add the code structure for planning.
2023-04-21 21:33:23 -04:00
Tom Alexander
77f2d23036
Switch back to org-mode for the parsing binary.
2023-04-21 21:18:30 -04:00
Tom Alexander
798eeee488
Add a test for sexp with quoted atom containing parenthesis.
2023-04-21 21:15:18 -04:00
Tom Alexander
517e826f4e
Demonstrating the problem.
2023-04-21 21:01:26 -04:00
Tom Alexander
38cd62af33
Add in better error reporting.
2023-04-21 20:59:16 -04:00
Tom Alexander
6e406d71b6
Introduce a sexp_with_padding parser.
2023-04-21 20:53:55 -04:00
Tom Alexander
7de72cab23
Move the sexp parser into the parser crate.
...
We need to parse sexp for diary sexp.
2023-04-21 20:32:51 -04:00
Tom Alexander
9d5b078c64
Opening of diary sexp.
2023-04-21 20:26:49 -04:00
Tom Alexander
db78faa36f
Add the code structure for diary sexp.
2023-04-21 20:22:31 -04:00
Tom Alexander
ad27f34620
Add parsers for inactive timestamp range duration and inactive timestamp.
2023-04-21 19:21:42 -04:00
Tom Alexander
a947ab0955
First stab at clock parser.
2023-04-21 19:14:41 -04:00
Tom Alexander
c2ccf4da37
Set up the initial code structure for the clock.
2023-04-21 19:05:30 -04:00
Tom Alexander
2d4a592846
Expose the parser module instead of re-exporting all of its contents.
2023-04-21 19:05:30 -04:00
Tom Alexander
8420af7f1d
Put compare modules behind feature flag in library.
2023-04-21 18:50:52 -04:00
Tom Alexander
18323a2b43
Solve the rest of the compiler warnings.
2023-04-21 18:42:31 -04:00
Tom Alexander
a1724dae52
Combine the error types.
2023-04-21 18:36:01 -04:00
Tom Alexander
04dfffc000
Cleaning up compiler warnings.
2023-04-21 18:22:17 -04:00
Tom Alexander
6fce666983
Add test case for invalid src block.
2023-04-21 18:13:23 -04:00
Tom Alexander
cdcaae11c4
Add tests for broken export blocks.
2023-04-21 18:11:26 -04:00
Tom Alexander
fa4766b64e
Add comments about data parameter in lesser blocks.
2023-04-21 18:08:10 -04:00
Tom Alexander
f5218a6c31
Implement comparing the lesser blocks.
2023-04-21 18:05:40 -04:00
Tom Alexander
1006576a69
Modernize the verse block parser.
2023-04-21 18:01:06 -04:00
Tom Alexander
dbb04dcba6
Defining new structs for each type of lesser block.
2023-04-21 17:55:10 -04:00
Tom Alexander
cf6c4bc122
Write a parser specifically for comment lesser blocks.
2023-04-21 17:32:53 -04:00
Tom Alexander
86e0833033
Make the end check work with multiple block names using allocation.
2023-04-21 17:16:57 -04:00
Tom Alexander
f3393417bb
Parameterize lesser_block_end.
...
Only works with static strings right now.
2023-04-21 17:11:27 -04:00
Tom Alexander
47844caa5c
A first stab at lesser blocks.
2023-04-21 16:58:38 -04:00
Tom Alexander
0293ca6b12
Set up code structure for lesser blocks.
2023-04-21 16:31:25 -04:00
Tom Alexander
142bb09879
Move the impl of Source to the same file as the definition of the struct.
2023-04-21 16:16:14 -04:00
Tom Alexander
d780981baf
Separate out the element parsers.
2023-04-21 16:10:56 -04:00
Tom Alexander
54b02f4e74
Give object structs their own file separate from the parsers.
2023-04-21 16:07:38 -04:00
Tom Alexander
c2b6b5103a
Add comments about the sets of objects that can exist.
2023-04-21 15:57:45 -04:00
Tom Alexander
0fcfdd5ff2
Compare table row and table cell bounds.
2023-04-21 15:45:35 -04:00
Tom Alexander
a63d38e0ce
Consume line endings at the end of table rows.
2023-04-21 15:38:42 -04:00
Tom Alexander
f0d2754955
Consume the end of the cell.
2023-04-21 15:36:45 -04:00
Tom Alexander
d2fe100435
Change the binary to use the library.
...
Mostly just hoping this make rust-analyzer happier.
2023-04-21 15:28:46 -04:00
Tom Alexander
5225290156
Disable the env filter because I am running into errors.
2023-04-21 15:25:19 -04:00
Tom Alexander
c971148871
Running into an error running the tracer.
2023-04-21 14:54:29 -04:00
Tom Alexander
c75f4ebcff
Format the code.
2023-04-21 14:35:34 -04:00
Tom Alexander
633d6e421f
Allow empty cells if not last of line.
2023-04-20 00:15:40 -04:00
Tom Alexander
49f5b65acf
Match objects in cells.
2023-04-19 22:09:53 -04:00
Tom Alexander
55201e905a
Starting to implement table cell.
2023-04-19 21:57:08 -04:00
Tom Alexander
9747e0ba11
Implement table row rule.
2023-04-19 21:28:35 -04:00
Tom Alexander
093edf5c6e
Add TODO.
2023-04-19 21:21:33 -04:00
Tom Alexander
f3c1b47a8a
First attempt at table parser. Table row not yet implemented.
2023-04-19 21:19:49 -04:00
Tom Alexander
17ab8727d1
Initial structure for tables.
2023-04-19 20:59:58 -04:00
Tom Alexander
1badd3b0fc
Add TODO about a bug.
2023-04-19 19:56:21 -04:00
Tom Alexander
7728f3b71e
Fix property drawers beneath headlines.
2023-04-19 19:53:37 -04:00
Tom Alexander
87bdedf2e6
Only drop trailing whitespace when there isn't a property drawer.
2023-04-19 19:39:56 -04:00
Tom Alexander
d0410391cc
Drop blank lines after property drawer instead of owning them.
2023-04-19 19:28:21 -04:00
Tom Alexander
4e65d2cda9
Fix requiring no space between comment and property drawer for zeroth section.
2023-04-19 19:22:23 -04:00
Tom Alexander
603cc131a0
Numerous fixes to property drawers.
2023-04-19 19:03:51 -04:00
Tom Alexander
b557b9ca5d
Accounting for the blank lines at the head of documents and comments plus property drawer at the head of the zeroth section.
2023-04-19 18:37:39 -04:00
Tom Alexander
1deb53f1a3
Add the binary back in because we need it for generating jaeger traces.
2023-04-19 18:12:53 -04:00
Tom Alexander
99677ee98e
fixup
2023-04-19 18:10:55 -04:00
Tom Alexander
8de6f1a817
Implement node property.
2023-04-19 18:10:29 -04:00
Tom Alexander
f7f29e7a56
Finish property drawer parser but node property is unstarted.
2023-04-19 17:15:00 -04:00
Tom Alexander
2137b08e42
Detect the opening and build the context.
2023-04-19 17:03:46 -04:00
Tom Alexander
18f8e2562e
Remove the old toy language binary.
...
Using the org_mode_samples integration tests through the rust test framework has removed the need for the toy language binary and I think removing it will make rust-analyzer less confused about imports. This repository is now solely a library repository.
2023-04-19 16:54:17 -04:00
Tom Alexander
a267f23e0f
Initial code structure for property drawers.
2023-04-19 16:51:00 -04:00
Tom Alexander
d3bb642a10
Unify status name handling on the emacs name.
2023-04-19 16:04:30 -04:00
Tom Alexander
94193d4fa5
Make name mismatch report an error rather than abort everything.
2023-04-19 15:38:36 -04:00
Tom Alexander
a6d8c873d4
Add an assert_bounds utility function.
2023-04-19 15:29:46 -04:00
Tom Alexander
a4c6e899ac
Add a utility function to check the first element in an sexp.
2023-04-19 15:19:21 -04:00
Tom Alexander
7ac0cee223
Support nesting greater blocks of different names.
2023-04-19 15:00:02 -04:00
Tom Alexander
2b08b52c16
Support drawers with only whitespace.
2023-04-19 14:52:31 -04:00
Tom Alexander
c6fd04e9ce
Fix footnote definition end matcher detecting the next footnote definition.
2023-04-19 14:30:02 -04:00
Tom Alexander
ed8cdae1cd
Add diff code for dynamic blocks.
2023-04-19 13:59:17 -04:00
Tom Alexander
cab5ba70e5
Parser for dynamic blocks.
2023-04-19 13:51:18 -04:00
Tom Alexander
0d07a6aad3
Initial structure for dynamic blocks.
2023-04-19 13:30:15 -04:00
Tom Alexander
d69522c7dc
Remove the compare binary since this is now integrated with the tests.
2023-04-19 00:12:14 -04:00
Tom Alexander
72c8da94a3
Hook the integration tests into rust's test framework.
...
Instead of using a hacked-together shell script, use rust's test framework to do the comparison.
2023-04-18 23:50:58 -04:00
Tom Alexander
400e253cf1
Don't give paragraph a context since it just contains objects.
2023-04-18 22:18:21 -04:00
Tom Alexander
45d0ce17c3
Do not allow elements to immediately nest inside themselves.
...
Plain list is omitted because they can nest.
2023-04-18 22:10:44 -04:00
Tom Alexander
13a2ba1dc5
Handle greater blocks with only blank space inside them.
2023-04-18 21:28:22 -04:00
Tom Alexander
a2051aca4f
Remove ChainBehavior.
2023-04-18 20:44:58 -04:00