ChimeHQ / Chime

An editor for macOS
https://www.chimehq.com
BSD 3-Clause "New" or "Revised" License
300 stars 14 forks source link

Line number integration #6

Closed mattmassicotte closed 8 months ago

mattmassicotte commented 9 months ago

Migrate over the line numbering system. This is taking me forever because I'm trying to open source more parts of it. First bit is here, but lots more needs to be done. This is also the first component that requires integration with the text mutation system, which is adding to the challenge.

https://github.com/ChimeHQ/RelativeCollections

mattmassicotte commented 9 months ago

Lots of core infrastructure was missing. I believe that DocumentContent is now accessible to any SwiftUI component. And I also came up with a crazy hack to extract it back out into a view controller.

This also establishes a new dependency on Neon, as it has a bunch of stuff needed for line number state tracking and invalidation.

mattmassicotte commented 8 months ago

Just merged a ton of work that incorporates:

still really terrible-looking, but now it kind of works

mattmassicotte commented 8 months ago

I think it’s safe to mark this particular bit of work as done. There’s a lot more line numbering work ahead, but so much infrastructure was put in place here.