I haven’t had as much time the last couple of weeks, but I did make important progress. As of right now, pushed to the completion branches of github, I have a working prototype of the new command stuff. The important difference from last time is that completion information for root commands and their arguments is working and the same infrastructure is being used to validate and dispatch commands. The caveat being that only one command has been changed to use it, rel-set-cursor which allows scrolling.
I also pushed an actual verified fix for the daemon problem I thought I may have fixed last time. I haven’t seen the daemon fail since.
What’s Next
The curses interface is almost ready to be pushed into the master git branch. The only thing remaining is mechanically changing each remaining command to use the new system. It won’t be too bad to get the interface usable, but there are a lot of commands and a lot of argument types and it’s going to be rather rote.
After that, there’s a lot of logical cleanup stuff, although some of that is going to come up in the command refactoring.
Finally, some of the more minor features, like config snippet and taking a critical look at the plugin and hooks that are built in to the codebase. This will have to include the documentation I never wrote for plugins (omg!).
The daemon, including the fix patch, is okay until further notice. The only thing I can think that might be necessary, would be minor additions to the protocol to, say, advertise premade transforms to provide nice completions for those commands.
Oh yeah, and soon I’ll bump the versions to 0.9.0 =).