GokuRakuJoudo
GokuRakuJoudo copied to clipboard
feat: allow using ⇧symbols instead of R
This PR adds a new great feature allowing using various ⇧symbols instead of R: see https://github.com/eugenesvk/GokuRakuJoudo/blob/symbol/KeySymbols.md for a brief overview or the linked issue
It works by prepending replacement functions that convert ⇧›
→!R
before calling the existing from/to parsers
- Adds generated symbol data tables (allows to easier add variants like
?
and﹖
, just add it in a list and the full table will be auto-regenerated) - Adds various symbol helper functions
- Adds a few tests of the new keys-symbols functions
- Adds ReadMe reference and a more detailed file with allowed key tables
- Allow using strings as keys (with a special
‘
symbol at the start to differentiate from regular strings likeosascript
, not sure if'
would work)
A few TODOs:
- exiting on syntax warnings is disabled, I don't know why joker is so strict and doesn't accept valid identifier symbols, and how to make it less strict (previously these were broken anyway, so I had variable names with special symbols, and there were no warnings shown, but I understand now why goku would sometimes hang forever if I added a few more vars like that)
Fixes a couple of bugs:
- Also found a weird bug that hanged the whole process on many warnings, and from https://github.com/babashka/process I understood that what you had with
@
proc deref was fine, but testing it turned out that no deref was the right way, not sure what's going on there - Another one was syntax warnings were just swallowed, only errors bubbled up since the process exited
Closes https://github.com/yqrashawn/GokuRakuJoudo/issues/205
This is dramatically easier to read and write than the letter system, I hope it will be merged.