Tuesday, August 29, 2023

Chime Text Editor Now Open Source

Chime:

The code in this repo should be considered Non-Functional right now. You can download the currently released version.

Chime used to be commercial, but is now free. It built up some pretty significant cruft over time. In particular, the core UI application architecture is just in a bad state. It is also quite complex to build. So, I've opted to re-implement that core and pull in parts as appropriate. I'll be putting an emphasis on extracting components into packages as I go. A fitting rebirth, I would say.

There are also some interesting libraries, such as Rearrange:

Rearrange is a collection of utilities for making it easier to work with NSRange and NSTextRange. It’s particularly handy when used with the Cocoa text system.

[…]

[RangeMutation] is a struct that encapsulates a single change to an NSRange. It’s useful for serializing, queuing, or otherwise storing changes and applying them.

You can also use this class to tranform individual points or other NSRanges. This is handy for updating a set of stored NSRanges as text is changed. This might seem easy, but there are a large number of edge cases that RangeMutation handles, including mutations that invalidate (for example completely delete) a range.

See also: CotEditor.

Previously:

Comments RSS · Twitter · Mastodon

Leave a Comment