diff options
author | Dan Davison <dandavison7@gmail.com> | 2021-06-08 08:53:03 -0400 |
---|---|---|
committer | Dan Davison <dandavison7@gmail.com> | 2021-06-08 08:53:03 -0400 |
commit | bf277caa65bfee3dc51fdcfd3866c5c6afb3a560 (patch) | |
tree | 0349548e3330f2d58c311e698e808d040e58f5c5 | |
parent | a0904c7dd6d57454804188da4b9905c9404f76fb (diff) |
Defer clone of config.pagerpbzweihander-configable-pager-str
-rw-r--r-- | src/bat_utils/output.rs | 5 | ||||
-rw-r--r-- | src/main.rs | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/bat_utils/output.rs b/src/bat_utils/output.rs index 1166b4e2..43d3bf8f 100644 --- a/src/bat_utils/output.rs +++ b/src/bat_utils/output.rs @@ -29,7 +29,7 @@ pub enum OutputType { impl OutputType { pub fn from_mode( mode: PagingMode, - pager: Option<String>, + pager: Option<&str>, config: &config::Config, ) -> Result<Self> { use self::PagingMode::*; @@ -43,7 +43,7 @@ impl OutputType { /// Try to launch the pager. Fall back to stdout in case of errors. fn try_pager( quit_if_one_screen: bool, - pager_from_config: Option<String>, + pager_from_config: Option<&str>, config: &config::Config, ) -> Result<Self> { let mut replace_arguments_to_less = false; @@ -71,6 +71,7 @@ impl OutputType { } let pager = pager_from_config + .map(|p| p.to_string()) .or(pager_from_env) .unwrap_or_else(|| String::from("less")); diff --git a/src/main.rs b/src/main.rs index d6ed0aa2..bb032705 100644 --- a/src/main.rs +++ b/src/main.rs @@ -83,7 +83,7 @@ fn run_app() -> std::io::Result<i32> { } let mut output_type = - OutputType::from_mode(config.paging_mode, config.pager.clone(), &config).unwrap(); + OutputType::from_mode(config.paging_mode, config.pager.as_deref(), &config).unwrap(); let mut writer = output_type.handle().unwrap(); if atty::is(atty::Stream::Stdin) { |