diff options
author | Mohamed Abdelnour <mohamed.k.abdelnour@gmail.com> | 2021-05-22 12:13:02 +0200 |
---|---|---|
committer | David Peter <sharkdp@users.noreply.github.com> | 2021-05-27 12:05:07 +0200 |
commit | aa74d199400b5f711545a96c9b3e229dd3993176 (patch) | |
tree | 8e45f0a538f4a023f62f97f12dc38f2655055820 | |
parent | cf7d9ef962de909f3215a3b942e69b70b3293884 (diff) |
Refactor "Use `matches` macro"
-rw-r--r-- | src/pager.rs | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/pager.rs b/src/pager.rs index 3bd294ad..3473aa67 100644 --- a/src/pager.rs +++ b/src/pager.rs @@ -98,21 +98,18 @@ pub(crate) fn get_pager(config_pager: Option<&str>) -> Result<Option<Pager>, Par Some((bin, args)) => { let kind = PagerKind::from_bin(bin); - // Is false if the given expression does not match any of the - // patterns; this ensures 'less' is never silently used if BAT_PAGER - // or --pager has been specified. - let use_less_instead = matches!( - (&source, &kind), + let use_less_instead = if source == PagerSource::EnvVarPager { // 'more' and 'most' do not supports colors; automatically use // 'less' instead if the problematic pager came from the - // generic PAGER env var - (PagerSource::EnvVarPager, PagerKind::More) - | (PagerSource::EnvVarPager, PagerKind::Most) - + // generic PAGER env var. // If PAGER=bat, silently use 'less' instead to prevent - // recursion ... - | (PagerSource::EnvVarPager, PagerKind::Bat) - ); + // recursion. + // Never silently use 'less' if BAT_PAGER or --pager has been + // specified. + matches!(kind, PagerKind::More | PagerKind::Most | PagerKind::Bat) + } else { + false + }; Ok(Some(if use_less_instead { let no_args = vec![]; |