summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamed Abdelnour <mohamed.k.abdelnour@gmail.com>2021-05-22 12:13:02 +0200
committerDavid Peter <sharkdp@users.noreply.github.com>2021-05-27 12:05:07 +0200
commitaa74d199400b5f711545a96c9b3e229dd3993176 (patch)
tree8e45f0a538f4a023f62f97f12dc38f2655055820
parentcf7d9ef962de909f3215a3b942e69b70b3293884 (diff)
Refactor "Use `matches` macro"
-rw-r--r--src/pager.rs21
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![];