Better placement of bat detection
@@ -28,20 +28,21 @@ impl OutputType {
fn try_pager(quit_if_one_screen: bool, pager_from_config: Option<&str>) -> Result<Self> {
let pager_from_env = env::var("BAT_PAGER").or_else(|_| env::var("PAGER"));
- let mut pager = pager_from_config
+ let pager = pager_from_config
.map(|p| p.to_string())
.or(pager_from_env.ok())
.unwrap_or(String::from("less"));
- if pager == "bat" {
- pager = String::from("less");
- }
-
let pagerflags = shell_words::split(&pager)
.chain_err(|| "Could not parse (BAT_)PAGER environment variable.")?;
match pagerflags.split_first() {
- Some((pager_name, args)) => {
+ Some((initial_pager, args)) => {
+ let pager_name = match initial_pager.as_ref() {
+ "bat" => "less",
+ _ => initial_pager,
+ };
+
let pager_path = PathBuf::from(pager_name);
let is_less = pager_path.file_stem() == Some(&OsString::from("less"));
