Make -pp override --paging and vice versa when passed as a later argument. (#2660)

This commit is contained in:
J-Kappes 2023-09-14 03:45:46 +00:00 committed by GitHub
parent fe73010a5e
commit e2bf85e749
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 0 deletions

View File

@ -79,6 +79,7 @@ pub fn build_app(interactive_output: bool) -> Command {
Arg::new("plain")
.overrides_with("plain")
.overrides_with("number")
.overrides_with("paging")
.short('p')
.long("plain")
.action(ArgAction::Count)
@ -303,6 +304,7 @@ pub fn build_app(interactive_output: bool) -> Command {
.long("paging")
.overrides_with("paging")
.overrides_with("no-paging")
.overrides_with("plain")
.value_name("when")
.value_parser(["auto", "never", "always"])
.default_value("auto")

View File

@ -873,6 +873,42 @@ fn disable_pager_if_disable_paging_flag_comes_after_paging() {
.stdout(predicate::eq("hello world\n").normalize());
}
#[test]
fn disable_pager_if_pp_flag_comes_after_paging() {
bat()
.env("PAGER", "echo pager-output")
.arg("--paging=always")
.arg("-pp")
.arg("test.txt")
.assert()
.success()
.stdout(predicate::eq("hello world\n").normalize());
}
#[test]
fn enable_pager_if_disable_paging_flag_comes_before_paging() {
bat()
.env("PAGER", "echo pager-output")
.arg("-P")
.arg("--paging=always")
.arg("test.txt")
.assert()
.success()
.stdout(predicate::eq("pager-output\n").normalize());
}
#[test]
fn enable_pager_if_pp_flag_comes_before_paging() {
bat()
.env("PAGER", "echo pager-output")
.arg("-pp")
.arg("--paging=always")
.arg("test.txt")
.assert()
.success()
.stdout(predicate::eq("pager-output\n").normalize());
}
#[test]
fn pager_failed_to_parse() {
bat()