The month of November has passed, and the last of the 4coder progress has been published on Patreon (the itch.io release in a couple days).
So, considering my original todo list, where did I get? Here is a summary of my original todo list with plusses on the finished items:
- [+] Mac
- [+] Core platform features
- [+] Multiple built in mappings
- [+] Runtime mapping changes
- [ ] Behavior Cleanup
- [+] Properly configure OpenGL
- [+] Organize rendering layer and reduce redundant OpenGL calls
- [ ] Better behavior with saving read only files
- [ ] Better behavior with failure to save file
- [+] Delete and rename files, and make directories without switching away from 4coder
- [+] Loading system font
- [+] Compete font behavior
- [ ] Child process pipe reading more cleanly to more closely match terminal/console behavior
- [+] Various convenience commands and improvements on existing commands
- [ ] Undo/Redo
- [ ] Cleanup implementation of undo/redo
- [ ] Expose undo/redo to customization API
- [ ] Keywords
- [ ] Nicer keyword API
- [ ] Configure from text configuration in default 4coder
- [ ] Keyword groups with different colors
- [ ] New Command Maps
- [ ] Thin cursor/notepad/sublime like paradigm
- [ ] International command translation
- [+] Productivity Acceleration: various things to allow me to write code and maintain 4coder more easily
- [ ] Buffer Algorithms Upgrade
- [ ] API Upgrade
Which feels like reasonable progress to me.
A Few Notes
Getting the file saving stuff done is a pretty high priority because perforce users have run into it a lot, so that might get done before the next big 4coder month.
I also learned that pipes are working just fine. The reason the output doesn't match the terminal/console is because output buffering works very differently when it goes to a pipe than when it goes to the terminal/console. In order to get the effect I want I will have to go deeper than pipes and convince the child process that it is talking to a terminal/console. I decided I should put this issue off to a longer term goal.
And with that I am all done with 4coder November. Thanks to everyone for following along and sending notes and bug reports and feature requests!