Commit graph

97 commits

Author SHA1 Message Date
119933b9b6 Disallow ] in toplevel bare words, not just in command substitutions
Rationale: This differs from Tcl syntax, but means it's possible to recover a word knowing just its location in the source, without needing the surrounding context.
2023-11-20 16:45:13 -05:00
ec763f1029 POC debug aid to target words in the source code 2023-11-20 16:35:07 -05:00
bc4a3d7eb7 Syntax change: remove line-folding pass, but accept \ + newline as word separator within command 2023-11-20 15:22:07 -05:00
f5b79af2be Capture position information for bare & quoted words that don't contain dynamic interpolations 2023-11-18 20:48:57 -05:00
da8429f6df Capture position information for brace-quoted words 2023-11-18 18:55:18 -05:00
d57f409a13 Add source-position information to bare words 2023-11-18 18:37:58 -05:00
6ca93d6615 Allow words to carry source position information, stripped on manipulation 2023-11-18 16:59:26 -05:00
f3be6b40f9 Update plan 2023-11-18 13:40:22 -05:00
ef16fefe48 Stub out expression handling 2023-10-20 21:02:27 -04:00
85b17d6d16 update TODO 2023-10-20 20:38:00 -04:00
54c9b31cfa More HTML handlers 2023-10-20 20:36:54 -04:00
06633d9acd Provide helper for automatic getOpt error handling 2023-10-20 20:36:42 -04:00
3d5f1f70ff Propagate errors up to root of script evaluation 2023-10-20 19:06:01 -04:00
6196f6c4aa expose getOpt error handling to frontend 2023-10-20 18:22:08 -04:00
594d81b745 Start getOpt tests, impl min/max args 2023-10-20 17:48:27 -04:00
e2f00d3e5b Simplify evaluateWord type 2023-10-20 17:47:51 -04:00
de4495a997 Add "get card field" command 2023-10-18 22:55:34 -04:00
68213df945 Create option-parsing helper stub 2023-10-18 22:55:21 -04:00
fe5f88c95e Make Vm generic over augmented information 2023-10-18 22:54:38 -04:00
981ddd7a6d Rename enchanted words to bare words 2023-10-18 20:09:07 -04:00
8863290725 Add some more IDE automation 2023-10-18 19:56:51 -04:00
517c261d4c update roadmap 2023-10-16 00:14:11 -04:00
b357d13e2c Set the card's fields from a textarea 2023-10-15 23:59:04 -04:00
e98e9e1de7 Allow editing card text (temporary) 2023-10-15 23:25:13 -04:00
050c0568a8 tweak error messages a little 2023-09-08 14:47:24 -04:00
d6eacc886b Simplify parser patterns 2023-09-08 00:47:47 -04:00
08b4f7fcea delete unneeded TODO notes 2023-09-08 00:06:28 -04:00
827dc0188f check in TODO 2023-09-08 00:05:14 -04:00
a6c5f3e431 Stub out HTML generation 2023-09-08 00:04:00 -04:00
ba3a3b5a26 Implement basic script evaluation 2023-09-08 00:03:48 -04:00
1b8929657a Simplify parsing of enchanted words- special case grammar not needed 2023-08-31 22:58:44 -04:00
53bca8f878 Remove one warning from tests 2023-08-26 01:16:43 -04:00
a55aca3d00 fixup parser rename 2023-08-26 01:16:31 -04:00
1eb6d179be Add helpers for working with words 2023-08-26 01:16:22 -04:00
c39b4a4931 Rename parser module 2023-08-25 20:38:52 -04:00
a97f38a7b9 Parse command substitutions 2023-08-25 19:21:00 -04:00
ca5d64eca7 Configure automatic import sorting 2023-08-25 19:20:57 -04:00
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