February Summary
Bold is a fast text editor. For screenshots, check out November's summary
February was a productive month. First, the text editing was improved to track UTF-16 information so it can produce a DidChange event for LSPs. The main issue is LSP wants columns in UTF-16, despite the fact that this editor and most text files use UTF-8. Next, the code was tested on mac. That's been ignored for a long time, so there were a lot of little compile errors. There was some async code that needed to be implemented for osx. Some functions were using SIMD, so I ported most of them from AVX2 to NEON, which is what mac M series CPUs use. I'll likely implement AVX512 when it's widespread. Not all of it was ported since that portion of code (metadata related) isn't tested enough and isn't 'complete', so osx isn't completely building yet.
The second half of the month was mostly metadata. People may open a GB large text (or log) file and may want to paste 100+ MB of text into it. There's metadata code that handles how many lines a file has, how to jump between matching braces, if the line (or file) ends in an open string, etc. There's a lot of code involved so syntax highlighting and jumping to matching braces are accurate. LSPs may help with highlighting, but they don't solve matching braces. There were minor improvements to the keymap system, so internally, there's less boilerplate in implementing actions and the error handling is more consistent.