GokuRakuJoudo icon indicating copy to clipboard operation
GokuRakuJoudo copied to clipboard

feat: allow using ⇧symbols instead of R

Open eugenesvk opened this issue 1 year ago • 1 comments

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 like osascript, 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

eugenesvk avatar Mar 23 '23 21:03 eugenesvk

This is dramatically easier to read and write than the letter system, I hope it will be merged.

ChristinWhite avatar Mar 30 '23 03:03 ChristinWhite