-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Functional editing #27
Comments
Step one, get IBeam functional. |
Making lots of good progress here, but still have a ways to go |
I think IBeam is now functional enough that I can start looking at incorporating it and TextFormation together |
I have now have a proof-of-concept with multiple cursors and a heavily-modified version of TextFormation applying per-cursor typing completions. It's actually coming along! I think I also have enough infrastructure to support whitespace calculation, which is extremely complex. However, I had to turn off the TextMetrics and mutation distribution systems, both of which are vital. |
Lots of progress. Slowed down substantially because of bugs in Glyph and Neon, making it difficult to determine if editing is actually working or not. But the up side is I’m finding and fixing a lot of bugs. |
Actual real work has been done. It was not easy, but I have figured out the (known) bugs in Neon. Highlighting is now way more reliable and honestly just better in general, but especially with TextKit2-based views. The editor can now edit and save, and includes a tiny amount of typing completions from TextFormation. However, its new API is still very tentative, and that matters a great deal for the existing implementation. Cursor movement is still quite poor, largely because of TextKit 2 bugs in Glyph. However, I don't want to fall back to TextKit 1 quite yet, because I still think there is value in trying to push this along further. Also, I've now actually begun the process of factoring out the common stuff into a standalone editor view, called SourceView. This will be a long-term project, because the editor within Chime is fantastically complex and is not just one single view instance. Anyways, all that said, the feature/editor branch is now actually usable and something that could be looked at if really desired. |
I've continued to run into significant issues with Glyph and TextKit 2, but I'm working my way through them. That library is becoming much more functional. Cursor movement was pretty messed up before but it is now working well enough to feel normal. Still have to put more effort into TextFormation. |
Something's wrong with how re-highlighting is working on editing. But I've never really done true editing before so not very surprising. |
Discovered a very serious bug in how SwiftTreeSitter handles sublayer invalidation and reparsing. That's fixed, and now, at an extremely superficial level, text is being re-styled on edits. I suspect many more bugs lurk... |
The system can display text ok, but actual editing is in a horrible state. I think the latest Neon update also broke the TextMetrics system too.
Time to start sorting this all out.
The text was updated successfully, but these errors were encountered: