Common/DTO/
WorkSpaceEditDTO.rs

1//! # WorkSpaceEditDTO
2//!
3//! Defines the Data Transfer Object for a workspace edit, which is a collection
4//! of changes to be applied across multiple files in the workspace.
5
6use serde::{Deserialize, Serialize};
7use serde_json::Value;
8
9/// A serializable struct representing a workspace edit, which is a batch of
10/// changes that can include text edits and file operations (create, delete,
11
12/// rename). This is analogous to `vscode.WorkspaceEdit`.
13#[derive(Serialize, Deserialize, Debug, Clone, Default)]
14#[serde(rename_all = "PascalCase")]
15pub struct WorkSpaceEditDTO {
16	/// A list of text edits to apply, grouped by resource URI.
17	/// The structure is `[ [uri_dto, [text_edit_dto, ...]], ... ]`
18	pub Edits:Vec<(Value, Vec<Value>)>,
19}