As of right now 4coder 4.0.22 is up on the itch.io page. You can get the free version on Windows, Linux or Mac. And for the first time ever you can buy the full version which includes this and all future 4.0.X builds in one purchase.
The new build also features renderer improvements to help speedup rendering, remove some rendering bugs, and speed up the process of tracking down remaining rendering bugs. And there is now room in the system for alternate renderers, further broadening the extent to which I will be able to bring 4coder to more places.
With my first big goal for the month achieved, I am now moving on to tightening up lots of 4coder systems. I will be working on handling read only files, handling errors when files fail to save. Then I will be working on the performance and "correctness" of 4coder child process launching and output capturing (where correctness means being more similar to a command line). I plan to get the font system working with system fonts by the next build, eliminating the fonts folder hack that has stuck around for way too long.
In addition to those changes there is the next phase of productivity acceleration. All month I am doing productivity acceleration streams where I work on something that will allow me to maintain some part of 4coder more rapidly than before. Last week I made a "new project" command so that I can setup new projects, especially small experiments, very quickly without having to write the build scripts and project.4coder file by hand. I have already used it as I was experimenting with reading output from a child process!
In my next one or two streams I will focus on a problem I have when I am shipping new 4coder builds, which is updating the default keybinding page. I auto-generate the site's documentation, but the keybindings are very lengthy too, and I am stuck trying to maintain that by hand. Auto-generating that will require me to have metadata about the built in commands. Having that meta data would also allow me to create a built in list of available commands and helpful information at runtime. So my next stream or two will involve building in metadata to each command, parsing it out, and using it to auto-generate the bindings page. I might even have time to stream building in the command list help.
I haven't picked times for streams yet, but I will try to tweet 12 hours in advance for them.
That's it for this week's goals.
See you around everyone!