lsp_types/
workspace_folders.rs1use serde::{Deserialize, Serialize};
2
3use crate::{OneOf, Uri};
4
5#[derive(Debug, Eq, PartialEq, Clone, Default, Deserialize, Serialize)]
6#[serde(rename_all = "camelCase")]
7pub struct WorkspaceFoldersServerCapabilities {
8 #[serde(skip_serializing_if = "Option::is_none")]
10 pub supported: Option<bool>,
11
12 #[serde(skip_serializing_if = "Option::is_none")]
20 pub change_notifications: Option<OneOf<bool, String>>,
21}
22
23#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Clone, Deserialize, Serialize)]
24#[serde(rename_all = "camelCase")]
25pub struct WorkspaceFolder {
26 pub uri: Uri,
28 pub name: String,
30}
31
32#[derive(Debug, Eq, PartialEq, Clone, Default, Deserialize, Serialize)]
33#[serde(rename_all = "camelCase")]
34pub struct DidChangeWorkspaceFoldersParams {
35 pub event: WorkspaceFoldersChangeEvent,
37}
38
39#[derive(Debug, Eq, PartialEq, Clone, Default, Deserialize, Serialize)]
41#[serde(rename_all = "camelCase")]
42pub struct WorkspaceFoldersChangeEvent {
43 pub added: Vec<WorkspaceFolder>,
45
46 pub removed: Vec<WorkspaceFolder>,
48}