aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-02-20 02:55:24 -0500
committerJesse Luehrs <doy@tozt.net>2018-02-20 03:30:54 -0500
commite8e8b5ebfb685138929a21446959a07fe2f38400 (patch)
tree9a165ed3fb44e3201efe8393be1f365e29c26a0e /src/vcs
parent844d6b09ff1e7ab4ddb4b15dcb04cd0e45c67ce1 (diff)
downloadfancy-prompt-e8e8b5ebfb685138929a21446959a07fe2f38400.tar.gz
fancy-prompt-e8e8b5ebfb685138929a21446959a07fe2f38400.zip
handle vcs coloring
Diffstat (limited to 'src/vcs')
-rw-r--r--src/vcs/mod.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/vcs/mod.rs b/src/vcs/mod.rs
index 02c2eb7..6b94a72 100644
--- a/src/vcs/mod.rs
+++ b/src/vcs/mod.rs
@@ -23,6 +23,17 @@ pub trait VcsInfo {
fn active_operation(&self) -> ActiveOperation;
fn branch(&self) -> Option<String>;
fn remote_branch_diff(&self) -> Option<(usize, usize)>;
+
+ fn is_dirty(&self) -> bool {
+ self.has_modified_files()
+ || self.has_staged_files()
+ || self.has_new_files()
+ || !self.remote_branch_diff().is_some()
+ }
+
+ fn is_error(&self) -> bool {
+ !self.has_commits()
+ }
}
pub fn detect() -> Option<Box<VcsInfo>> {