lapce_rpc/
source_control.rs1use 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}