November Summary
Bold is a fast text editor. A public beta is coming soon.
This month was focused on text and text rendering. At the start of the month, I connected the LSP code to the open-file command, which allows the editor to receive semantic tokens for each file. Diagnostics (the warnings and errors you get while typing) was implemented too, but that wasn't the focus for this month so there's no UI for it.
Immediately after the LSP code, I wrote syntax highlighting. LSPs generally expect the editor to handle simple things, such as keywords, strings, and comments. This wasn't too hard, but it takes work to mix the syntax highlights and the LSP semantic tokens together. LSP servers don't just give you the tokens; they give you a legend required to decode the tokens. The legend can be dynamically generated, so you can't assume anything, and may contain things not part of the official spec. There's a lot more to handle in the future (stale data, files modified outside of the editor, etc), but this is a good start.
Next, creating a config file so people can create/customize themes. I wrote code to watch files/folders, so when a user modifies the theme file, Bold will update the themes immediately. I took a little time to make the light and dark themes look good (pictured below), but I don't know if anyone likes what I came up with.
Finally, I wrote code to move the caret. There were a lot of todos related to caret position, so I went ahead and implemented those.
Here's how it looks at the moment. Obviously, the UI is far from done.