|
e538471611
|
Don't consume the end pattern multiple times in script pattern
|
2023-08-25 19:20:26 -04:00 |
|
|
9ce7ec2598
|
Ensure bare words don't start with " or {
|
2023-08-25 19:20:26 -04:00 |
|
|
b031381ff7
|
Factor out script/command/word/bare-word patterns to permit making bracket variations
|
2023-08-25 19:20:26 -04:00 |
|
|
6cce5bb6ed
|
Move Command/Script to broader-scope type
|
2023-08-25 19:20:22 -04:00 |
|
|
a4e65e567a
|
Reorganize tests
|
2023-08-25 11:13:00 -04:00 |
|
|
ab4cd761b8
|
Implement "quoted words"
|
2023-08-23 01:09:56 -04:00 |
|
|
8c3953cdf0
|
Implement \ suppression in {}
|
2023-08-21 23:57:27 -04:00 |
|
|
2261d18d56
|
Write brace tests
|
2023-08-10 21:51:23 -04:00 |
|
|
308f586dad
|
Add concept of "enchanted" word
An enchanted word has provenance of appearing directly in source code as-written, not the result of interpolations, quotes, or escapes.
|
2023-08-06 23:18:13 -04:00 |
|
|
37df46381b
|
Make the existing visual test a snapshot unit test.
|
2023-08-06 23:10:12 -04:00 |
|
|
f3eb9dee6d
|
Fix newline folding test, and newline folding replacement (not replaced yet but brace tests will cover it)
|
2023-08-06 20:18:38 -04:00 |
|
|
b8d48ef834
|
Expand test cases
|
2023-08-06 19:52:00 -04:00 |
|
|
36b6460357
|
noEmit tsc
|
2023-08-06 02:40:02 -04:00 |
|
|
e585f315bb
|
First jest test
|
2023-08-06 02:38:52 -04:00 |
|
|
ad2e7ad196
|
DOM-less escapeHTML implementation
|
2023-08-06 02:38:42 -04:00 |
|
|
62df86acb4
|
Init Jest
|
2023-08-06 02:38:22 -04:00 |
|
|
e9fbf137c7
|
Fixup types to make TS happy
|
2023-08-06 02:11:06 -04:00 |
|
|
8fc2892630
|
Port to TS
|
2023-08-05 01:09:33 -04:00 |
|
|
8b4584eb48
|
Reorganize files for TS conversion
|
2023-08-05 01:07:03 -04:00 |
|
|
56d7826aad
|
Add deps for esbuild + jest
|
2023-08-04 23:48:50 -04:00 |
|
|
57c65b10f2
|
Rereorganize grammar for better feedback
|
2023-08-04 23:29:53 -04:00 |
|
|
1c04d8dece
|
Attempt to merge applicable multiple expecteds at the same spot.
Avoid counting a successful capture as an error at the current locaiton.
|
2023-08-04 20:28:26 -04:00 |
|
|
0c90b45d3a
|
Remove Hint hack
|
2023-08-04 19:25:57 -04:00 |
|
|
797d3cc6b2
|
Try to improve error location identification
|
2023-08-04 19:25:47 -04:00 |
|
|
ef59915add
|
Refactor error reporting to allow ignored errors to be reported on a successful pattern match
|
2023-08-04 18:31:21 -04:00 |
|
|
4b982a64ef
|
Rearrange grammer
|
2023-08-04 17:43:51 -04:00 |
|
|
5eb7acd8b1
|
Better comment logic
|
2023-08-04 17:43:42 -04:00 |
|
|
b287b1d9b6
|
WIP hack combinator to try and improve error messages.
|
2023-08-04 17:43:11 -04:00 |
|
|
61d967b6f1
|
Fix handling text-after-closing-brace and trailing command whitespace
|
2023-08-04 15:52:50 -04:00 |
|
|
0d469abffc
|
Rearrange grammar to report text-after-closing-brace errors
|
2023-08-04 15:19:36 -04:00 |
|
|
ee618fa244
|
Add some expects() labels for clarity
|
2023-08-04 11:30:41 -04:00 |
|
|
8214f05fe3
|
Choose() returns the expected message from the alternative that made the furthest progress, if any did.
|
2023-08-04 02:18:07 -04:00 |
|
|
3bb125dd8c
|
Regex pattern returns custom expects() if set
|
2023-08-04 02:17:16 -04:00 |
|
|
5c5884a39b
|
Make End patterns instanced so expects() can be used on them
|
2023-08-04 01:33:40 -04:00 |
|
|
50df27c50e
|
Add more ability to communicate what was expected in the error
|
2023-08-04 01:24:02 -04:00 |
|
|
58cd1a56b2
|
Output fancier error message on parse error
|
2023-08-04 00:26:15 -04:00 |
|
|
7ad94d13a6
|
Report parse error position
|
2023-08-04 00:18:17 -04:00 |
|
|
0a7e051ab5
|
Match entire script from a top level grammar symbol
|
2023-08-03 23:15:14 -04:00 |
|
|
36f78982e6
|
Make pattern mapping chained
|
2023-07-29 16:26:41 -04:00 |
|
|
e61485012e
|
Make thunk used for recursive braces more understandable
|
2023-07-29 14:50:49 -04:00 |
|
|
9b87906c09
|
Break out Peg namespace to permit self-reference
|
2023-07-29 14:39:11 -04:00 |
|
|
97aca502a8
|
Use locals for readability
|
2023-07-29 13:50:13 -04:00 |
|
|
9333357e44
|
Start matching {braces} and nested braces
|
2023-07-29 13:41:47 -04:00 |
|
|
88497965b3
|
Parse Commands with Peg
|
2023-07-29 01:45:55 -04:00 |
|
|
a3cdc53330
|
Add End to Peg
|
2023-07-29 01:45:34 -04:00 |
|
|
347af33bf1
|
Use PEG to strip whitespace/comments before commands
|
2023-07-29 01:14:00 -04:00 |
|
|
4430580412
|
Add AtLeast to Peg helpers
|
2023-07-29 01:13:38 -04:00 |
|
|
64c2d1c35d
|
Namespace Notcl
|
2023-07-29 00:37:25 -04:00 |
|
|
71581253d5
|
factor out helpers for PEG parsing
|
2023-07-29 00:26:29 -04:00 |
|
|
7b42a496c2
|
Start a PEG-inspired approach to parsing
|
2023-07-29 00:11:54 -04:00 |
|