Skip to main content

clankerdiff_protocol/shared/
document.rs

1use clankerdiff_core::{DiffDocument, DiffScope, FileDiff, RepoPath};
2use serde::{Deserialize, Serialize};
3use std::sync::Arc;
4
5#[derive(Debug, Clone, PartialEq, Eq)]
6pub struct DiffSnapshot {
7    pub scope: DiffScope,
8    pub document: Arc<DiffDocument>,
9}
10
11#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
12pub enum FileEntry {
13    Unchanged(RepoPath),
14    Changed(Arc<FileDiff>),
15}
16
17#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
18pub struct DocumentUpdate {
19    pub scope: DiffScope,
20    pub repo_root: String,
21    pub files: Vec<FileEntry>,
22}