1pub mod buffer;
2pub mod core;
3pub mod counter;
4pub mod file;
5mod parse;
6pub mod plugin;
7pub mod proxy;
8pub mod source_control;
9pub mod stdio;
10pub mod style;
11pub mod terminal;
12
13pub use parse::{Call, RequestId, RpcObject};
14use serde::{Deserialize, Serialize};
15pub use stdio::stdio_transport;
16
17#[derive(Debug)]
18pub enum RpcMessage<Req, Notif, Resp> {
19 Request(RequestId, Req),
20 Response(RequestId, Resp),
21 Notification(Notif),
22 Error(RequestId, RpcError),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
26pub struct RpcError {
27 pub code: i64,
28 pub message: String,
29}