Commit graph

99 commits

Author SHA1 Message Date
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
371ca2b512 Don't throw away vm in render 2023-07-28 18:49:43 -04:00
2f475d711f Fix sample 2023-07-28 18:48:09 -04:00
ac8479bf61 Fix logic around newline folding/escaping, since test data was being escaped more than expected. 2023-07-27 21:08:34 -04:00
1ee71e4ab8 Initial HTML escape plan is a bust, for the excellent reason that & contains a semicolon
which is meaningful TCL-ish syntax.
2023-07-27 02:00:23 -04:00
eca8c6218f Stub parser for code 2023-07-27 01:54:06 -04:00
4eec6f8a2d First step to rendering script: preprocess global escapes 2023-07-26 22:14:16 -04:00
675513cebf Update POC code/text 2023-07-26 20:06:21 -04:00
59b17d67c9 Setup scratch structure to host 3x5 prototype
Start mocking script / asking questions
2023-07-22 00:19:16 -04:00
e0d5c736b3 Tweak project strategy 2023-07-22 00:18:20 -04:00
d4fb577eba Stub project 2023-07-21 22:19:10 -04:00