Plugins will need to react to events such as insertion, deletion, cursor movement, etc.
Similarly, things like a jumplist would need to remember cursor position after any jump and/or text insert action.
There are definitely a lot more of those things.
We should discuss a general event-system for these things, allowing us to modularize out any non-core components by having them simply register event-listeners and work in the background. Most, if not all things that rely on this can probably be expressed as plugins!
Update: Event system has been discussed a good bit now. However, more detailed discussions on what events should exist and how the API should look still need to take place.
Plugins will need to react to events such as insertion, deletion, cursor movement, etc. Similarly, things like a jumplist would need to remember cursor position after any jump and/or text insert action. There are definitely a lot more of those things. We should discuss a general event-system for these things, allowing us to modularize out any non-core components by having them simply register event-listeners and work in the background. Most, if not all things that rely on this can probably be expressed as plugins!