another absolutely massive diff
* Disabled keyboard handler for focus management, the club got better at this
* Input history redone entirely, the code contains comments
* Completion now takes cursor position into account
* Dropped autoremoval of service messages in favour of future manual deletion
* Tons of typechecking cleanup and style improvements
* The code now has zero errors on the strictest TS settings I know
[lots of internal change]
I'm determined to clean this mess up after all.
Instead of a total rewrite (which didn't work), I'll migrate the
code to JSDoc piece by piece. This is the first piece, setting up
some basic framework and testing out this and that.
Until I figure out how test this thing, I'll just ask peeps to import
the module from testing branch I guess.
Probably not gonna deal with anything new until I can turn "strict" on.