summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Holloway <holloway.p.r@gmail.com>2021-05-20 21:16:41 +0100
committerGitHub <noreply@github.com>2021-05-20 16:16:41 -0400
commitfeb89ac4387524c7ab571065cec7a190d1917f16 (patch)
tree4f1ad24f310811ed1f38664bfbb40233dd0a082b
parent1bf8479bb19be230b61a11ba3f74d7341ffd6914 (diff)
Only read major version when parsing less version (#606)
For versions of less that include a point version (eg 581.2), parsing the whole version 'word' as a usize fails and causes '--no-init' to be added to less arguments. This prevents less using the alternate screen and mouse scrolling. Fixes #582
-rw-r--r--src/bat_utils/less.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/bat_utils/less.rs b/src/bat_utils/less.rs
index f7429333..79ecd43b 100644
--- a/src/bat_utils/less.rs
+++ b/src/bat_utils/less.rs
@@ -8,7 +8,7 @@ pub fn retrieve_less_version() -> Option<usize> {
fn parse_less_version(output: &[u8]) -> Option<usize> {
if output.starts_with(b"less ") {
let version = std::str::from_utf8(&output[5..]).ok()?;
- let end = version.find(' ')?;
+ let end = version.find(|c: char| !c.is_ascii_digit())?;
version[..end].parse::<usize>().ok()
} else {
None