on master help sign in
Make less version check accept a path to the less binary
025c5c0Ethan P
src/less.rs+3−2
@@ -1,9 +1,10 @@
1#![cfg(feature = "paging")]
1#![cfg(feature = "paging")]
2
2
3+use std::ffi::OsStr;
3use std::process::Command;
4use std::process::Command;
4
5
5−pub fn retrieve_less_version() -> Option<usize> {
6+pub fn retrieve_less_version(less_path: &dyn AsRef<OsStr>) -> Option<usize> {
6− let cmd = Command::new("less").arg("--version").output().ok()?;
7+ let cmd = Command::new(less_path).arg("--version").output().ok()?;
7 parse_less_version(&cmd.stdout)
8 parse_less_version(&cmd.stdout)
8}
9}
9
10
src/output.rs+2−2
@@ -63,7 +63,7 @@ impl OutputType {
63 return Err(ErrorKind::InvalidPagerValueBat.into());
63 return Err(ErrorKind::InvalidPagerValueBat.into());
64 }
64 }
65
65
66− let mut p = Command::new(pager.bin);
66+ let mut p = Command::new(&pager.bin);
67 let args = pager.args;
67 let args = pager.args;
68
68
69 if pager.kind == PagerKind::Less {
69 if pager.kind == PagerKind::Less {
@@ -92,7 +92,7 @@ impl OutputType {
92 //
92 //
93 // For newer versions (530 or 558 on Windows), we omit '--no-init' as it
93 // For newer versions (530 or 558 on Windows), we omit '--no-init' as it
94 // is not needed anymore.
94 // is not needed anymore.
95− match retrieve_less_version() {
95+ match retrieve_less_version(&pager.bin) {
96 None => {
96 None => {
97 p.arg("--no-init");
97 p.arg("--no-init");
98 }
98 }