simvx.ide.lsp.client

Full LSP client using ProcessNode for subprocess management.

Module Contents

Classes

LSPClient

Language Server Protocol client communicating via ProcessNode stdin/stdout.

Data

log

API

simvx.ide.lsp.client.log

‘getLogger(…)’

class simvx.ide.lsp.client.LSPClient(state: simvx.ide.state.IDEState, command: str = 'pylsp', args: list[str] | None = None, env: dict[str, str] | None = None)

Language Server Protocol client communicating via ProcessNode stdin/stdout.

Initialization

start()
stop()
poll()

Must be called each frame to drive ProcessNode I/O.

notify_open(path: str, text: str, language_id: str = 'python')
notify_close(path: str)
notify_save(path: str, text: str | None = None)
notify_change(path: str, text: str, version: int | None = None)
request_completion(path: str, line: int, col: int)
request_definition(path: str, line: int, col: int)
request_hover(path: str, line: int, col: int)
request_references(path: str, line: int, col: int)
request_rename(path: str, line: int, col: int, new_name: str)
request_formatting(path: str, tab_size: int = 4, insert_spaces: bool = True)