mirror of
https://github.com/sharkdp/bat.git
synced 2025-09-22 21:22:27 +01:00
Only leave space for git diff markers if any line is modified (#3406)
Previously, setting `--style=changes` would always print a 2-space indent, even if the file was unmodified. This changes the style to only print an indent if there is at least one +/- git marker in the sidebar.
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
- Send all bat errors to stderr by default, see #3336 (@JerryImMouse)
|
- Send all bat errors to stderr by default, see #3336 (@JerryImMouse)
|
||||||
- Make --map-syntax target case insensitive to match --language, see #3206 (@keith-hall)
|
- Make --map-syntax target case insensitive to match --language, see #3206 (@keith-hall)
|
||||||
- Correctly determine the end of the line in UTF16LE/BE input #3369 (@keith-hall)
|
- Correctly determine the end of the line in UTF16LE/BE input #3369 (@keith-hall)
|
||||||
|
- `--style=changes` no longer prints a two-space indent when the file is unmodified, see issue #2710 and PR #3406 (@jyn514)
|
||||||
|
|
||||||
## Other
|
## Other
|
||||||
|
|
||||||
|
@@ -227,7 +227,9 @@ impl<'a> InteractivePrinter<'a> {
|
|||||||
|
|
||||||
#[cfg(feature = "git")]
|
#[cfg(feature = "git")]
|
||||||
{
|
{
|
||||||
if config.style_components.changes() {
|
if config.style_components.changes()
|
||||||
|
&& line_changes.as_ref().is_some_and(|c| !c.is_empty())
|
||||||
|
{
|
||||||
decorations.push(Box::new(LineChangesDecoration::new(&colors)));
|
decorations.push(Box::new(LineChangesDecoration::new(&colors)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1854,11 +1854,11 @@ fn header_default() {
|
|||||||
.success()
|
.success()
|
||||||
.stdout(
|
.stdout(
|
||||||
"\
|
"\
|
||||||
───────┬────────────────────────────────────────────────────────────────────────
|
─────┬──────────────────────────────────────────────────────────────────────────
|
||||||
│ File: single-line.txt
|
│ File: single-line.txt
|
||||||
───────┼────────────────────────────────────────────────────────────────────────
|
─────┼──────────────────────────────────────────────────────────────────────────
|
||||||
1 │ Single Line
|
1 │ Single Line
|
||||||
───────┴────────────────────────────────────────────────────────────────────────
|
─────┴──────────────────────────────────────────────────────────────────────────
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.stderr("");
|
.stderr("");
|
||||||
@@ -1878,16 +1878,31 @@ fn header_default_is_default() {
|
|||||||
.success()
|
.success()
|
||||||
.stdout(
|
.stdout(
|
||||||
"\
|
"\
|
||||||
───────┬────────────────────────────────────────────────────────────────────────
|
─────┬──────────────────────────────────────────────────────────────────────────
|
||||||
│ File: single-line.txt
|
│ File: single-line.txt
|
||||||
───────┼────────────────────────────────────────────────────────────────────────
|
─────┼──────────────────────────────────────────────────────────────────────────
|
||||||
1 │ Single Line
|
1 │ Single Line
|
||||||
───────┴────────────────────────────────────────────────────────────────────────
|
─────┴──────────────────────────────────────────────────────────────────────────
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.stderr("");
|
.stderr("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(feature = "git")] // Expected output assumes git is enabled
|
||||||
|
// Make sure indent isn't printed if there's no changes
|
||||||
|
fn header_and_changes_only() {
|
||||||
|
bat()
|
||||||
|
.arg("--style=header-filename,changes")
|
||||||
|
.arg("--decorations=always")
|
||||||
|
.arg("--color=never")
|
||||||
|
.arg("single-line.txt")
|
||||||
|
.assert()
|
||||||
|
.success()
|
||||||
|
.stdout("File: single-line.txt\nSingle Line\n")
|
||||||
|
.stderr("");
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn filename_stdin() {
|
fn filename_stdin() {
|
||||||
bat()
|
bat()
|
||||||
@@ -2282,12 +2297,12 @@ fn grid_for_file_without_newline() {
|
|||||||
.success()
|
.success()
|
||||||
.stdout(
|
.stdout(
|
||||||
"\
|
"\
|
||||||
───────┬────────────────────────────────────────────────────────────────────────
|
─────┬──────────────────────────────────────────────────────────────────────────
|
||||||
│ File: single-line.txt
|
│ File: single-line.txt
|
||||||
│ Size: 11 B
|
│ Size: 11 B
|
||||||
───────┼────────────────────────────────────────────────────────────────────────
|
─────┼──────────────────────────────────────────────────────────────────────────
|
||||||
1 │ Single Line
|
1 │ Single Line
|
||||||
───────┴────────────────────────────────────────────────────────────────────────
|
─────┴──────────────────────────────────────────────────────────────────────────
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.stderr("");
|
.stderr("");
|
||||||
|
Reference in New Issue
Block a user