mirror of
https://github.com/sharkdp/bat.git
synced 2025-10-22 19:53:52 +01:00
committed by
Louis Maddox
parent
20db989fb1
commit
52a792d46f
@@ -4,6 +4,8 @@
|
||||
|
||||
## Bugfixes
|
||||
|
||||
- Fix negative values of N not being parsed in <N:M> line ranges without `=` flag value separator, see #3442 (@lmmx)
|
||||
|
||||
## Other
|
||||
|
||||
## Syntaxes
|
||||
|
@@ -194,6 +194,7 @@ Options:
|
||||
'--line-range :40' prints lines 1 to 40
|
||||
'--line-range 40:' prints lines 40 to the end of the file
|
||||
'--line-range 40' only prints line 40
|
||||
'--line-range -10:' prints the last 10 lines
|
||||
'--line-range 30:+10' prints lines 30 to 40
|
||||
'--line-range 35::5' prints lines 30 to 40 (line 35 with 5 lines of context)
|
||||
'--line-range 30:40:2' prints lines 28 to 42 (range 30-40 with 2 lines of context)
|
||||
|
@@ -519,6 +519,7 @@ pub fn build_app(interactive_output: bool) -> Command {
|
||||
.short('r')
|
||||
.action(ArgAction::Append)
|
||||
.value_name("N:M")
|
||||
.allow_hyphen_values(true)
|
||||
.help("Only print the lines from N to M.")
|
||||
.long_help(
|
||||
"Only print the specified range of lines for each file. \
|
||||
@@ -527,6 +528,7 @@ pub fn build_app(interactive_output: bool) -> Command {
|
||||
'--line-range :40' prints lines 1 to 40\n \
|
||||
'--line-range 40:' prints lines 40 to the end of the file\n \
|
||||
'--line-range 40' only prints line 40\n \
|
||||
'--line-range -10:' prints the last 10 lines\n \
|
||||
'--line-range 30:+10' prints lines 30 to 40\n \
|
||||
'--line-range 35::5' prints lines 30 to 40 (line 35 with 5 lines of context)\n \
|
||||
'--line-range 30:40:2' prints lines 28 to 42 (range 30-40 with 2 lines of context)",
|
||||
|
@@ -207,7 +207,7 @@ fn line_range_from_back_last_two() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn line_range_from_back_last_two_single_line() {
|
||||
fn line_range_from_back_last_two_single_line_eq_sep() {
|
||||
bat()
|
||||
.arg("single-line.txt")
|
||||
.arg("--line-range=-2:")
|
||||
@@ -216,6 +216,17 @@ fn line_range_from_back_last_two_single_line() {
|
||||
.stdout("Single Line");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn line_range_from_back_last_two_single_line_no_sep() {
|
||||
bat()
|
||||
.arg("single-line.txt")
|
||||
.arg("--line-range")
|
||||
.arg("-2:")
|
||||
.assert()
|
||||
.success()
|
||||
.stdout("Single Line");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn line_range_first_two() {
|
||||
bat()
|
||||
|
Reference in New Issue
Block a user