1#![doc = include_str!("../README.md")]
2
3pub use connection::{Transport, Connection, Server, ErrorCode};
4pub use sync_lsp_derive::type_provider;
5use serde::de::DeserializeOwned;
6use serde::Serialize;
7use workspace::execute_command::Command;
8use std::fmt::Debug;
9
10mod connection;
11mod lifecycle;
12pub mod text_document;
13pub mod window;
14pub mod workspace;
15
16pub trait TypeProvider: 'static {
25 type Command: Command;
26 type CodeLensData: Serialize + DeserializeOwned;
27 type CompletionData: Serialize + DeserializeOwned + Debug;
28 type Configuration: DeserializeOwned;
29 type InitializeOptions: DeserializeOwned;
30 type ShowMessageRequestData: Serialize + DeserializeOwned + Default;
31 type ApplyEditData: Serialize + DeserializeOwned + Default;
32}
33
34