jsona_lsp/lsp_ext/
notification.rs1use lsp_types::{notification::Notification, Url};
2use serde::{Deserialize, Serialize};
3
4pub enum MessageWithOutput {}
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(rename_all = "camelCase")]
8pub enum MessageKind {
9 Info,
10 Warn,
11 Error,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15#[serde(rename_all = "camelCase")]
16pub struct MessageWithOutputParams {
17 pub kind: MessageKind,
18 pub message: String,
19}
20
21impl Notification for MessageWithOutput {
22 type Params = MessageWithOutputParams;
23 const METHOD: &'static str = "jsona/messageWithOutput";
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(rename_all = "camelCase")]
28pub enum AssociationRule {
29 Glob(String),
30 Regex(String),
31 Url(Url),
32}
33
34pub enum InitializeWorkspace {}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct InitializeWorkspaceParams {
39 pub root_uri: Url,
40}
41
42impl Notification for InitializeWorkspace {
43 type Params = InitializeWorkspaceParams;
44 const METHOD: &'static str = "jsona/initializeWorkspace";
45}