Making an LSP for great good
Summary
A detailed guide on building a Language Server Protocol (LSP) for Pellucid using a query-based incremental compiler. It explains the architecture: query engine, red-green caching, and how LSP features like diagnostics, goto definitions, hover, references, and autocomplete are implemented via a pair of core queries: syntax_node_starting_at and ast_node_of. It also discusses practical implementation details and the Rust crates used.