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[source]

‘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)[source]

Language Server Protocol client communicating via ProcessNode stdin/stdout.

Initialization

start()[source]
stop()[source]
poll()[source]

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

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