clankerdiff-protocol 0.3.3

Versioned subprocess and live session protocols for Clankerdiff
Documentation
use clankerdiff_core::{DiffDocument, DiffScope, FileDiff, RepoPath};
use serde::{Deserialize, Serialize};
use std::sync::Arc;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DiffSnapshot {
    pub scope: DiffScope,
    pub document: Arc<DiffDocument>,
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub enum FileEntry {
    Unchanged(RepoPath),
    Changed(Arc<FileDiff>),
}

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct DocumentUpdate {
    pub scope: DiffScope,
    pub repo_root: String,
    pub files: Vec<FileEntry>,
}