feat(editor): introduce split pane manager plugin and refactor source view system

* address TODO item for split_pane_manager plugin and bound keys
* add split_pane_manager plugin with create/close split view commands
* move sibling focus/move commands from core into plugin system
* remove legacy toggle_source_view plugin
* redesign EditorsContainer to use simpler Box-based layout
* refactor source view API to return (scrolled_window, source_view)
* add source view lifecycle events (create/remove/removed)
* rename GetNewCommandSystemEvent → CreateCommandSystemEvent
* update CommandsController to support command system creation and cleanup
* ensure command systems are removed with their source views
* improve focus border handling across sibling chains
* update telescope integration for new source view structure
* clean up container imports and initialization logic
* remove old keybindings and align with new split pane workflow
This commit is contained in:
2026-04-04 21:33:09 -05:00
parent 5911f37449
commit 69e766dc28
32 changed files with 344 additions and 165 deletions

View File

@@ -7,6 +7,8 @@ from .code_event import CodeEvent
from .toggle_plugins_ui_event import TogglePluginsUiEvent
from .create_source_view_event import CreateSourceViewEvent
from .created_source_view_event import CreatedSourceViewEvent
from .remove_source_view_event import RemoveSourceViewEvent
from .removed_source_view_event import RemovedSourceViewEvent
from .register_completer_event import RegisterCompleterEvent
from .unregister_completer_event import UnregisterCompleterEvent
from .register_provider_event import RegisterProviderEvent
@@ -21,7 +23,7 @@ from .filter_out_loaded_files_event import FilterOutLoadedFilesEvent
from .get_active_view_event import GetActiveViewEvent
from .get_source_views_event import GetSourceViewsEvent
from .get_new_command_system_event import GetNewCommandSystemEvent
from .create_command_system_event import CreateCommandSystemEvent
from .request_completion_event import RequestCompletionEvent
from .cursor_moved_event import CursorMovedEvent
from .modified_changed_event import ModifiedChangedEvent

View File

@@ -9,5 +9,5 @@ from .code_event import CodeEvent
@dataclass
class GetNewCommandSystemEvent(CodeEvent):
class CreateCommandSystemEvent(CodeEvent):
...

View File

@@ -0,0 +1,14 @@
# Python imports
from dataclasses import dataclass
# Lib imports
# Application imports
from .code_event import CodeEvent
from libs.dto.states.source_view_states import SourceViewStates
@dataclass
class RemoveSourceViewEvent(CodeEvent):
...

View File

@@ -0,0 +1,14 @@
# Python imports
from dataclasses import dataclass
# Lib imports
# Application imports
from .code_event import CodeEvent
from libs.dto.states.source_view_states import SourceViewStates
@dataclass
class RemovedSourceViewEvent(CodeEvent):
...