LSP integration controller – server lifecycle, document sync, and response handling.
Module Contents
Classes
LSPController
|
Manages the LSP client lifecycle and document synchronisation. |
API
-
simvx.ide.lsp_controller.log[source]
‘getLogger(…)’
-
class simvx.ide.lsp_controller.LSPController(ide: simvx.ide.app.IDERoot)[source]
Manages the LSP client lifecycle and document synchronisation.
Also handles lint runner startup and format/lint-on-save hooks.
Initialization
-
property state
-
property config
-
start_lsp()[source]
-
start_lint_runner()[source]
-
on_lsp_ready()[source]
Called when LSP server completes initialization.
-
on_lsp_stopped()[source]
Called when LSP server shuts down.
-
lsp_notify_open(path: str)[source]
Notify LSP server when a file is opened.
-
lsp_notify_close(path: str)[source]
Notify LSP server when a file is closed.
-
lsp_notify_save(path: str)[source]
Notify LSP server when a file is saved.
-
lsp_request_completion(path: str, line: int, col: int)[source]
Request code completion from LSP server.
-
apply_rename_edits(file_edits: dict[str, list[tuple[int, int, int, int, str]]])[source]
Apply rename edits across files. Opens files not yet open.
-
apply_formatting_edits(path: str, edits: list[tuple[int, int, int, int, str]])[source]
Apply LSP formatting edits to the active editor.
-
on_references_received(locations: list)[source]
Show references in the search/output panel.
-
on_hover_received(text: str, line: int, col: int)[source]
Show LSP hover info as a tooltip on the active editor.
-
on_toggle_lsp()[source]
Enable/disable LSP.
-
on_restart_lsp()[source]
Stop and restart the LSP server.
-
on_format_requested(path: str)[source]
-
on_file_opened_lint(path: str)[source]
-
on_file_saved_signal(path: str)[source]
-
on_lint_file()[source]
Manually lint the current file.
-
on_toggle_linting()[source]
Enable/disable automatic linting.