Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'helix-vcs/src/status.rs')
-rw-r--r--helix-vcs/src/status.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/helix-vcs/src/status.rs b/helix-vcs/src/status.rs
new file mode 100644
index 00000000..f3433490
--- /dev/null
+++ b/helix-vcs/src/status.rs
@@ -0,0 +1,32 @@
+use std::path::{Path, PathBuf};
+
+pub enum FileChange {
+ Untracked {
+ path: PathBuf,
+ },
+ Modified {
+ path: PathBuf,
+ },
+ Conflict {
+ path: PathBuf,
+ },
+ Deleted {
+ path: PathBuf,
+ },
+ Renamed {
+ from_path: PathBuf,
+ to_path: PathBuf,
+ },
+}
+
+impl FileChange {
+ pub fn path(&self) -> &Path {
+ match self {
+ Self::Untracked { path } => path,
+ Self::Modified { path } => path,
+ Self::Conflict { path } => path,
+ Self::Deleted { path } => path,
+ Self::Renamed { to_path, .. } => to_path,
+ }
+ }
+}