It looks like the next build of 4coder (4.0.29) is going to be ready sometime in the next few weeks. The new build has been in development for a couple months and is loaded to the brim with new features that have all gone through interesting architectural and algorithmic design that I believe are worth sharing for several reasons. One it will prepare 4coder users who want to start writing customizations for how to think about the new features. Two it will help anyone who likes to think about the processes of architecture and algorithm design with ...

It looks like the next build of 4coder (4.0.29) is going to be ready sometime in the next few weeks. The new build has been in development for a couple months and is loaded to the brim with new features that have all gone through interesting architectural and algorithmic design that I believe are worth sharing for several reasons. One it will prepare 4coder users who want to start writing customizations for how to think about the new features. Two it will help anyone who likes to think about the processes of architecture and algorithm design with ...

It looks like the next build of 4coder (4.0.29) is going to be ready sometime in the next few weeks. The new build has been in development for a couple months and is loaded to the brim with new features that have all gone through interesting architectural and algorithmic design that I believe are worth sharing for several reasons. One it will prepare 4coder users who want to start writing customizations for how to think about the new features. Two it will help anyone who likes to think about the processes of architecture and algorithm design with ...

Hello everyone! In lieu of a 4coder Friday this week I am going to explain the direction of the Lister API and how it has surprisingly affected some of my long term plans for 4coder.

The Original Lister API Plan

When I first set out to create a Lister API the idea was to just provide a short term hack that would hold over users who want to customize the file lists in 4coder, and who want to create similar lists for other commands. I assumed it would be temporary because I want 4coder's customization layer to expose more ...

After yesterday's 4coder Friday stream I was trying to come up with a list of things I should do next, and I decided that the next thing to do was the listing API, but since that could be a four to six week endeavor I thought I should get all my recent tweaks out first. So I just published 4.0.28 which you can get here.

Next I'm on to exposing that listing UI to the custom API and implementing all the cool stuff I can think of with that feature.

With this build, my first step of the 4.0.X retirement schedule is complete!

The majority of the new features were already working a week ago, so I got to spend some good time using them, and I'm very happy with this build. The new project system in particular has simplified my workflow even more than the old project system. This build also moves several more options to the config file, specifically font size, and control over the scroll bar and file bar. Until now these were all controlled by command line parameters, or hard coded ...

I've been a bit quiet on the blog here as my life has been in a state of constant change since January. I did some 4coder Friday streams in February and March in which I established a testing system for 4coder - something it has desperately needed for about a year. I didn't do much besides respond to questions and bug reports in April, but I did have time to think over exactly how I want the next few steps forward to look. So here's what I am thinking will come next for 4coder:

Just a quick announcement that a new 4coder build has just gone live. 4.0.26 is the first new build in 2018 and the beginning of the 4.0.X retirement plan. This build fixes a lot of the bugs that have been reported since the end of 4coder November, which was the last time I made a major push.

With this build done I will now begin executing the schedule I laid out in my previous post.

When I shut down my Patreon creator page it hides the posts I have made on the site. So this is an archive of my Patreon shutdown post.

*****************

Aloha everyone!

I have been looking for the right word(s) to shutdown my Patreon for a few days now. For anyone who doesn't already know, Patreon is changing their fee schedule and they are shifting more costs onto backers, and they are doing all of this with only one way to opt out: get off the platform. And, well, I am opting out.

I just published 4.0.24 on itch.io, check out the devlog for info on what the new build includes.

In this post I want to outline my decision about what to do with one more week of 4coder November. Looking through my original todo list, and my updated todo list, there are a lot of possible candidates. A list of the many things I could pick from this week:

Query bars that accept commands, such as paste, just like regular buffers

As should be expected I got a lot of bug reports on the new Mac build, and the platform reorganization also effected Windows and Linux and I got some bug reports for that too. I've now released a build that should fix all the bug reports I got on 4.0.22, except for the request for full Mac keyboard support, which looks like it's going on the long term todo list.

With bug fixes out of the way, I am now moving on to the things I said I was moving on to when I ...

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 ...

First things first, this entire blog post was written in 4coder on a Mac! It was the first dog fooding I did for the new Mac version of 4coder. If you are reading this, then the first test must have gone pretty well!

Here on the first full week of 4coder November, I am writing, for you, a full-detail list of the things I am working on this month. If your #1 feature request or issue is not on this list let me know, I don't want to forget anything big! Also I won't necessarily get ...

Hey there everyone! This post is only a 4coder progress update in the sense that it features some code samples from recently written parts of the 4coder engine update "4.1.X".

This is more of a technical write up for discussion purposes. I have a neat thought about "abstractions" which we discuss a lot in the Handmade community, and to explain it I'd like to talk about the abstractions I have found useful in 4coder, and the abstractions that hurt more than they helped.

For a while now I've been thinking things over, and I've decided to embrace a new direction for 4coder.

To anyone using 4coder, don't worry I am not about to leave you without an editor. This is actually not really a big change for users, because the project has been naturally pushing in this direction for a while. I just haven't officially embraced and announced the change until now.

Basically what I've come to realize is that the original vision of code intelligence that I set out to experiment with has fallen away. There are ...

It seems that it has been a while since there was a 4coder update, but there has been plenty of progress.

Lots of the progress has gone into the new buffer handling engine which is not yet at a point where it does something you can see, but that will change soon. I would estimate that it will be past half way done by this time next month, which is a slightly slower pace than I originally hoped, but it still has the new engine ready well before the end of 2017. Here and there I have also mentioned that ...

So I just got a new build out today (4.0.19) fixing some lingering problems with Unicode and the Lexer. As I explained last month, I'm starting work on a new buffer engine now, but it's going to be a little while before that is ready, so I'm splitting my 4coder time between that and small builds like this one. By the way, that new engine is not yet at a demonstration point, but I did have a break through on how to solve virtual whitespace + comments interactions, which has been puzzling me for a while ...

The newest version of 4coder, 4.0.18, will be the first to feature full unicode support. As of today I have all of the unicode features working that I want for the build. 4coder now translates UTF8 into codepoints, and the font system supports rendering all the codepoints provided by a font. I restructured the font system so that now users can drop .ttf files into the new font folder and 4coder will load them at launch. It looks like everything will be ready to ship in just a few days, once I finish doing a few ...

The term "4coder Friday" was first coined by Casey Muratori, back in late 2015/early 2016. That was about the time that Handmade Hero started making the transition to using 4coder and so occasionally a little bit of prestream time was dedicated to exploring the configuration. It wasn't every Friday, nor was it always on Fridays, but the term 4coder Friday was just so fun to say that it stuck.

In February of 2016 I switched to using 4coder full time, so that I could make sure it was prepared for Handmade Hero to ...

So it's been over two years since I started 4coder, and I don't think I properly slowed down and cleaned anything up at all during the 2016 portion. I can't even remember what 2015 4coder was like, but I figure I probably was even less disciplined back then. So for that reason the project I took up a while ago of carefully considering the organization of the code and the major systems is still going on. Since cleanup doesn't lend itself to new features I have also split my 4coder time between little features I can ...

This is a post to briefly describe the new 4coder project file feature in alpha 4.0.14.

The feature is meant to support the common situation where just having one build rule that is always in a "build.bat" or "build.sh" for the entire project is not always enough. Obviously anyone with access to the customisation layer has always been able to extend this, but the project file system creates some built in project configuration possibility. It also solves several other smaller issues, but we'll get to that in a minute.

Through November I have been building up an information site for 4coder and today I posted it at 4coder.net. I still need to fill in lots of the information which I will continue to do over the next few days. A lot of people have asked for different information pages including a features list, a road map, and tutorials, all of which will be going on the site. I will also be posting the 4coder API documentation there from now on. If there is any category of information you would like to have on 4coder that is missing let ...