mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
37 lines
665 B
Rust
37 lines
665 B
Rust
use serde::Deserialize;
|
|
use yazi_fs::cha::Cha;
|
|
|
|
#[derive(Default, Deserialize)]
|
|
#[serde(rename_all = "kebab-case")]
|
|
pub enum Is {
|
|
#[default]
|
|
None,
|
|
Hidden,
|
|
Link,
|
|
Orphan,
|
|
Dummy,
|
|
Block,
|
|
Char,
|
|
Fifo,
|
|
Sock,
|
|
Exec,
|
|
Sticky,
|
|
}
|
|
|
|
impl Is {
|
|
pub fn check(&self, cha: &Cha) -> bool {
|
|
match self {
|
|
Self::None => true,
|
|
Self::Hidden => cha.is_hidden(),
|
|
Self::Link => cha.is_link(),
|
|
Self::Orphan => cha.is_orphan(),
|
|
Self::Dummy => cha.is_dummy(),
|
|
Self::Block => cha.is_block(),
|
|
Self::Char => cha.is_char(),
|
|
Self::Fifo => cha.is_fifo(),
|
|
Self::Sock => cha.is_sock(),
|
|
Self::Exec => cha.is_exec(),
|
|
Self::Sticky => cha.is_sticky(),
|
|
}
|
|
}
|
|
}
|