perl_lsp_protocol/lib.rs
1//! JSON-RPC protocol types, error handling, and capabilities for perl-lsp.
2//!
3//! This crate isolates protocol types from the LSP runtime so they can be
4//! shared across binaries and provider layers. Key modules:
5//!
6//! - `jsonrpc` — Core JSON-RPC 2.0 request, response, and error message types
7//! - `errors` — Standard and LSP-specific JSON-RPC error codes and builders
8//! - [`methods`] — LSP 3.17 method name constants for request/notification routing
9//! - [`capabilities`] — Server capability configuration advertised during `initialize`
10
11#![deny(unsafe_code)]
12#![deny(clippy::print_stderr, clippy::print_stdout)]
13#![cfg_attr(test, allow(clippy::print_stderr, clippy::print_stdout))]
14#![warn(missing_docs)]
15
16pub mod capabilities;
17mod errors;
18mod jsonrpc;
19pub mod methods;
20
21pub use errors::*;
22pub use jsonrpc::*;