Broad coverage
Completion, navigation, hierarchy, formatting, rename, links, diagnostics, and semantic tokens.
γ Cygni · language intelligence
A pure Ruby LSP client for server lifecycle, document synchronization, diagnostics, semantic tokens, navigation, and workspace edits.
Sadr validates what crosses the client boundary and leaves buffers, text storage, and interface policy with the host application.
Completion, navigation, hierarchy, formatting, rename, links, diagnostics, and semantic tokens.
Convert byte offsets and UTF-16 positions through any caller-owned compatible text index.
Cancellable futures, strict response validation, lifecycle control, and automatic server recovery.
Open a document and request language intelligence with ordinary Ruby objects.
$ bundle add sadr
client = Sadr::Client.new(
command: ["ruby-lsp"]
)
client.start
client.open(document)
client.completion(document.uri, position).await