simvx.ide.lsp.protocol

LSP JSON-RPC message types and serialization.

Module Contents

Classes

Functions

API

simvx.ide.lsp.protocol.encode_message(obj: dict) bytes
simvx.ide.lsp.protocol.decode_header(data: bytes) tuple[int, int] | None

Parse Content-Length from data.

Returns (content_length, header_end_offset) where header_end_offset points one byte past the \r\n\r\n separator, or None if the header is incomplete.

simvx.ide.lsp.protocol.request(method: str, params: dict | list | None = None) tuple[int, dict]
simvx.ide.lsp.protocol.notification(method: str, params: dict | list | None = None) dict
simvx.ide.lsp.protocol.response(msg_id: int | str, result: object = None, error: dict | None = None) dict
simvx.ide.lsp.protocol.path_to_uri(path: str | pathlib.Path) str
simvx.ide.lsp.protocol.uri_to_path(uri: str) str
class simvx.ide.lsp.protocol.Position
line: int

0

character: int

0

to_dict() dict
classmethod from_dict(d: dict) simvx.ide.lsp.protocol.Position
class simvx.ide.lsp.protocol.Range
start: simvx.ide.lsp.protocol.Position

‘field(…)’

end: simvx.ide.lsp.protocol.Position

‘field(…)’

to_dict() dict
classmethod from_dict(d: dict) simvx.ide.lsp.protocol.Range
class simvx.ide.lsp.protocol.Diagnostic
range: simvx.ide.lsp.protocol.Range

‘field(…)’

severity: int

1

message: str = <Multiline-String>
source: str = <Multiline-String>
code: str = <Multiline-String>
classmethod from_dict(d: dict) simvx.ide.lsp.protocol.Diagnostic
class simvx.ide.lsp.protocol.Location
uri: str = <Multiline-String>
range: simvx.ide.lsp.protocol.Range

‘field(…)’

classmethod from_dict(d: dict) simvx.ide.lsp.protocol.Location
property path: str
class simvx.ide.lsp.protocol.Hover
contents: str = <Multiline-String>
range: simvx.ide.lsp.protocol.Range | None

None

classmethod from_dict(d: dict) simvx.ide.lsp.protocol.Hover