aboutsummaryrefslogtreecommitdiffstats
path: root/src/prompt.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2023-03-26 01:07:59 -0400
committerJesse Luehrs <doy@tozt.net>2023-03-26 01:07:59 -0400
commit3abb883aafeb06e358a7b4cbc03d54b83e1fd445 (patch)
treeb305166ff3c19da837e92cf92058bf9f4c72000e /src/prompt.rs
parent2c4bc6762db661011f4d13a858dae8f8dd72fcc2 (diff)
downloadfancy-prompt-3abb883aafeb06e358a7b4cbc03d54b83e1fd445.tar.gz
fancy-prompt-3abb883aafeb06e358a7b4cbc03d54b83e1fd445.zip
handle alternate default branches
Diffstat (limited to 'src/prompt.rs')
-rw-r--r--src/prompt.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/prompt.rs b/src/prompt.rs
index 6c95c0e..f319a96 100644
--- a/src/prompt.rs
+++ b/src/prompt.rs
@@ -299,7 +299,7 @@ fn format_vcs(vcs_info: Option<&dyn vcs::VcsInfo>) -> Option<String> {
let branch = vcs_info
.branch()
.map(|branch| {
- if branch == "master" {
+ if Some(branch.clone()) == vcs_info.default_branch() {
String::new()
} else {
branch
@@ -456,6 +456,7 @@ mod test {
active_operation: vcs::ActiveOperation,
branch: Option<String>,
remote_branch_diff: Option<(usize, usize)>,
+ default_branch: Option<String>,
}
impl vcs::VcsInfo for TestVcs {
@@ -483,6 +484,9 @@ mod test {
fn remote_branch_diff(&self) -> Option<(usize, usize)> {
self.remote_branch_diff
}
+ fn default_branch(&self) -> Option<String> {
+ self.default_branch
+ }
}
#[test]
@@ -605,6 +609,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("master")),
remote_branch_diff: Some((0, 0)),
+ default_branch: Some(String::from("master")),
};
assert_eq!(format_vcs(Some(&test_vcs)), Some(String::from("g")));
@@ -620,6 +625,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("dev")),
remote_branch_diff: Some((0, 0)),
+ default_branch: Some(String::from("master")),
};
assert_eq!(
@@ -638,6 +644,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("master")),
remote_branch_diff: None,
+ default_branch: Some(String::from("master")),
};
assert_eq!(
@@ -656,6 +663,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("dev")),
remote_branch_diff: None,
+ default_branch: Some(String::from("master")),
};
assert_eq!(
@@ -674,6 +682,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("master")),
remote_branch_diff: None,
+ default_branch: Some(String::from("master")),
};
assert_eq!(
@@ -692,6 +701,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("dev")),
remote_branch_diff: None,
+ default_branch: Some(String::from("master")),
};
assert_eq!(
@@ -710,6 +720,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: None,
remote_branch_diff: None,
+ default_branch: Some(String::from("master")),
};
assert_eq!(format_vcs(Some(&test_vcs)), Some(String::from("g!")));
@@ -725,6 +736,7 @@ mod test {
active_operation: vcs::ActiveOperation::None,
branch: Some(String::from("master")),
remote_branch_diff: Some((2, 3)),
+ default_branch: Some(String::from("master")),
};
assert_eq!(