summaryrefslogtreecommitdiffstats
path: root/src/modules/git_status.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/git_status.rs')
-rw-r--r--src/modules/git_status.rs29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/modules/git_status.rs b/src/modules/git_status.rs
index eaacbb5ec..b8dd655ad 100644
--- a/src/modules/git_status.rs
+++ b/src/modules/git_status.rs
@@ -256,7 +256,7 @@ impl RepoStatus {
fn is_modified(status: &str) -> bool {
// is_wt_modified
- status.starts_with("1 .M")
+ status.starts_with("1 .M") || status.starts_with("1 .A")
}
fn is_staged(status: &str) -> bool {
@@ -634,6 +634,21 @@ mod tests {
}
#[test]
+ fn shows_added() -> io::Result<()> {
+ let repo_dir = fixture_repo(FixtureProvider::Git)?;
+
+ create_added(&repo_dir.path())?;
+
+ let actual = ModuleRenderer::new("git_status")
+ .path(&repo_dir.path())
+ .collect();
+ let expected = format_output("!");
+
+ assert_eq!(expected, actual);
+ repo_dir.close()
+ }
+
+ #[test]
fn shows_staged_file() -> io::Result<()> {
let repo_dir = fixture_repo(FixtureProvider::Git)?;
@@ -870,6 +885,18 @@ mod tests {
Ok(())
}
+ fn create_added(repo_dir: &Path) -> io::Result<()> {
+ File::create(repo_dir.join("license"))?.sync_all()?;
+
+ Command::new("git")
+ .args(&["add", "-A", "-N"])
+ .current_dir(repo_dir)
+ .output()?;
+ barrier();
+
+ Ok(())
+ }
+
fn create_modified(repo_dir: &Path) -> io::Result<()> {
File::create(repo_dir.join("readme.md"))?.sync_all()?;