Refactor controller architecture and multi-insert state

- Rename ControllerContext to ControllerMessageBus for clarity
- Switch ControllerBase to use SingletonRaised
- Replace MarkEventsMixin with MarkerManager for multi-cursor editing
- Add populate_popup event support for source view context menus
- Remove unused swap file events
- Moved JSON prettify feature to plugin
- Fix event name: "removed_file" -> "remove_file"
This commit is contained in:
2026-02-28 01:10:28 -06:00
parent b724d41f6c
commit 1447a68fb0
28 changed files with 561 additions and 395 deletions

View File

@@ -8,6 +8,13 @@ from ..dto.base_event import BaseEvent
class EmitDispatcher:
"""
EmitDispatcher is used for allowing controllers to pass/hook in
their message system to children that need to signal events.
Note how we are not handling return info from the 'message' methods
whereas a controller would or could do so.
"""
def __init__(self):
super(EmitDispatcher, self).__init__()