Commit graph

78 commits

Author SHA1 Message Date
c1ce90fd63 WIP brace parsing for WIP parser 2024-06-05 20:26:09 -04:00
ab91d71170 Support [] interpolation in new parser 2024-06-05 20:02:47 -04:00
63d6fa836a Add expect() & startOfWord() helpers to new parser 2024-06-05 20:02:31 -04:00
9b81056d1d Add more recognized tokens 2024-06-05 19:59:41 -04:00
618de2ac99 Add source position to words in new parser 2024-06-05 19:32:58 -04:00
2c55e38822 WIP replacement Notcl parser 2024-06-05 19:16:56 -04:00
7c74c9e34f Add optional (and unused) offset parameter to parse() signature 2024-06-05 00:32:04 -04:00
9acba7431f More expr test cases 2024-05-20 20:53:39 -04:00
7e21e71a07 Clarify division behavior in tests 2024-05-20 20:39:12 -04:00
ce991fd12a impl modulo (handle negative divisors how people expect) 2024-05-18 23:22:50 -04:00
2b6aff0dab Fix some binding powers 2024-05-18 23:15:46 -04:00
2770a2de3b impl unary minus 2024-05-18 21:53:30 -04:00
5a34b0f6f7 Factor out common infix op logic 2024-05-18 21:33:17 -04:00
1078dc3653 Fix binding power of * // / 2024-05-18 21:24:43 -04:00
21e8d95f98 Fix expression parser to require parsing full string 2024-05-18 21:24:19 -04:00
1a46130b1d impl - * // / 2024-05-17 20:52:33 -04:00
bf44d84e17 impl + 2024-05-17 20:50:54 -04:00
62593b0ab8 Start stubbing out Pratt parser - parse integers 2024-05-17 20:26:54 -04:00
20b6624ed7 Also rerender on field editor change 2023-11-20 23:05:27 -05:00
33f07feb3d Update demo 2023-11-20 23:00:19 -05:00
68fd85507d Fold line breaks in HTML template blocks 2023-11-20 23:00:10 -05:00
fa11099850 Interpolate text blocks in html helpers 2023-11-20 22:54:56 -05:00
44fe2165d2 const types in getOpt 2023-11-20 22:31:28 -05:00
63f40309c7 Live-update preview on type 2023-11-20 22:09:02 -05:00
710106af8b Fix bug where positional arguments after switch arguments were skipped 2023-11-20 21:34:37 -05:00
32c17c40f6 Trigger actions from button event handlers 2023-11-20 21:27:51 -05:00
d5a7033adc Stub out reacting to a button click 2023-11-20 21:13:56 -05:00
48c07e792d Render buttons with the data needed to locate click handlers 2023-11-20 20:39:02 -05:00
8cba197ffd have getOptsRaw preserve TextPieces instead of folding into raw strings 2023-11-20 20:15:56 -05:00
c8fc4678fc Teach options parser about switches 2023-11-20 19:51:38 -05:00
0114209320 Render button 2023-11-20 18:55:46 -05:00
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
ef16fefe48 Stub out expression handling 2023-10-20 21:02:27 -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
b357d13e2c Set the card's fields from a textarea 2023-10-15 23:59:04 -04:00