From 7cac07d84559dc6eb02b643f7f640d81a7a4c07e Mon Sep 17 00:00:00 2001 From: sharkdp Date: Tue, 6 Nov 2018 19:53:32 +0100 Subject: [PATCH] issue #383: Handle cases like `PAGER=/usr/bin/bat` --- src/output.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/output.rs b/src/output.rs index 4a240a8a..26de8f21 100644 --- a/src/output.rs +++ b/src/output.rs @@ -37,16 +37,14 @@ impl OutputType { .chain_err(|| "Could not parse (BAT_)PAGER environment variable.")?; match pagerflags.split_first() { - Some((initial_pager, mut args)) => { - let pager_name; - if initial_pager == "bat" { - pager_name = "less"; + Some((pager_name, mut args)) => { + let mut pager_path = PathBuf::from(pager_name); + + if pager_path.file_stem() == Some(&OsString::from("bat")) { + pager_path = PathBuf::from("less"); args = &[]; - } else { - pager_name = initial_pager; } - let pager_path = PathBuf::from(pager_name); let is_less = pager_path.file_stem() == Some(&OsString::from("less")); let mut process = if is_less {