simvx.editor.ide_bridge

IDE Bridge Plugin – integrates simvx.ide features into the editor’s CodeEditorPanel.

No panel swapping: the editor already has a CodeEditorPanel from core. The bridge injects IDE capabilities (LSP, diagnostics, breakpoints, completions) and adds IDE-only panels (Terminal, Output, Problems, Search).

If simvx.ide is not installed, this module raises ImportError at import time, which EditorShell catches gracefully.

Module Contents

Classes

IDEBridgePlugin

Bridges EditorState <-> IDEState when simvx.ide is installed.

Data

log

API

simvx.editor.ide_bridge.log

‘getLogger(…)’

class simvx.editor.ide_bridge.IDEBridgePlugin(editor_state: simvx.editor.state.EditorState, bottom_tabs: simvx.core.ui.tabs.TabContainer, code_panel: simvx.core.ui.code_editor_panel.CodeEditorPanel | None = None)

Bridges EditorState <-> IDEState when simvx.ide is installed.

Instead of swapping panels, injects IDE callbacks into the editor’s existing CodeEditorPanel and adds IDE-only bottom panels.

Lifecycle::

bridge = IDEBridgePlugin(editor_state, bottom_tabs, code_panel)
bridge.activate()      # wire signals, inject callbacks, start LSP
bridge.poll(dt)        # call each frame
bridge.deactivate()    # cleanup

Initialization

property ide_state: simvx.ide.IDEState
property ide_config: simvx.ide.IDEConfig
activate()

Wire signals, inject IDE callbacks, start LSP and lint runner.

deactivate()

Disconnect signals, remove panels, stop LSP.

poll(dt: float)

Per-frame update – poll LSP client for messages.