mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
.. [no ci]
This commit is contained in:
parent
1e0a73c4a6
commit
5df3504cf4
2 changed files with 6 additions and 6 deletions
|
|
@ -156,9 +156,9 @@ impl Executor {
|
||||||
let prev = exec.named.contains_key("previous");
|
let prev = exec.named.contains_key("previous");
|
||||||
let case = match (exec.named.contains_key("smart"), exec.named.contains_key("insensitive"))
|
let case = match (exec.named.contains_key("smart"), exec.named.contains_key("insensitive"))
|
||||||
{
|
{
|
||||||
(false, false) => FinderCase::Sensitive,
|
(true, _) => FinderCase::Smart,
|
||||||
(false, true) => FinderCase::Insensitive,
|
(_, false) => FinderCase::Sensitive,
|
||||||
(true, _) => FinderCase::Smart, // prioritize smart over insensitive
|
(_, true) => FinderCase::Insensitive,
|
||||||
};
|
};
|
||||||
cx.manager.active_mut().find(query, prev, case)
|
cx.manager.active_mut().find(query, prev, case)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,9 @@ use crate::files::Files;
|
||||||
|
|
||||||
#[derive(PartialEq, Eq)]
|
#[derive(PartialEq, Eq)]
|
||||||
pub enum FinderCase {
|
pub enum FinderCase {
|
||||||
|
Smart,
|
||||||
Sensitive,
|
Sensitive,
|
||||||
Insensitive,
|
Insensitive,
|
||||||
Smart,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Finder {
|
pub struct Finder {
|
||||||
|
|
@ -22,12 +22,12 @@ pub struct Finder {
|
||||||
impl Finder {
|
impl Finder {
|
||||||
pub(super) fn new(s: &str, case: FinderCase) -> Result<Self> {
|
pub(super) fn new(s: &str, case: FinderCase) -> Result<Self> {
|
||||||
let query = match case {
|
let query = match case {
|
||||||
FinderCase::Sensitive => Regex::new(s)?,
|
|
||||||
FinderCase::Insensitive => RegexBuilder::new(s).case_insensitive(true).build()?,
|
|
||||||
FinderCase::Smart => {
|
FinderCase::Smart => {
|
||||||
let uppercase = s.chars().any(|c| c.is_uppercase());
|
let uppercase = s.chars().any(|c| c.is_uppercase());
|
||||||
RegexBuilder::new(s).case_insensitive(!uppercase).build()?
|
RegexBuilder::new(s).case_insensitive(!uppercase).build()?
|
||||||
}
|
}
|
||||||
|
FinderCase::Sensitive => Regex::new(s)?,
|
||||||
|
FinderCase::Insensitive => RegexBuilder::new(s).case_insensitive(true).build()?,
|
||||||
};
|
};
|
||||||
Ok(Self { query, matched: Default::default(), version: 0 })
|
Ok(Self { query, matched: Default::default(), version: 0 })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue