mirror of
https://github.com/sharkdp/bat.git
synced 2025-02-02 10:59:15 +01:00
Merge pull request #1440 from Enselic/fix-1438-newline-can-be-added-even-if-style-plain
Don't add artificial newline to last line if --style=plain
This commit is contained in:
commit
cc7b89faf8
@ -5,7 +5,8 @@
|
||||
|
||||
## Bugfixes
|
||||
|
||||
- only print themes hint in interactive mode (`bat --list-themes`), see #1439 (@rsteube)
|
||||
- If the last line doesn't end with a newline character, don't add it if `--style=plain`, see #1438 (@Enselic)
|
||||
- Only print themes hint in interactive mode (`bat --list-themes`), see #1439 (@rsteube)
|
||||
- Make ./tests/syntax-tests/regression_test.sh work on recent versions of macOS, see #1443 (@Enselic)
|
||||
|
||||
## Other
|
||||
|
@ -72,7 +72,7 @@ pub fn replace_nonprintable(input: &[u8], tab_width: usize) -> String {
|
||||
}
|
||||
}
|
||||
// line feed
|
||||
'\x0A' => output.push('␊'),
|
||||
'\x0A' => output.push_str("␊\x0A"),
|
||||
// carriage return
|
||||
'\x0D' => output.push('␍'),
|
||||
// null
|
||||
|
@ -91,9 +91,6 @@ impl<'a> Printer for SimplePrinter<'a> {
|
||||
if self.config.show_nonprintable {
|
||||
let line = replace_nonprintable(line_buffer, self.config.tab_width);
|
||||
write!(handle, "{}", line)?;
|
||||
if line_buffer.last() == Some(&b'\n') {
|
||||
writeln!(handle)?;
|
||||
}
|
||||
} else {
|
||||
handle.write_all(line_buffer)?
|
||||
};
|
||||
@ -463,7 +460,7 @@ impl<'a> Printer for InteractivePrinter<'a> {
|
||||
}
|
||||
}
|
||||
|
||||
if line.bytes().next_back() != Some(b'\n') {
|
||||
if !self.config.style_components.plain() && line.bytes().next_back() != Some(b'\n') {
|
||||
writeln!(handle)?;
|
||||
}
|
||||
} else {
|
||||
|
@ -813,3 +813,17 @@ fn show_all_mode() {
|
||||
.stdout("hello·world␊\n├──┤␍␀␇␈␛")
|
||||
.stderr("");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn plain_mode_does_not_add_nonexisting_newline() {
|
||||
bat()
|
||||
.arg("--paging=never")
|
||||
.arg("--color=never")
|
||||
.arg("--decorations=always")
|
||||
.arg("--style=plain")
|
||||
.arg("single-line.txt")
|
||||
.assert()
|
||||
.success()
|
||||
.stdout("Single Line");
|
||||
}
|
||||
|
||||
|
@ -175,4 +175,4 @@
|
||||
[38;2;117;113;94m\u{ad}[0m[38;2;249;38;114m␊[0m
|
||||
[38;2;117;113;94m\u{ae}[0m[38;2;249;38;114m␊[0m
|
||||
[38;2;249;38;114m␊[0m
|
||||
[38;2;248;248;242mHere's[0m[38;2;102;217;239m·[0m[38;2;248;248;242ma[0m[38;2;102;217;239m·[0m[38;2;248;248;242mline[0m[38;2;102;217;239m·[0m[38;2;248;248;242mwith[0m[38;2;102;217;239m·[0m[38;2;248;248;242mmultiple[0m[38;2;102;217;239m·[0m[38;2;248;248;242mcharacters.[0m
|
||||
[38;2;248;248;242mHere's[0m[38;2;102;217;239m·[0m[38;2;248;248;242ma[0m[38;2;102;217;239m·[0m[38;2;248;248;242mline[0m[38;2;102;217;239m·[0m[38;2;248;248;242mwith[0m[38;2;102;217;239m·[0m[38;2;248;248;242mmultiple[0m[38;2;102;217;239m·[0m[38;2;248;248;242mcharacters.[0m[38;2;249;38;114m␊[0m
|
||||
|
@ -72,4 +72,4 @@ package TestSyntax {
|
||||
var sndChannel:SoundChannel = mySound.play();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -56,4 +56,4 @@ set LDLIBS= ^
|
||||
@set "LINK_FILES=%LINK_FILES% %%~f"
|
||||
)
|
||||
|
||||
lld-link.exe %LINK_FILES% -out:"%OUTPUT%" %LDFLAGS% %LDLIBS%
|
||||
lld-link.exe %LINK_FILES% -out:"%OUTPUT%" %LDFLAGS% %LDLIBS%
|
||||
|
@ -55,4 +55,4 @@
|
||||
(println (factorial 5))
|
||||
(log)
|
||||
(log "Message"))
|
||||
|
||||
|
||||
|
@ -16,4 +16,4 @@ EXPOSE 80/tcp
|
||||
|
||||
VOLUME [/var/lib/mysql/data]
|
||||
|
||||
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
|
||||
ENTRYPOINT ["/usr/bin/entrypoint.sh"]
|
||||
|
@ -13,4 +13,4 @@
|
||||
*.patch -text
|
||||
|
||||
.gitattributes linguist-language=gitattributes
|
||||
.gitkeep export-ignore
|
||||
.gitkeep export-ignore
|
||||
|
@ -104,4 +104,4 @@
|
||||
[user]
|
||||
email = f.nord@example.com
|
||||
name = Frank Nord
|
||||
signingkey = AAAAAAAAAAAAAAAA
|
||||
signingkey = AAAAAAAAAAAAAAAA
|
||||
|
@ -5,4 +5,4 @@
|
||||
192.160.0.200 try.sample.test try #another comment
|
||||
216.58.223.238 google.com
|
||||
|
||||
::1 localhost.try ip6-localhost
|
||||
::1 localhost.try ip6-localhost
|
||||
|
@ -382,4 +382,4 @@ install: all
|
||||
@ln -sf $(REDIS_SERVER_NAME) $(INSTALL_BIN)/$(REDIS_SENTINEL_NAME)
|
||||
|
||||
uninstall:
|
||||
rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME)}
|
||||
rm -f $(INSTALL_BIN)/{$(REDIS_SERVER_NAME),$(REDIS_BENCHMARK_NAME),$(REDIS_CLI_NAME),$(REDIS_CHECK_RDB_NAME),$(REDIS_CHECK_AOF_NAME),$(REDIS_SENTINEL_NAME)}
|
||||
|
@ -108,4 +108,4 @@ $doe->setName('John Doe');
|
||||
|
||||
$ending = 2 > 3 ? "yep" : "nah";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
Binary file not shown.
Binary file not shown.
@ -5,4 +5,4 @@ pywheels>=12.4 #a whitespace followed by comments
|
||||
Nuitka<0.6.8.4
|
||||
wxPython>=1.0, <=2.1
|
||||
|
||||
#this is another comment
|
||||
#this is another comment
|
||||
|
@ -31,4 +31,4 @@ emails:
|
||||
- bob@example.com
|
||||
- bill@example.com
|
||||
supervisors:
|
||||
- george@example.com
|
||||
- george@example.com
|
||||
|
@ -317,4 +317,4 @@ blank lines before and after.)
|
||||
..
|
||||
|
||||
So this block is not "lost",
|
||||
despite its indentation.
|
||||
despite its indentation.
|
||||
|
Loading…
Reference in New Issue
Block a user