yazi_shared/strand/
kind.rs1use crate::{path::PathKind, scheme::SchemeKind};
2
3#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd)]
4pub enum StrandKind {
5 Utf8 = 0,
6 Os = 1,
7 Bytes = 2,
8}
9
10impl From<PathKind> for StrandKind {
11 fn from(value: PathKind) -> Self {
12 match value {
13 PathKind::Os => Self::Os,
14 PathKind::Unix => Self::Bytes,
15 }
16 }
17}
18
19impl From<SchemeKind> for StrandKind {
20 fn from(value: SchemeKind) -> Self {
21 match value {
22 SchemeKind::Regular => Self::Os,
23 SchemeKind::Search => Self::Os,
24 SchemeKind::Archive => Self::Os,
25 SchemeKind::Sftp => Self::Bytes,
26 }
27 }
28}