lapce_rpc/
source_control.rs

1use std::path::PathBuf;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
6pub struct DiffInfo {
7    pub head: String,
8    pub branches: Vec<String>,
9    pub diffs: Vec<FileDiff>,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
13pub enum FileDiff {
14    Modified(PathBuf),
15    Added(PathBuf),
16    Deleted(PathBuf),
17    Renamed(PathBuf, PathBuf),
18}
19
20impl FileDiff {
21    pub fn path(&self) -> &PathBuf {
22        match &self {
23            FileDiff::Modified(p)
24            | FileDiff::Added(p)
25            | FileDiff::Deleted(p)
26            | FileDiff::Renamed(_, p) => p,
27        }
28    }
29}